Merge "Drop swift check for volume backup"

This commit is contained in:
Zuul
2020-12-17 03:24:40 +00:00
committed by Gerrit Code Review
4 changed files with 19 additions and 95 deletions

View File

@@ -16,7 +16,6 @@ from openstack.block_storage.v2 import snapshot as _snapshot
from openstack.block_storage.v2 import stats as _stats from openstack.block_storage.v2 import stats as _stats
from openstack.block_storage.v2 import type as _type from openstack.block_storage.v2 import type as _type
from openstack.block_storage.v2 import volume as _volume from openstack.block_storage.v2 import volume as _volume
from openstack import exceptions
from openstack import resource from openstack import resource
@@ -231,10 +230,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: A generator of backup objects. :returns: A generator of backup objects.
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
base_path = '/backups/detail' if details else None base_path = '/backups/detail' if details else None
return self._list(_backup.Backup, base_path=base_path, **query) return self._list(_backup.Backup, base_path=base_path, **query)
@@ -248,10 +243,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: Backup instance :returns: Backup instance
:rtype: :class:`~openstack.block_storage.v2.backup.Backup` :rtype: :class:`~openstack.block_storage.v2.backup.Backup`
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
return self._get(_backup.Backup, backup) return self._get(_backup.Backup, backup)
def create_backup(self, **attrs): def create_backup(self, **attrs):
@@ -264,10 +255,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: The results of Backup creation :returns: The results of Backup creation
:rtype: :class:`~openstack.block_storage.v2.backup.Backup` :rtype: :class:`~openstack.block_storage.v2.backup.Backup`
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
return self._create(_backup.Backup, **attrs) return self._create(_backup.Backup, **attrs)
def delete_backup(self, backup, ignore_missing=True): def delete_backup(self, backup, ignore_missing=True):
@@ -283,10 +270,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: ``None`` :returns: ``None``
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
self._delete(_backup.Backup, backup, self._delete(_backup.Backup, backup,
ignore_missing=ignore_missing) ignore_missing=ignore_missing)
@@ -301,10 +284,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: Updated backup instance :returns: Updated backup instance
:rtype: :class:`~openstack.block_storage.v2.backup.Backup` :rtype: :class:`~openstack.block_storage.v2.backup.Backup`
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
backup = self._get_resource(_backup.Backup, backup) backup = self._get_resource(_backup.Backup, backup)
return backup.restore(self, volume_id=volume_id, name=name) return backup.restore(self, volume_id=volume_id, name=name)

View File

