Ip field from _cat/nodes shows loopback for one host in cluster?

_cat/nodes?v gives me the results below. Can someone tell me why 05 is showing the loopback IP? That is NOT the host I am running curl on, it does this from any box!

host                              ip          heap.percent ram.percent load node.role master name
dev-logstash02.aws.company.com 192.168.29.208           85          49 4.89 d         *      dev-logstash02 
dev-logstash05.aws.company.com 127.0.1.1                63          58 1.47 d         -      dev-logstash05
dev-logstash03.aws.company.com 192.168.29.45            85          48 0.54 d         m      dev-logstash03 
dev-logstash04.aws.company.com 192.168.28.75            70          46 1.03 d         -      dev-logstash04 
dev-logstash01.aws.company.com 192.168.29.152           21          54 1.74 d         -      dev-logstash01 

This is on ES 1.4.5 on AWS linux

I have exactly the same problem, using the official elasticsearch puppet module:

node opselasticsearch1 {
include default_classes
include limits::elasticsearch
$init_hash = {
        'ES_HEAP_SIZE' => '4g',
        }
class { 'elasticsearch':
        init_defaults => $init_hash,
        datadir => '/elasticsearch_index_store_1',
        config => {
                'cluster.name' => 'operational-monitoring-1',
                'http.port' => '9200',
                'transport.tcp.port' => '9300',
                'network.bind_host' => [ 'localhost', '10.100.112.210' ],
                'network.publish_host' => '10.100.112.210',
                'bootstrap.mlockall' => 'true'
                };
        }
elasticsearch::instance { 'es-01':
        config => { 'node.name' => 'opselasticsearch1-es-01', 'node.master' => 'false' }
        }
}

node opselasticsearch2 {
include default_classes
include limits::elasticsearch
$init_hash = {
        'ES_HEAP_SIZE' => '7g',
        }
class { 'elasticsearch':
        init_defaults => $init_hash,
        datadir => '/elasticsearch_index_store_1',
        config => {
                'cluster.name' => 'operational-monitoring-1',
                'http.port' => '9200',
                'transport.tcp.port' => '9300',
                'network.bind_host' => [ 'localhost', '10.100.112.211' ],
                'network.publish_host' => '10.100.112.211',
                'bootstrap.mlockall' => 'true'
                };
        }
elasticsearch::instance { 'es-01':
        config => { 'node.name' => 'opselasticsearch2-es-01' }
        }
}

node opselasticsearch3 {
include default_classes
include limits::elasticsearch
$init_hash = {
        'ES_HEAP_SIZE' => '15g',
        }
class { 'elasticsearch':
        init_defaults => $init_hash,
        datadir => '/elasticsearch_index_store_1',
        config => {
                'cluster.name' => 'operational-monitoring-1',
                'http.port' => '9200',
                'transport.tcp.port' => '9300',
                'network.bind_host' => [ 'localhost', '10.100.112.212' ],
                'network.publish_host' => '10.100.112.212',
                'bootstrap.mlockall' => 'true'
                };
        }
elasticsearch::instance { 'es-01':
        config => { 'node.name' => 'opselasticsearch3-es-01', 'node.data' => 'false' }
        }
}

Adding the nodes into /etc/hosts appears to have resolved the issue for me.