diff options
author | Harald Jensås <hjensas@redhat.com> | 2018-05-16 22:16:27 +0200 |
---|---|---|
committer | Harald Jensås <hjensas@redhat.com> | 2018-07-20 10:50:54 +0200 |
commit | 30d63c5b63211dbea5991f66a0d4086ec0488b0f (patch) | |
tree | 2c3348c95af31b6a6d7b17a2417023b573daea8d /heat/tests | |
parent | 42aab2095a71c1545733d71a1eb4be69802affa2 (diff) | |
download | heat-30d63c5b63211dbea5991f66a0d4086ec0488b0f.tar.gz |
OS::Nova::Server: Extend addresses attr to include network
This change adds 'network' to the addresses attribute of the
OS::Nova::Server resource. This enables resolving the
properties of the neutron network for the server resource.
Story: 1766946
Task: 19690
Change-Id: I5bef751982919103ecbefeee64bf0f2cbede0cd0
Diffstat (limited to 'heat/tests')
-rw-r--r-- | heat/tests/openstack/nova/test_server.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/heat/tests/openstack/nova/test_server.py b/heat/tests/openstack/nova/test_server.py index ce4de3235..2731d301c 100644 --- a/heat/tests/openstack/nova/test_server.py +++ b/heat/tests/openstack/nova/test_server.py @@ -253,6 +253,8 @@ class ServersTest(common.HeatTestCase): 'show_port') self.subnet_show = self.patchobject(neutronclient.Client, 'show_subnet') + self.network_show = self.patchobject(neutronclient.Client, + 'show_network') def _limits_absolute(self): max_personality = mock.Mock() @@ -441,6 +443,7 @@ class ServersTest(common.HeatTestCase): self.port_show.return_value = { 'port': {'id': '1234', + 'network_id': 'the_network', 'fixed_ips': [{ 'ip_address': '4.5.6.7', 'subnet_id': 'the_subnet'}] @@ -453,10 +456,20 @@ class ServersTest(common.HeatTestCase): 'allocation_pools': [{'start': '10.0.0.2', 'end': u'10.0.0.254'}], 'gateway_ip': '10.0.0.1', - 'id': 'the_subnet' + 'id': 'the_subnet', + 'network_id': 'the_network' + } + } + network_dict = { + 'network': { + 'name': 'network_name', + 'mtu': 1500, + 'subnets': [subnet_dict['subnet']['id']], + 'id': 'the_network' } } self.subnet_show.return_value = subnet_dict + self.network_show.return_value = network_dict public_ip = return_server.networks['public'][0] self.assertEqual('1234', @@ -475,6 +488,8 @@ class ServersTest(common.HeatTestCase): server.FnGetAtt('addresses')['private'][0]['addr']) self.assertEqual([subnet_dict['subnet']], server.FnGetAtt('addresses')['private'][0]['subnets']) + self.assertEqual(network_dict['network'], + server.FnGetAtt('addresses')['private'][0]['network']) self.assertEqual(private_ip, server.FnGetAtt('networks')['private'][0]) @@ -494,6 +509,21 @@ class ServersTest(common.HeatTestCase): self.assertIsNone(server.FnGetAtt('tags')) self.assertEqual({}, server.FnGetAtt('os_collect_config')) + def test_server_network_subnet_address_attr_port_not_found(self): + return_server = self.fc.servers.list()[1] + server_name = 'network-subnet-attr-server' + server = self._create_test_server(return_server, server_name) + interfaces = [create_fake_iface(port='1234', + mac='fa:16:3e:8c:22:aa', + ip='4.5.6.7')] + self.patchobject(return_server, 'interface_list', + return_value=interfaces) + self.port_show.side_effect = neutron.exceptions.NotFound() + self.assertEqual(None, + server.FnGetAtt('addresses')['private'][0]['subnets']) + self.assertEqual(None, + server.FnGetAtt('addresses')['private'][0]['network']) + def test_server_create_metadata(self): stack_name = 'create_metadata_test_stack' self.patchobject(nova.NovaClientPlugin, 'client', |