summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Walker (Daviey) <Dave.Walker@canonical.com>2012-02-29 13:48:56 +0000
committerDave Walker (Daviey) <Dave.Walker@canonical.com>2012-02-29 20:45:23 +0000
commit42a0d3a4b0e7228a28675fc6a6315654914f8c10 (patch)
treea99da5b0144dba4fc1acffcb0327dcc4bac4ce8c
parent99233ace206a2c74bfccebc5739e1553c4adcefe (diff)
downloadnova-42a0d3a4b0e7228a28675fc6a6315654914f8c10.tar.gz
Option expose IP instead of dnshost in ec2 desc'
As documented in bug 901594, previous nova releases, the IP address was exposed as the DNS hostname, which worked well with euca-tools. This is unfortunately not always ideal for private clouds. Whilst it is expected to be able to euca-describe-instances --ipv4 in newer euca2ools releases, this behaviour is not always desired. This patchset allows the nova admin to set a global flag of: --ec2_private_dns_show_ip=True, to restore legacy nova behaviour. This does not change the current default behaviour of nova. Change-Id: I7c71ffe63929d90d45d9c724ab3409dcdee52b44
-rw-r--r--.mailmap1
-rw-r--r--Authors2
-rw-r--r--nova/api/ec2/__init__.py4
-rw-r--r--nova/api/ec2/cloud.py5
4 files changed, 10 insertions, 2 deletions
diff --git a/.mailmap b/.mailmap
index 5807e0eebe..468fe89df2 100644
--- a/.mailmap
+++ b/.mailmap
@@ -18,6 +18,7 @@
<corywright@gmail.com> <cory.wright@rackspace.com>
<dan@nicira.com> <danwent@dan-xs3-cs>
<dan@nicira.com> <danwent@gmail.com>
+<Dave.Walker@canonical.com> <DaveWalker@ubuntu.com>
<derekh@redhat.com> <higginsd@gmail.com>
<devin.carlen@gmail.com> <devcamcar@illian.local>
<dprince@redhat.com> <dan.prince@rackspace.com>
diff --git a/Authors b/Authors
index 06416bf4bc..54a3cbfa79 100644
--- a/Authors
+++ b/Authors
@@ -40,7 +40,7 @@ Dan Prince <dprince@redhat.com>
Dan Wendlandt <dan@nicira.com>
Daniel P. Berrange <berrange@redhat.com>
Dave Lapsley <dlapsley@nicira.com>
-Dave Walker <DaveWalker@ubuntu.com>
+Dave Walker <Dave.Walker@canonical.com>
David Pravec <David.Pravec@danix.org>
David Subiros <david.perez5@hp.com>
Dean Troyer <dtroyer@gmail.com>
diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py
index 87fea6b2cc..6566ab7a92 100644
--- a/nova/api/ec2/__init__.py
+++ b/nova/api/ec2/__init__.py
@@ -56,6 +56,10 @@ ec2_opts = [
cfg.StrOpt('keystone_ec2_url',
default='http://localhost:5000/v2.0/ec2tokens',
help='URL to get token from ec2 request.'),
+ cfg.BoolOpt('ec2_private_dns_show_ip',
+ default=False,
+ help='Return the IP address as private dns hostname in '
+ 'describe instances'),
]
FLAGS = flags.FLAGS
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 352ba02a5d..5240af0163 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -1148,7 +1148,10 @@ class CloudController(object):
floating_ip = ip_info['floating_ips'][0]
if ip_info['fixed_ip6s']:
i['dnsNameV6'] = ip_info['fixed_ip6s'][0]
- i['privateDnsName'] = instance['hostname']
+ if FLAGS.ec2_private_dns_show_ip:
+ i['privateDnsName'] = fixed_ip
+ else:
+ i['privateDnsName'] = instance['hostname']
i['privateIpAddress'] = fixed_ip
i['publicDnsName'] = floating_ip
i['ipAddress'] = floating_ip or fixed_ip