Fix create trove instance with a neutron port failed

Heat fails to create a trove instance with a neutron port, because it try to
get 'port' attribute from the instance properties, while the 'port' attribute
is in attribute 'networks' of instance properties.

Change-Id: I44b1f04398519cfc300cd8183148e8128d3d8fc8
Closes-Bug: #1484010
This commit is contained in:
zhufeng 2015-08-20 09:25:26 +08:00
parent 795b954b58
commit a3ea77d1a9
2 changed files with 3 additions and 2 deletions

View File

@ -340,7 +340,7 @@ class OSDBInstance(resource.Resource):
if port:
neutron = self.client_plugin('neutron')
nic_dict['port-id'] = neutron.find_neutron_resource(
self.properties, self.PORT, 'port')
nic, self.PORT, 'port')
ip = nic.get(self.V4_FIXED_IP)
if ip:
nic_dict['v4-fixed-ip'] = ip

View File

@ -611,7 +611,8 @@ class OSDBInstanceTest(common.HeatTestCase):
self.m.StubOutWithMock(neutron.NeutronClientPlugin,
'find_neutron_resource')
neutron.NeutronClientPlugin.find_neutron_resource(
instance.properties, 'port', 'port').AndReturn('someportid')
instance.properties.get('networks')[0],
'port', 'port').AndReturn('someportid')
self.fc.instances.create('test', 1, volume={'size': 30},
databases=[],