diff options
| author | Chris Behrens <cbehrens@codestud.com> | 2012-01-20 10:36:00 -0800 |
|---|---|---|
| committer | Chris Behrens <cbehrens@codestud.com> | 2012-01-20 14:41:46 -0800 |
| commit | 1bf066c59bbfe40a30e498f2b24fdddd82fb2508 (patch) | |
| tree | 3428a589a6b6dda3c63e1dce4f2f7c10c0ec2d31 /nova/compute | |
| parent | fd1aa4613b9a644ad2d702ac2d15cf12cef589c5 (diff) | |
pass filter_properties into scheduling requests for run_instance
Cleans up the resize stuff for avoiding a host
Allows for user-specified or compute-specified filters.
Change-Id: I0c6066240f602788eff1e0b5856ac52c03a4ebf0
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/api.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 244930402..9cc9744b8 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -525,11 +525,12 @@ class API(base.Base): LOG.debug(_("Sending create to scheduler for %(pid)s/%(uid)s's") % locals()) + filter_properties = {} + request_spec = { 'image': image, 'instance_properties': base_options, 'instance_type': instance_type, - 'filter': None, 'blob': zone_blob, 'num_instances': num_instances, 'block_device_mapping': block_device_mapping, @@ -543,7 +544,8 @@ class API(base.Base): "request_spec": request_spec, "admin_password": admin_password, "injected_files": injected_files, - "requested_networks": requested_networks}}) + "requested_networks": requested_networks, + "filter_properties": filter_properties}}) def create(self, context, instance_type, image_href, kernel_id=None, ramdisk_id=None, @@ -1391,13 +1393,14 @@ class API(base.Base): **kwargs) request_spec = { - 'instance_type': new_instance_type, - 'filter': None, - 'num_instances': 1, - 'instance_properties': instance, - 'avoid_original_host': not FLAGS.allow_resize_to_same_host, - 'local_zone': True, - } + 'instance_type': new_instance_type, + 'num_instances': 1, + 'instance_properties': instance} + + filter_properties = {'local_zone_only': True, 'ignore_hosts': []} + + if not FLAGS.allow_resize_to_same_host: + filter_properties['ignore_hosts'].append(instance['host']) self._cast_scheduler_message(context, {"method": "prep_resize", @@ -1405,7 +1408,8 @@ class API(base.Base): "instance_uuid": instance['uuid'], "update_db": False, "instance_type_id": new_instance_type['id'], - "request_spec": request_spec}}) + "request_spec": request_spec, + "filter_properties": filter_properties}}) @wrap_check_policy @scheduler_api.reroute_compute("add_fixed_ip") |
