Merge "openstackcloud: properly handle scheduler_hints"
This commit is contained in:
@@ -6674,6 +6674,9 @@ class OpenStackCloud(_normalize.Normalizer):
|
||||
if not image and not boot_volume:
|
||||
raise TypeError(
|
||||
"create_server() requires either 'image' or 'boot_volume'")
|
||||
|
||||
server_json = {'server': kwargs}
|
||||
|
||||
# TODO(mordred) Add support for description starting in 2.19
|
||||
security_groups = kwargs.get('security_groups', [])
|
||||
if security_groups and not isinstance(kwargs['security_groups'], list):
|
||||
@@ -6705,7 +6708,7 @@ class OpenStackCloud(_normalize.Normalizer):
|
||||
" on the cloud".format(group=group))
|
||||
hints['group'] = group_obj['id']
|
||||
if hints:
|
||||
kwargs['os:scheduler_hints'] = hints
|
||||
server_json['os:scheduler_hints'] = hints
|
||||
kwargs.setdefault('max_count', kwargs.get('max_count', 1))
|
||||
kwargs.setdefault('min_count', kwargs.get('min_count', 1))
|
||||
|
||||
@@ -6802,7 +6805,7 @@ class OpenStackCloud(_normalize.Normalizer):
|
||||
endpoint = '/os-volumes_boot'
|
||||
with _utils.shade_exceptions("Error in creating instance"):
|
||||
data = _adapter._json_response(
|
||||
self.compute.post(endpoint, json={'server': kwargs}))
|
||||
self.compute.post(endpoint, json=server_json))
|
||||
server = self._get_and_munchify('server', data)
|
||||
admin_pass = server.get('adminPass') or kwargs.get('admin_pass')
|
||||
if not wait:
|
||||
|
||||
Reference in New Issue
Block a user