diff options
author | Zuul <zuul@review.opendev.org> | 2019-12-12 13:11:35 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2019-12-12 13:11:35 +0000 |
commit | ed503ce3e1a8598c6e8ee9d8b345c1d92df01539 (patch) | |
tree | 7a5a7335993f26718d04ef1503e288dbe3b61dce /nova/tests/functional/integrated_helpers.py | |
parent | 74a26713984f1838e671d47d10529d795d9feed9 (diff) | |
parent | d888d9b8edc0e07abc39bd35acca33e029686d54 (diff) | |
download | nova-ed503ce3e1a8598c6e8ee9d8b345c1d92df01539.tar.gz |
Merge "functional: Unify '_build_minimal_create_server_request' implementations"
Diffstat (limited to 'nova/tests/functional/integrated_helpers.py')
-rw-r--r-- | nova/tests/functional/integrated_helpers.py | 65 |
1 files changed, 43 insertions, 22 deletions
diff --git a/nova/tests/functional/integrated_helpers.py b/nova/tests/functional/integrated_helpers.py index 15ee3f04ea..e5db51c806 100644 --- a/nova/tests/functional/integrated_helpers.py +++ b/nova/tests/functional/integrated_helpers.py @@ -96,19 +96,29 @@ class InstanceHelperMixin(object): return self._wait_for_server_parameter( admin_api, server, {'status': expected_status}, max_retries) - def _build_minimal_create_server_request(self, api, name, image_uuid=None, - flavor_id=None, networks=None, - az=None, host=None): + def _build_minimal_create_server_request(self, api, name=None, + image_uuid=None, flavor_id=None, + networks=None, az=None, + host=None): server = {} - # We now have a valid imageId - server['imageRef'] = image_uuid or api.get_images()[0]['id'] + if not image_uuid: + # NOTE(takashin): In API version 2.36, image APIs were deprecated. + # In API version 2.36 or greater, self.api.get_images() returns + # a 404 error. In that case, 'image_uuid' should be specified. + image_uuid = api.get_images()[0]['id'] + server['imageRef'] = image_uuid + + if not name: + name = ''.join( + random.choice(string.ascii_lowercase) for i in range(10)) + server['name'] = name if not flavor_id: # Set a valid flavorId - flavor_id = api.get_flavors()[1]['id'] - server['flavorRef'] = ('http://fake.server/%s' % flavor_id) - server['name'] = name + flavor_id = api.get_flavors()[0]['id'] + server['flavorRef'] = 'http://fake.server/%s' % flavor_id + if networks is not None: server['networks'] = networks if az is not None: @@ -310,24 +320,35 @@ class _IntegratedTestBase(test.TestCase): def get_invalid_image(self): return uuids.fake - def _build_minimal_create_server_request(self, image_uuid=None): + def _build_minimal_create_server_request(self, name=None, image_uuid=None, + flavor_id=None, networks=None, + az=None, host=None): server = {} - # NOTE(takashin): In API version 2.36, image APIs were deprecated. - # In API version 2.36 or greater, self.api.get_images() returns - # a 404 error. In that case, 'image_uuid' should be specified. - server[self._image_ref_parameter] = (image_uuid or - self.api.get_images()[0]['id']) + if not image_uuid: + # NOTE(takashin): In API version 2.36, image APIs were deprecated. + # In API version 2.36 or greater, self.api.get_images() returns + # a 404 error. In that case, 'image_uuid' should be specified. + image_uuid = self.api.get_images()[0]['id'] + server['imageRef'] = image_uuid - # Set a valid flavorId - flavor = self.api.get_flavors()[0] - LOG.debug("Using flavor: %s", flavor) - server[self._flavor_ref_parameter] = ('http://fake.server/%s' - % flavor['id']) + if not name: + name = ''.join( + random.choice(string.ascii_lowercase) for i in range(10)) + server['name'] = name - # Set a valid server name - server_name = self.get_unused_server_name() - server['name'] = server_name + if not flavor_id: + # Set a valid flavorId + flavor_id = self.api.get_flavors()[0]['id'] + server['flavorRef'] = 'http://fake.server/%s' % flavor_id + + if networks is not None: + server['networks'] = networks + if az is not None: + server['availability_zone'] = az + # This requires at least microversion 2.74 to work + if host is not None: + server['host'] = host return server def _create_flavor_body(self, name, ram, vcpus, disk, ephemeral, id, swap, |