]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Add support for missing Instance attributes PrivateIp and PublicDnsName.
authorClint Byrum <clint@fewbar.com>
Tue, 18 Dec 2012 01:57:30 +0000 (17:57 -0800)
committerClint Byrum <clint@fewbar.com>
Tue, 18 Dec 2012 02:14:05 +0000 (18:14 -0800)
Change-Id: I9d85f00a8ca687ad791be4a9fa6708df3ad67a55
Fixes: bug #1091497
heat/engine/resources/instance.py
heat/tests/test_instance.py

index 9eac3b1bebcf28009b15ca7473de6f25f78d67f8..e2fc243600885e3ef71d947a9eb84e2a2be49d75 100644 (file)
@@ -142,14 +142,16 @@ class Instance(resource.Resource):
             res = self.properties['AvailabilityZone']
         elif key == 'PublicIp':
             res = self._ipaddress()
+        elif key == 'PrivateIp':
+            res = self._ipaddress()
+        elif key == 'PublicDnsName':
+            res = self._ipaddress()
         elif key == 'PrivateDnsName':
             res = self._ipaddress()
         else:
             raise exception.InvalidTemplateAttribute(resource=self.name,
                                                      key=key)
 
-        # TODO(asalkeld) PrivateDnsName, PublicDnsName & PrivateIp
-
         logger.info('%s.GetAtt(%s) == %s' % (self.name, key, res))
         return unicode(res)
 
index 603a85da082fd01bca8219016b72e2ee6d3e94c3..c4243b776941a834f855683220f3107453a80e31 100644 (file)
@@ -122,3 +122,14 @@ class instancesTest(unittest.TestCase):
         self.assertTrue(instance.resource_id is None)
         self.assertEqual(instance.state, instance.DELETE_COMPLETE)
         self.m.VerifyAll()
+
+        AZ = instance.FnGetAtt('AvailabilityZone')
+        self.assertEqual(AZ, 'nova')
+        private_ip = instance.FnGetAtt('PublicIp')
+        self.assertEqual(private_ip, '4.5.6.7')
+        private_ip = instance.FnGetAtt('PrivateIp')
+        self.assertEqual(private_ip, '4.5.6.7')
+        private_ip = instance.FnGetAtt('PrivateDnsName')
+        self.assertEqual(private_ip, '4.5.6.7')
+        private_ip = instance.FnGetAtt('PrivateDnsName')
+        self.assertEqual(private_ip, '4.5.6.7')