resource: Drop 'action' arg for '_get_microversion'
This is never used either. Change-Id: I466046249c11a515905a8d981336da26f233e485 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
parent
d322b49fea
commit
30101a049d
@ -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)
|
||||
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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': {
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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},
|
||||
|
@ -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)
|
||||
|
@ -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(
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 [],
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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)
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user