diff --git a/openstack/accelerator/v2/accelerator_request.py b/openstack/accelerator/v2/accelerator_request.py index cf1c6f372..35b0940fc 100644 --- a/openstack/accelerator/v2/accelerator_request.py +++ b/openstack/accelerator/v2/accelerator_request.py @@ -84,7 +84,7 @@ class AcceleratorRequest(resource.Resource): request = self._prepare_request( prepend_key=prepend_key, base_path=base_path, patch=True ) - microversion = self._get_microversion(session, action='patch') + microversion = self._get_microversion(session) if patch: request.body = self._convert_patch(patch) diff --git a/openstack/baremetal/v1/node.py b/openstack/baremetal/v1/node.py index 3643822b6..8debcf8b5 100644 --- a/openstack/baremetal/v1/node.py +++ b/openstack/baremetal/v1/node.py @@ -973,7 +973,7 @@ class Node(_common.Resource): fails for a required interface. """ session = self._get_session(session) - version = self._get_microversion(session, action='fetch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'validate') @@ -1028,7 +1028,7 @@ class Node(_common.Resource): def _do_maintenance_action(self, session, verb, body=None): session = self._get_session(session) - version = self._get_microversion(session, action='commit') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'maintenance') response = getattr(session, verb)( @@ -1047,7 +1047,7 @@ class Node(_common.Resource): :returns: The HTTP response. """ session = self._get_session(session) - version = self._get_microversion(session, action='fetch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'management', 'boot_device') @@ -1073,7 +1073,7 @@ class Node(_common.Resource): :returns: ``None`` """ session = self._get_session(session) - version = self._get_microversion(session, action='commit') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'management', 'boot_device') @@ -1097,7 +1097,7 @@ class Node(_common.Resource): :returns: The HTTP response. """ session = self._get_session(session) - version = self._get_microversion(session, action='fetch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin( request.url, @@ -1295,7 +1295,7 @@ class Node(_common.Resource): :returns: The HTTP response. """ session = self._get_session(session) - version = self._get_microversion(session, action='commit') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin( request.url, f'vendor_passthru?method={method}' @@ -1325,7 +1325,7 @@ class Node(_common.Resource): :returns: The HTTP response. """ session = self._get_session(session) - version = self._get_microversion(session, action='fetch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'vendor_passthru/methods') @@ -1348,7 +1348,7 @@ class Node(_common.Resource): :returns: The HTTP response. """ session = self._get_session(session) - version = self._get_microversion(session, action='fetch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'states', 'console') @@ -1372,7 +1372,7 @@ class Node(_common.Resource): :return: ``None`` """ session = self._get_session(session) - version = self._get_microversion(session, action='commit') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'states', 'console') if not isinstance(enabled, bool): @@ -1407,7 +1407,7 @@ class Node(_common.Resource): os_warnings.RemovedInSDK60Warning, ) session = self._get_session(session) - version = self._get_microversion(session, action='fetch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'inventory') diff --git a/openstack/baremetal_introspection/v1/introspection.py b/openstack/baremetal_introspection/v1/introspection.py index d7f3b878d..d268a5c98 100644 --- a/openstack/baremetal_introspection/v1/introspection.py +++ b/openstack/baremetal_introspection/v1/introspection.py @@ -62,7 +62,7 @@ class Introspection(resource.Resource): session = self._get_session(session) - version = self._get_microversion(session, action='delete') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'abort') response = session.post( @@ -90,11 +90,7 @@ class Introspection(resource.Resource): """ session = self._get_session(session) - version = ( - self._get_microversion(session, action='fetch') - if processed - else '1.17' - ) + version = self._get_microversion(session) if processed else '1.17' request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'data') if not processed: diff --git a/openstack/block_storage/v2/backup.py b/openstack/block_storage/v2/backup.py index cbb11fed3..e94c6ed8a 100644 --- a/openstack/block_storage/v2/backup.py +++ b/openstack/block_storage/v2/backup.py @@ -108,7 +108,7 @@ class Backup(resource.Resource): raise exceptions.MethodNotSupported(self, "create") session = self._get_session(session) - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) requires_id = ( self.create_requires_id if self.create_requires_id is not None diff --git a/openstack/block_storage/v3/attachment.py b/openstack/block_storage/v3/attachment.py index ba6e845a0..4a459b397 100644 --- a/openstack/block_storage/v3/attachment.py +++ b/openstack/block_storage/v3/attachment.py @@ -81,7 +81,7 @@ class Attachment(resource.Resource): """Mark the attachment as completed.""" body = {'os-complete': self.id} if not microversion: - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) url = os.path.join(Attachment.base_path, self.id, 'action') response = session.post(url, json=body, microversion=microversion) exceptions.raise_from_response(response) diff --git a/openstack/block_storage/v3/backup.py b/openstack/block_storage/v3/backup.py index 1fd7204e0..6029f7763 100644 --- a/openstack/block_storage/v3/backup.py +++ b/openstack/block_storage/v3/backup.py @@ -124,7 +124,7 @@ class Backup(resource.Resource): raise exceptions.MethodNotSupported(self, "create") session = self._get_session(session) - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) requires_id = ( self.create_requires_id if self.create_requires_id is not None diff --git a/openstack/block_storage/v3/group.py b/openstack/block_storage/v3/group.py index 61f7bde79..7c67709ff 100644 --- a/openstack/block_storage/v3/group.py +++ b/openstack/block_storage/v3/group.py @@ -54,7 +54,7 @@ class Group(resource.Resource): def _action(self, session, body): """Preform group actions given the message body.""" session = self._get_session(session) - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) url = utils.urljoin(self.base_path, self.id, 'action') response = session.post(url, json=body, microversion=microversion) exceptions.raise_from_response(response) @@ -81,7 +81,7 @@ class Group(resource.Resource): ): """Creates a new group from source.""" session = cls._get_session(session) - microversion = cls._get_microversion(session, action='create') + microversion = cls._get_microversion(session) url = utils.urljoin(cls.base_path, 'action') body = { 'create-from-src': { diff --git a/openstack/block_storage/v3/group_type.py b/openstack/block_storage/v3/group_type.py index 8ff929e38..eb09cf02a 100644 --- a/openstack/block_storage/v3/group_type.py +++ b/openstack/block_storage/v3/group_type.py @@ -51,7 +51,7 @@ class GroupType(resource.Resource): :returns: An updated version of this object. """ url = utils.urljoin(GroupType.base_path, self.id, 'group_specs') - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) exceptions.raise_from_response(response) specs = response.json().get('group_specs', {}) @@ -69,7 +69,7 @@ class GroupType(resource.Resource): :returns: An updated version of this object. """ url = utils.urljoin(GroupType.base_path, self.id, 'group_specs') - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) response = session.post( url, json={'group_specs': specs}, @@ -88,7 +88,7 @@ class GroupType(resource.Resource): :returns: The value of the group spec property. """ url = utils.urljoin(GroupType.base_path, self.id, 'group_specs', prop) - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) exceptions.raise_from_response(response) val = response.json().get(prop) @@ -103,7 +103,7 @@ class GroupType(resource.Resource): :returns: The updated value of the group spec property. """ url = utils.urljoin(GroupType.base_path, self.id, 'group_specs', prop) - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) response = session.put( url, json={prop: val}, microversion=microversion ) @@ -119,6 +119,6 @@ class GroupType(resource.Resource): :returns: None """ url = utils.urljoin(GroupType.base_path, self.id, 'group_specs', prop) - microversion = self._get_microversion(session, action='delete') + microversion = self._get_microversion(session) response = session.delete(url, microversion=microversion) exceptions.raise_from_response(response) diff --git a/openstack/block_storage/v3/transfer.py b/openstack/block_storage/v3/transfer.py index 512802684..9c2643181 100644 --- a/openstack/block_storage/v3/transfer.py +++ b/openstack/block_storage/v3/transfer.py @@ -190,7 +190,7 @@ class Transfer(resource.Resource): path = '/os-volume-transfer' url = utils.urljoin(path, self.id, 'accept') - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) resp = session.post( url, json=body, diff --git a/openstack/block_storage/v3/volume.py b/openstack/block_storage/v3/volume.py index bdf840a65..4f756255a 100644 --- a/openstack/block_storage/v3/volume.py +++ b/openstack/block_storage/v3/volume.py @@ -113,14 +113,14 @@ class Volume(resource.Resource, metadata.MetadataMixin): _max_microversion = "3.60" - def _action(self, session, body, microversion=None, action='patch'): + def _action(self, session, body, microversion=None): """Preform volume actions given the message body.""" # NOTE: This is using Volume.base_path instead of self.base_path # as both Volume and VolumeDetail instances can be acted on, but # the URL used is sans any additional /detail/ part. url = utils.urljoin(Volume.base_path, self.id, 'action') if microversion is None: - microversion = self._get_microversion(session, action=action) + microversion = self._get_microversion(session) resp = session.post(url, json=body, microversion=microversion) exceptions.raise_from_response(resp) return resp diff --git a/openstack/compute/v2/flavor.py b/openstack/compute/v2/flavor.py index e6d1390b3..40d7a2588 100644 --- a/openstack/compute/v2/flavor.py +++ b/openstack/compute/v2/flavor.py @@ -164,7 +164,7 @@ class Flavor(resource.Resource): :returns: The updated flavor. """ url = utils.urljoin(Flavor.base_path, self.id, 'os-extra_specs') - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) exceptions.raise_from_response(response) specs = response.json().get('extra_specs', {}) @@ -179,7 +179,7 @@ class Flavor(resource.Resource): :returns: The updated flavor. """ url = utils.urljoin(Flavor.base_path, self.id, 'os-extra_specs') - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) response = session.post( url, json={'extra_specs': specs}, microversion=microversion ) @@ -196,7 +196,7 @@ class Flavor(resource.Resource): :returns: The value of the property if it exists, else ``None``. """ url = utils.urljoin(Flavor.base_path, self.id, 'os-extra_specs', prop) - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) exceptions.raise_from_response(response) val = response.json().get(prop) @@ -211,7 +211,7 @@ class Flavor(resource.Resource): :returns: The updated value of the property. """ url = utils.urljoin(Flavor.base_path, self.id, 'os-extra_specs', prop) - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) response = session.put( url, json={prop: val}, microversion=microversion ) @@ -227,7 +227,7 @@ class Flavor(resource.Resource): :returns: None """ url = utils.urljoin(Flavor.base_path, self.id, 'os-extra_specs', prop) - microversion = self._get_microversion(session, action='delete') + microversion = self._get_microversion(session) response = session.delete(url, microversion=microversion) exceptions.raise_from_response(response) diff --git a/openstack/compute/v2/hypervisor.py b/openstack/compute/v2/hypervisor.py index fdcb1afee..c80016941 100644 --- a/openstack/compute/v2/hypervisor.py +++ b/openstack/compute/v2/hypervisor.py @@ -95,7 +95,7 @@ class Hypervisor(resource.Resource): 'Hypervisor.get_uptime is not supported anymore' ) url = utils.urljoin(self.base_path, self.id, 'uptime') - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) self._translate_response(response) return self diff --git a/openstack/compute/v2/server.py b/openstack/compute/v2/server.py index 5ecf09898..069caacd1 100644 --- a/openstack/compute/v2/server.py +++ b/openstack/compute/v2/server.py @@ -333,7 +333,7 @@ class Server(resource.Resource, metadata.MetadataMixin, tag.TagMixin): # these aren't all necessary "commit" actions (i.e. updates) but it's # good enough... if microversion is None: - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) response = session.post( url, @@ -362,7 +362,7 @@ class Server(resource.Resource, metadata.MetadataMixin, tag.TagMixin): """ url = utils.urljoin(Server.base_path, self.id, 'os-server-password') if microversion is None: - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) exceptions.raise_from_response(response) @@ -381,7 +381,7 @@ class Server(resource.Resource, metadata.MetadataMixin, tag.TagMixin): """ url = utils.urljoin(Server.base_path, self.id, 'os-server-password') if microversion is None: - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) response = session.delete(url, microversion=microversion) exceptions.raise_from_response(response) diff --git a/openstack/compute/v2/server_group.py b/openstack/compute/v2/server_group.py index f61382b16..597453a4d 100644 --- a/openstack/compute/v2/server_group.py +++ b/openstack/compute/v2/server_group.py @@ -76,7 +76,7 @@ class ServerGroup(resource.Resource): raise exceptions.MethodNotSupported(self, 'create') session = self._get_session(session) - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) requires_id = ( self.create_requires_id if self.create_requires_id is not None diff --git a/openstack/compute/v2/server_migration.py b/openstack/compute/v2/server_migration.py index 42585ab32..fbc6a2ccc 100644 --- a/openstack/compute/v2/server_migration.py +++ b/openstack/compute/v2/server_migration.py @@ -74,7 +74,7 @@ class ServerMigration(resource.Resource): def _action(self, session, body): """Preform server migration actions given the message body.""" session = self._get_session(session) - microversion = self._get_microversion(session, action='list') + microversion = self._get_microversion(session) url = utils.urljoin( self.base_path % {'server_id': self.server_id}, diff --git a/openstack/dns/v2/zone_export.py b/openstack/dns/v2/zone_export.py index 34e0012e2..7a4215413 100644 --- a/openstack/dns/v2/zone_export.py +++ b/openstack/dns/v2/zone_export.py @@ -70,7 +70,7 @@ class ZoneExport(_base.Resource): raise exceptions.MethodNotSupported(self, "create") session = self._get_session(session) - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) # Create ZoneExport requires empty body # skip _prepare_request completely, since we need just empty body request = resource._Request(self.base_path, None, None) diff --git a/openstack/dns/v2/zone_import.py b/openstack/dns/v2/zone_import.py index 8f875f7b1..8d2c3e145 100644 --- a/openstack/dns/v2/zone_import.py +++ b/openstack/dns/v2/zone_import.py @@ -70,7 +70,7 @@ class ZoneImport(_base.Resource): raise exceptions.MethodNotSupported(self, "create") session = self._get_session(session) - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) # Create ZoneImport requires empty body and 'text/dns' as content-type # skip _prepare_request completely, since we need just empty body request = resource._Request( diff --git a/openstack/image/v2/cache.py b/openstack/image/v2/cache.py index f181cf59b..b0ad60834 100644 --- a/openstack/image/v2/cache.py +++ b/openstack/image/v2/cache.py @@ -46,7 +46,7 @@ class Cache(resource.Resource): :returns: The server response """ if microversion is None: - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) image_id = resource.Resource._get_id(image) url = utils.urljoin(self.base_path, image_id) diff --git a/openstack/image/v2/metadef_property.py b/openstack/image/v2/metadef_property.py index 9abbaacac..20dcc808c 100644 --- a/openstack/image/v2/metadef_property.py +++ b/openstack/image/v2/metadef_property.py @@ -102,7 +102,7 @@ class MetadefProperty(resource.Resource): session = cls._get_session(session) if microversion is None: - microversion = cls._get_microversion(session, action='list') + microversion = cls._get_microversion(session) if base_path is None: base_path = cls.base_path diff --git a/openstack/load_balancer/v2/amphora.py b/openstack/load_balancer/v2/amphora.py index f8e9c4de5..b84156ef8 100644 --- a/openstack/load_balancer/v2/amphora.py +++ b/openstack/load_balancer/v2/amphora.py @@ -106,7 +106,7 @@ class Amphora(resource.Resource): :returns: None """ session = self._get_session(session) - version = self._get_microversion(session, action='patch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'config') @@ -126,7 +126,7 @@ class Amphora(resource.Resource): :returns: None """ session = self._get_session(session) - version = self._get_microversion(session, action='patch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'failover') diff --git a/openstack/load_balancer/v2/load_balancer.py b/openstack/load_balancer/v2/load_balancer.py index 02fd6a235..1668e484e 100644 --- a/openstack/load_balancer/v2/load_balancer.py +++ b/openstack/load_balancer/v2/load_balancer.py @@ -109,7 +109,7 @@ class LoadBalancer(resource.Resource, tag.TagMixin): :returns: None """ session = self._get_session(session) - version = self._get_microversion(session, action='patch') + version = self._get_microversion(session) request = self._prepare_request(requires_id=True) request.url = utils.urljoin(request.url, 'failover') diff --git a/openstack/object_store/v1/info.py b/openstack/object_store/v1/info.py index c1dde93b7..5b874067f 100644 --- a/openstack/object_store/v1/info.py +++ b/openstack/object_store/v1/info.py @@ -85,7 +85,7 @@ class Info(resource.Resource): session = self._get_session(session) info_url = self._get_info_url(session.get_endpoint()) - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(info_url, microversion=microversion) self.microversion = microversion diff --git a/openstack/object_store/v1/obj.py b/openstack/object_store/v1/obj.py index 3b036e55a..9b51641c0 100644 --- a/openstack/object_store/v1/obj.py +++ b/openstack/object_store/v1/obj.py @@ -337,7 +337,7 @@ class Object(_base.BaseResource): request = self._prepare_request(**kwargs) session = self._get_session(session) if microversion is None: - microversion = self._get_microversion(session, action='delete') + microversion = self._get_microversion(session) if self.is_static_large_object is None: # Fetch metadata to determine SLO flag diff --git a/openstack/orchestration/v1/stack.py b/openstack/orchestration/v1/stack.py index 2571e2a61..8e8712d35 100644 --- a/openstack/orchestration/v1/stack.py +++ b/openstack/orchestration/v1/stack.py @@ -142,7 +142,7 @@ class Stack(resource.Resource): prepend_key=False, requires_id=False, base_path=base_path ) - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) request_url = request.url if preview: @@ -225,7 +225,7 @@ class Stack(resource.Resource): requires_id=requires_id, base_path=base_path ) # session = self._get_session(session) - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) # NOTE(gtema): would be nice to simply use QueryParameters, however # Heat return 302 with parameters being set into URL and requests diff --git a/openstack/placement/v1/resource_provider.py b/openstack/placement/v1/resource_provider.py index 4da2d3bcc..4419ab4b2 100644 --- a/openstack/placement/v1/resource_provider.py +++ b/openstack/placement/v1/resource_provider.py @@ -71,7 +71,7 @@ class ResourceProvider(resource.Resource): :return: The resource provider with aggregates populated """ url = utils.urljoin(self.base_path, self.id, 'aggregates') - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) response = session.get(url, microversion=microversion) exceptions.raise_from_response(response) @@ -92,7 +92,7 @@ class ResourceProvider(resource.Resource): :return: The resource provider with updated aggregates populated """ url = utils.urljoin(self.base_path, self.id, 'aggregates') - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) body = { 'aggregates': aggregates or [], diff --git a/openstack/placement/v1/resource_provider_inventory.py b/openstack/placement/v1/resource_provider_inventory.py index d178e88a5..443483a9c 100644 --- a/openstack/placement/v1/resource_provider_inventory.py +++ b/openstack/placement/v1/resource_provider_inventory.py @@ -113,7 +113,7 @@ class ResourceProviderInventory(resource.Resource): session = cls._get_session(session) if microversion is None: - microversion = cls._get_microversion(session, action='list') + microversion = cls._get_microversion(session) if base_path is None: base_path = cls.base_path diff --git a/openstack/placement/v1/trait.py b/openstack/placement/v1/trait.py index 75b7875ba..be941f2b7 100644 --- a/openstack/placement/v1/trait.py +++ b/openstack/placement/v1/trait.py @@ -64,7 +64,7 @@ class Trait(resource.Resource): session = cls._get_session(session) if microversion is None: - microversion = cls._get_microversion(session, action='list') + microversion = cls._get_microversion(session) if base_path is None: base_path = cls.base_path diff --git a/openstack/resource.py b/openstack/resource.py index 78e2134cf..9caef9029 100644 --- a/openstack/resource.py +++ b/openstack/resource.py @@ -53,6 +53,8 @@ from openstack import warnings as os_warnings LOG = _log.setup_logging(__name__) +AdapterT = ty.TypeVar('AdapterT', bound=adapter.Adapter) + # TODO(stephenfin): We should deprecate the 'type' and 'list_type' arguments # for all of the below in favour of annotations. To that end, we have stuck @@ -1218,7 +1220,7 @@ class Resource(dict): dict.update(self, self.to_dict()) @classmethod - def _get_session(cls, session): + def _get_session(cls, session: AdapterT) -> AdapterT: """Attempt to get an Adapter from a raw session. Some older code used conn.session has the session argument to Resource @@ -1238,9 +1240,8 @@ class Resource(dict): "a raw keystoneauth1.adapter.Adapter." ) - # TODO(stephenfin): Drop action argument. It has never been used. @classmethod - def _get_microversion(cls, session, *, action=None): + def _get_microversion(cls, session: adapter.Adapter) -> ty.Optional[str]: """Get microversion to use for the given action. The base version uses the following logic: @@ -1255,21 +1256,8 @@ class Resource(dict): :param session: The session to use for making the request. :type session: :class:`~keystoneauth1.adapter.Adapter` - :param action: One of "fetch", "commit", "create", "delete", "patch". - :type action: str :return: Microversion as string or ``None`` """ - if action not in { - 'list', - 'fetch', - 'commit', - 'create', - 'delete', - 'patch', - None, - }: - raise ValueError(f'Invalid action: {action}') - if session.default_microversion: return session.default_microversion @@ -1372,7 +1360,7 @@ class Resource(dict): session = self._get_session(session) if microversion is None: - microversion = self._get_microversion(session, action='create') + microversion = self._get_microversion(session) requires_id = ( self.create_requires_id if self.create_requires_id is not None @@ -1475,7 +1463,7 @@ class Resource(dict): session = cls._get_session(session) if microversion is None: - microversion = cls._get_microversion(session, action='create') + microversion = cls._get_microversion(session) requires_id = ( cls.create_requires_id if cls.create_requires_id is not None @@ -1588,7 +1576,7 @@ class Resource(dict): session = self._get_session(session) if microversion is None: - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) self.microversion = microversion response = session.get( @@ -1626,7 +1614,7 @@ class Resource(dict): session = self._get_session(session) if microversion is None: - microversion = self._get_microversion(session, action='fetch') + microversion = self._get_microversion(session) self.microversion = microversion request = self._prepare_request(base_path=base_path) @@ -1694,7 +1682,7 @@ class Resource(dict): **kwargs, ) if microversion is None: - microversion = self._get_microversion(session, action='commit') + microversion = self._get_microversion(session) return self._commit( session, @@ -1824,7 +1812,7 @@ class Resource(dict): patch=True, ) if microversion is None: - microversion = self._get_microversion(session, action='patch') + microversion = self._get_microversion(session) if patch: request.body += self._convert_patch(patch) @@ -1874,7 +1862,7 @@ class Resource(dict): request = self._prepare_request(**kwargs) session = self._get_session(session) if microversion is None: - microversion = self._get_microversion(session, action='delete') + microversion = self._get_microversion(session) return session.delete( request.url, @@ -1938,7 +1926,7 @@ class Resource(dict): session = cls._get_session(session) if microversion is None: - microversion = cls._get_microversion(session, action='list') + microversion = cls._get_microversion(session) if base_path is None: base_path = cls.base_path diff --git a/openstack/shared_file_system/v2/share.py b/openstack/shared_file_system/v2/share.py index 621ea729d..8ec1fbe85 100644 --- a/openstack/shared_file_system/v2/share.py +++ b/openstack/shared_file_system/v2/share.py @@ -107,13 +107,13 @@ class Share(resource.Resource, metadata.MetadataMixin): #: Display description for updating description display_description = resource.Body("display_description", type=str) - def _action(self, session, body, action='patch', microversion=None): + def _action(self, session, body, microversion=None): """Perform share instance actions given the message body""" url = utils.urljoin(self.base_path, self.id, 'action') headers = {'Accept': ''} if microversion is None: - microversion = self._get_microversion(session, action=action) + microversion = self._get_microversion(session) response = session.post( url, json=body, headers=headers, microversion=microversion diff --git a/openstack/shared_file_system/v2/share_access_rule.py b/openstack/shared_file_system/v2/share_access_rule.py index 792cc8100..06cc78a84 100644 --- a/openstack/shared_file_system/v2/share_access_rule.py +++ b/openstack/shared_file_system/v2/share_access_rule.py @@ -63,11 +63,11 @@ class ShareAccessRule(resource.Resource): #: Reason for placing the loc lock_reason = resource.Body("lock_reason", type=bool) - def _action(self, session, body, url, action='patch', microversion=None): + def _action(self, session, body, url, microversion=None): headers = {'Accept': ''} if microversion is None: - microversion = self._get_microversion(session, action=action) + microversion = self._get_microversion(session) return session.post( url, json=body, headers=headers, microversion=microversion diff --git a/openstack/shared_file_system/v2/share_group_snapshot.py b/openstack/shared_file_system/v2/share_group_snapshot.py index 85b86ab95..504efc38e 100644 --- a/openstack/shared_file_system/v2/share_group_snapshot.py +++ b/openstack/shared_file_system/v2/share_group_snapshot.py @@ -59,16 +59,14 @@ class ShareGroupSnapshot(resource.Resource): #: NFS, CIFS, GlusterFS, HDFS, CephFS or MAPRFS. share_protocol = resource.Body("share_proto", type=str) - def _action(self, session, body, action='patch', microversion=None): + def _action(self, session, body, microversion=None): """Perform ShareGroupSnapshot actions given the message body.""" # NOTE: This is using ShareGroupSnapshot.base_path instead of # self.base_path as ShareGroupSnapshot instances can be acted on, # but the URL used is sans any additional /detail/ part. url = utils.urljoin(self.base_path, self.id, 'action') headers = {'Accept': ''} - microversion = microversion or self._get_microversion( - session, action=action - ) + microversion = microversion or self._get_microversion(session) extra_attrs = {'microversion': microversion} session.post(url, json=body, headers=headers, **extra_attrs) @@ -78,9 +76,7 @@ class ShareGroupSnapshot(resource.Resource): def get_members(self, session, microversion=None): url = utils.urljoin(self.base_path, self.id, 'members') - microversion = microversion or self._get_microversion( - session, action='list' - ) + microversion = microversion or self._get_microversion(session) headers = {'Accept': ''} response = session.get(url, headers=headers, microversion=microversion) return response.json() diff --git a/openstack/shared_file_system/v2/share_instance.py b/openstack/shared_file_system/v2/share_instance.py index a0d7bd056..93f3b7fe7 100644 --- a/openstack/shared_file_system/v2/share_instance.py +++ b/openstack/shared_file_system/v2/share_instance.py @@ -57,7 +57,7 @@ class ShareInstance(resource.Resource): #: The share or share instance status. status = resource.Body("status", type=str) - def _action(self, session, body, action='patch', microversion=None): + def _action(self, session, body, microversion=None): """Perform share instance actions given the message body""" url = utils.urljoin(self.base_path, self.id, 'action') headers = {'Accept': ''} @@ -66,9 +66,7 @@ class ShareInstance(resource.Resource): # Set microversion override extra_attrs['microversion'] = microversion else: - extra_attrs['microversion'] = self._get_microversion( - session, action=action - ) + extra_attrs['microversion'] = self._get_microversion(session) response = session.post(url, json=body, headers=headers, **extra_attrs) exceptions.raise_from_response(response) return response @@ -81,4 +79,4 @@ class ShareInstance(resource.Resource): def force_delete(self, session): """Force delete share instance""" body = {"force_delete": None} - self._action(session, body, action='delete') + self._action(session, body) diff --git a/openstack/tests/unit/shared_file_system/v2/test_share.py b/openstack/tests/unit/shared_file_system/v2/test_share.py index 61f98fdce..9fd4c6eea 100644 --- a/openstack/tests/unit/shared_file_system/v2/test_share.py +++ b/openstack/tests/unit/shared_file_system/v2/test_share.py @@ -144,7 +144,7 @@ class TestShareActions(TestShares): def test_shrink_share(self): sot = share.Share(**EXAMPLE) - microversion = sot._get_microversion(self.sess, action='patch') + microversion = sot._get_microversion(self.sess) self.assertIsNone(sot.shrink_share(self.sess, new_size=1)) @@ -158,7 +158,7 @@ class TestShareActions(TestShares): def test_extend_share(self): sot = share.Share(**EXAMPLE) - microversion = sot._get_microversion(self.sess, action='patch') + microversion = sot._get_microversion(self.sess) self.assertIsNone(sot.extend_share(self.sess, new_size=3)) @@ -172,7 +172,7 @@ class TestShareActions(TestShares): def test_revert_to_snapshot(self): sot = share.Share(**EXAMPLE) - microversion = sot._get_microversion(self.sess, action='patch') + microversion = sot._get_microversion(self.sess) self.assertIsNone(sot.revert_to_snapshot(self.sess, "fake_id")) @@ -220,7 +220,7 @@ class TestShareActions(TestShares): def test_unmanage_share(self): sot = share.Share(**EXAMPLE) - microversion = sot._get_microversion(self.sess, action='patch') + microversion = sot._get_microversion(self.sess) self.assertIsNone(sot.unmanage(self.sess)) diff --git a/openstack/tests/unit/shared_file_system/v2/test_share_instance.py b/openstack/tests/unit/shared_file_system/v2/test_share_instance.py index 6d9be78ef..cb461ffa8 100644 --- a/openstack/tests/unit/shared_file_system/v2/test_share_instance.py +++ b/openstack/tests/unit/shared_file_system/v2/test_share_instance.py @@ -96,7 +96,7 @@ class TestShareInstanceActions(TestShareInstances): def test_reset_status(self): sot = share_instance.ShareInstance(**EXAMPLE) - microversion = sot._get_microversion(self.sess, action='patch') + microversion = sot._get_microversion(self.sess) self.assertIsNone(sot.reset_status(self.sess, 'active')) @@ -109,7 +109,7 @@ class TestShareInstanceActions(TestShareInstances): def test_force_delete(self): sot = share_instance.ShareInstance(**EXAMPLE) - microversion = sot._get_microversion(self.sess, action='delete') + microversion = sot._get_microversion(self.sess) self.assertIsNone(sot.force_delete(self.sess))