diff --git a/openstack_dashboard/api/microversions.py b/openstack_dashboard/api/microversions.py index 9d33952ecd..d31712ce8a 100644 --- a/openstack_dashboard/api/microversions.py +++ b/openstack_dashboard/api/microversions.py @@ -37,6 +37,7 @@ MICROVERSION_FEATURES = { "auto_allocated_network": ["2.37", "2.60"], "key_types": ["2.2", "2.9"], "key_type_list": ["2.9"], + "rescue_instance_volume_based": ["2.87", "2.93"], }, "cinder": { "groups": ["3.27", "3.43", "3.48", "3.58"], diff --git a/openstack_dashboard/api/nova.py b/openstack_dashboard/api/nova.py index 981b1148d1..03bdee1a9d 100644 --- a/openstack_dashboard/api/nova.py +++ b/openstack_dashboard/api/nova.py @@ -665,9 +665,12 @@ def server_metadata_delete(request, instance_id, keys): @profiler.trace def server_rescue(request, instance_id, password=None, image=None): - _nova.novaclient(request).servers.rescue(instance_id, - password=password, - image=image) + microversion = get_microversion(request, "rescue_instance_volume_based") + _nova.novaclient(request, version=microversion).servers.rescue( + instance_id, + password=password, + image=image + ) @profiler.trace