@@ -383,10 +383,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: A generator of backup objects. :returns: A generator of backup objects.
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
base_path = '/backups/detail' if details else None base_path = '/backups/detail' if details else None
return self._list(_backup.Backup, base_path=base_path, **query) return self._list(_backup.Backup, base_path=base_path, **query)
@@ -400,10 +396,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: Backup instance :returns: Backup instance
:rtype: :class:`~openstack.block_storage.v3.backup.Backup` :rtype: :class:`~openstack.block_storage.v3.backup.Backup`
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
return self._get(_backup.Backup, backup) return self._get(_backup.Backup, backup)
def find_backup(self, name_or_id, ignore_missing=True, **attrs): def find_backup(self, name_or_id, ignore_missing=True, **attrs):
@@ -418,10 +410,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:raises: :class:`~openstack.exceptions.ResourceNotFound` :raises: :class:`~openstack.exceptions.ResourceNotFound`
when no resource can be found. when no resource can be found.
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
return self._find(_backup.Backup, name_or_id, return self._find(_backup.Backup, name_or_id,
ignore_missing=ignore_missing) ignore_missing=ignore_missing)
@@ -435,10 +423,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: The results of Backup creation :returns: The results of Backup creation
:rtype: :class:`~openstack.block_storage.v3.backup.Backup` :rtype: :class:`~openstack.block_storage.v3.backup.Backup`
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
return self._create(_backup.Backup, **attrs) return self._create(_backup.Backup, **attrs)
def delete_backup(self, backup, ignore_missing=True): def delete_backup(self, backup, ignore_missing=True):
@@ -454,10 +438,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: ``None`` :returns: ``None``
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
self._delete(_backup.Backup, backup, self._delete(_backup.Backup, backup,
ignore_missing=ignore_missing) ignore_missing=ignore_missing)
@@ -472,10 +452,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
:returns: Updated backup instance :returns: Updated backup instance
:rtype: :class:`~openstack.block_storage.v3.backup.Backup` :rtype: :class:`~openstack.block_storage.v3.backup.Backup`
""" """
if not self._connection.has_service('object-store'):
raise exceptions.SDKException(
'Object-store service is required for block-store backups'
)
backup = self._get_resource(_backup.Backup, backup) backup = self._get_resource(_backup.Backup, backup)
return backup.restore(self, volume_id=volume_id, name=name) return backup.restore(self, volume_id=volume_id, name=name)
@@ -530,9 +506,6 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
def _service_cleanup(self, dry_run=True, client_status_queue=None, def _service_cleanup(self, dry_run=True, client_status_queue=None,
identified_resources=None, identified_resources=None,
filters=None, resource_evaluation_fn=None): filters=None, resource_evaluation_fn=None):
if self._connection.has_service('object-store'):
# Volume backups require object-store to be available, even for
# listing
backups = [] backups = []
for obj in self.backups(details=False): for obj in self.backups(details=False):
need_delete = self._service_cleanup_del_res( need_delete = self._service_cleanup_del_res(

View File

@@ -17,7 +17,6 @@ from openstack.block_storage.v2 import snapshot
from openstack.block_storage.v2 import stats from openstack.block_storage.v2 import stats
from openstack.block_storage.v2 import type from openstack.block_storage.v2 import type
from openstack.block_storage.v2 import volume from openstack.block_storage.v2 import volume
from openstack import exceptions
from openstack.tests.unit import test_proxy_base from openstack.tests.unit import test_proxy_base
@@ -150,16 +149,3 @@ class TestVolumeProxy(test_proxy_base.TestProxyBase):
expected_args=[self.proxy], expected_args=[self.proxy],
expected_kwargs={'volume_id': 'vol_id', 'name': 'name'} expected_kwargs={'volume_id': 'vol_id', 'name': 'name'}
) )
def test_backup_no_swift(self):
"""Ensure proxy method raises exception if swift is not available
"""
# NOTE: mock has_service
self.proxy._connection = mock.Mock()
self.proxy._connection.has_service = mock.Mock(return_value=False)
self.assertRaises(
exceptions.SDKException,
self.proxy.restore_backup,
'backup',
'volume_id',
'name')

View File

@@ -17,7 +17,6 @@ from openstack.block_storage.v3 import snapshot
from openstack.block_storage.v3 import stats from openstack.block_storage.v3 import stats
from openstack.block_storage.v3 import type from openstack.block_storage.v3 import type
from openstack.block_storage.v3 import volume from openstack.block_storage.v3 import volume
from openstack import exceptions
from openstack.tests.unit import test_proxy_base from openstack.tests.unit import test_proxy_base
@@ -197,16 +196,3 @@ class TestVolumeProxy(test_proxy_base.TestProxyBase):
expected_args=[self.proxy], expected_args=[self.proxy],
expected_kwargs={'volume_id': 'vol_id', 'name': 'name'} expected_kwargs={'volume_id': 'vol_id', 'name': 'name'}
) )
def test_backup_no_swift(self):
"""Ensure proxy method raises exception if swift is not available
"""
# NOTE: mock has_service
self.proxy._connection = mock.Mock()
self.proxy._connection.has_service = mock.Mock(return_value=False)
self.assertRaises(
exceptions.SDKException,
self.proxy.restore_backup,
'backup',
'volume_id',
'name')