diff options
Diffstat (limited to 'nova/compute/rpcapi.py')
-rw-r--r-- | nova/compute/rpcapi.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py index 3ac4c6dcfa..efc06300db 100644 --- a/nova/compute/rpcapi.py +++ b/nova/compute/rpcapi.py @@ -403,6 +403,7 @@ class ComputeAPI(object): * ... - Rename the instance_type argument of resize_instance() to flavor * 6.1 - Add reimage_boot_volume parameter to rebuild_instance() + * 6.2 - Add target_state parameter to rebuild_instance() ''' VERSION_ALIASES = { @@ -424,6 +425,7 @@ class ComputeAPI(object): 'xena': '6.0', 'yoga': '6.0', 'zed': '6.1', + 'antelope': '6.2', } @property @@ -1083,7 +1085,7 @@ class ComputeAPI(object): image_ref, orig_image_ref, orig_sys_metadata, bdms, recreate, on_shared_storage, host, node, preserve_ephemeral, migration, limits, request_spec, accel_uuids, - reimage_boot_volume): + reimage_boot_volume, target_state): # NOTE(edleafe): compute nodes can only use the dict form of limits. if isinstance(limits, objects.SchedulerLimits): @@ -1096,12 +1098,20 @@ class ComputeAPI(object): 'limits': limits, 'request_spec': request_spec, 'accel_uuids': accel_uuids, - 'reimage_boot_volume': reimage_boot_volume + 'reimage_boot_volume': reimage_boot_volume, + 'target_state': target_state, } - - version = '6.1' + version = '6.2' client = self.router.client(ctxt) if not client.can_send_version(version): + if msg_args['target_state']: + raise exception.UnsupportedRPCVersion( + api="rebuild_instance", + required="6.2") + else: + del msg_args['target_state'] + version = '6.1' + if not client.can_send_version(version): if msg_args['reimage_boot_volume']: raise exception.NovaException( 'Compute RPC version does not support ' |