Permit specifying instance networks to use.

Provider.networks can now be specified as a list of dicts containing
the same parameters that 'nova boot --nic ....' would take - e.g.
net-id: 'someuuid'.

Change-Id: Ie34c3636f8a2fce6aae0ceb249294eaba6a92d35
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
This commit is contained in:
Sergey Lukjanov 2014-01-13 22:46:04 +04:00 committed by Robert Collins
parent 3871acf4ce
commit 82a21be6b2
3 changed files with 7 additions and 0 deletions

View File

@ -649,6 +649,9 @@ class NodePool(threading.Thread):
p.pool = provider.get('pool')
p.rate = provider.get('rate', 1.0)
p.boot_timeout = provider.get('boot-timeout', 60)
p.use_neutron = bool(provider.get('networks', ()))
if p.use_neutron:
p.nics = provider.get('networks')
p.images = {}
for image in provider['images']:
i = ProviderImage()

View File

@ -282,6 +282,8 @@ class ProviderManager(TaskManager):
create_args = dict(name=name, image=image_id, flavor=flavor['id'])
if key_name:
create_args['key_name'] = key_name
if self.provider.use_neutron:
create_args['nics'] = self.provider.nics
return self.submitTask(CreateServerTask(**create_args))

View File

@ -19,6 +19,8 @@ providers:
project-id: 'fake'
max-servers: 96
pool: 'fake'
networks:
- net-id: 'some-uuid'
images:
- name: nodepool-fake
base-image: 'Fake Precise'