Merge "Allow share status reset to migration status"
This commit is contained in:
commit
ba8e8d1ada
@ -1185,6 +1185,8 @@ class AdminActionsMixin(object):
|
|||||||
constants.STATUS_DELETING,
|
constants.STATUS_DELETING,
|
||||||
constants.STATUS_ERROR,
|
constants.STATUS_ERROR,
|
||||||
constants.STATUS_ERROR_DELETING,
|
constants.STATUS_ERROR_DELETING,
|
||||||
|
constants.STATUS_MIGRATING,
|
||||||
|
constants.STATUS_MIGRATING_TO,
|
||||||
]),
|
]),
|
||||||
'replica_state': set([
|
'replica_state': set([
|
||||||
constants.REPLICA_STATE_ACTIVE,
|
constants.REPLICA_STATE_ACTIVE,
|
||||||
|
@ -277,6 +277,24 @@ fixture_invalid_reset_status_body = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
fixture_valid_reset_status_body = (
|
||||||
|
({'os-reset_status': {'status': 'creating'}}, '2.6'),
|
||||||
|
({'os-reset_status': {'status': 'available'}}, '2.6'),
|
||||||
|
({'os-reset_status': {'status': 'deleting'}}, '2.6'),
|
||||||
|
({'os-reset_status': {'status': 'error_deleting'}}, '2.6'),
|
||||||
|
({'os-reset_status': {'status': 'error'}}, '2.6'),
|
||||||
|
({'os-reset_status': {'status': 'migrating'}}, '2.6'),
|
||||||
|
({'os-reset_status': {'status': 'migrating_to'}}, '2.6'),
|
||||||
|
({'reset_status': {'status': 'creating'}}, '2.7'),
|
||||||
|
({'reset_status': {'status': 'available'}}, '2.7'),
|
||||||
|
({'reset_status': {'status': 'deleting'}}, '2.7'),
|
||||||
|
({'reset_status': {'status': 'error_deleting'}}, '2.7'),
|
||||||
|
({'reset_status': {'status': 'error'}}, '2.7'),
|
||||||
|
({'reset_status': {'status': 'migrating'}}, '2.7'),
|
||||||
|
({'reset_status': {'status': 'migrating_to'}}, '2.7'),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def mock_fake_admin_check(context, resource_name, action, *args, **kwargs):
|
def mock_fake_admin_check(context, resource_name, action, *args, **kwargs):
|
||||||
if context.is_admin:
|
if context.is_admin:
|
||||||
return
|
return
|
||||||
|
@ -232,6 +232,20 @@ class ShareInstancesAPITest(test.TestCase):
|
|||||||
self._reset_status(ctxt, instance, req, db.share_instance_get,
|
self._reset_status(ctxt, instance, req, db.share_instance_get,
|
||||||
valid_code, valid_status, version=version)
|
valid_code, valid_status, version=version)
|
||||||
|
|
||||||
|
@ddt.data(*fakes.fixture_valid_reset_status_body)
|
||||||
|
@ddt.unpack
|
||||||
|
def test_share_instance_reset_status(self, body, version):
|
||||||
|
instance, req = self._setup_share_instance_data()
|
||||||
|
req.headers['X-Openstack-Manila-Api-Version'] = version
|
||||||
|
|
||||||
|
if float(version) > 2.6:
|
||||||
|
state = body['reset_status']['status']
|
||||||
|
else:
|
||||||
|
state = body['os-reset_status']['status']
|
||||||
|
self._reset_status(self.admin_context, instance, req,
|
||||||
|
db.share_instance_get, 202,
|
||||||
|
state, body, version=version)
|
||||||
|
|
||||||
@ddt.data(
|
@ddt.data(
|
||||||
({'os-reset_status': {'x-status': 'bad'}}, '2.6'),
|
({'os-reset_status': {'x-status': 'bad'}}, '2.6'),
|
||||||
({'os-reset_status': {'status': 'invalid'}}, '2.6'),
|
({'os-reset_status': {'status': 'invalid'}}, '2.6'),
|
||||||
|
Loading…
Reference in New Issue
Block a user