Merge "Revert "Cleanup for Replication v2: remove 'replication-reenable'.""
This commit is contained in:
commit
fbc13e4d49
@ -455,6 +455,8 @@ class FakeHTTPClient(base_client.HTTPClient):
|
||||
assert list(body[action]) == ['bootable']
|
||||
elif action == 'os-unmanage':
|
||||
assert body[action] is None
|
||||
elif action == 'os-reenable-replica':
|
||||
assert body[action] is None
|
||||
elif action == 'os-set_image_metadata':
|
||||
assert list(body[action]) == ['metadata']
|
||||
elif action == 'os-unset_image_metadata':
|
||||
@ -1083,6 +1085,9 @@ class FakeHTTPClient(base_client.HTTPClient):
|
||||
snapshot.update(kw['body']['snapshot'])
|
||||
return (202, {}, {'snapshot': snapshot})
|
||||
|
||||
def post_os_reenable_replica_1234(self, **kw):
|
||||
return (202, {}, {})
|
||||
|
||||
def get_scheduler_stats_get_pools(self, **kw):
|
||||
stats = [
|
||||
{
|
||||
|
@ -1029,6 +1029,11 @@ class ShellTest(utils.TestCase):
|
||||
self.assert_called('POST', '/volumes/1234/action',
|
||||
body={'os-unmanage': None})
|
||||
|
||||
def test_replication_reenable(self):
|
||||
self.run_command('replication-reenable 1234')
|
||||
self.assert_called('POST', '/volumes/1234/action',
|
||||
body={'os-reenable-replica': None})
|
||||
|
||||
def test_create_snapshot_from_volume_with_metadata(self):
|
||||
"""
|
||||
Tests create snapshot with --metadata parameter.
|
||||
|
@ -281,6 +281,14 @@ class VolumesTest(utils.TestCase):
|
||||
cs.assert_called('POST', '/os-snapshot-manage', {'snapshot': expected})
|
||||
self._assert_request_id(vol)
|
||||
|
||||
def test_replication_reenable(self):
|
||||
v = cs.volumes.get('1234')
|
||||
self._assert_request_id(v)
|
||||
vol = cs.volumes.reenable(v)
|
||||
cs.assert_called('POST', '/volumes/1234/action',
|
||||
{'os-reenable-replica': None})
|
||||
self._assert_request_id(vol)
|
||||
|
||||
def test_get_pools(self):
|
||||
vol = cs.volumes.get_pools('')
|
||||
cs.assert_called('GET', '/scheduler-stats/get_pools')
|
||||
|
@ -2236,6 +2236,16 @@ def do_unmanage(cs, args):
|
||||
cs.volumes.unmanage(volume.id)
|
||||
|
||||
|
||||
@utils.arg('volume', metavar='<volume>',
|
||||
help='Name or ID of the volume to reenable replication. '
|
||||
'The replication-status of the volume should be inactive.')
|
||||
@utils.service_type('volumev2')
|
||||
def do_replication_reenable(cs, args):
|
||||
"""Sync the secondary volume with primary for a relationship."""
|
||||
volume = utils.find_volume(cs, args.volume)
|
||||
cs.volumes.reenable(volume.id)
|
||||
|
||||
|
||||
@utils.arg('--all-tenants',
|
||||
dest='all_tenants',
|
||||
metavar='<0|1>',
|
||||
|
@ -587,6 +587,10 @@ class VolumeManager(base.ManagerWithFind):
|
||||
"""Unmanage a volume."""
|
||||
return self._action('os-unmanage', volume, None)
|
||||
|
||||
def reenable(self, volume):
|
||||
"""Sync the secondary volume with primary for a relationship."""
|
||||
return self._action('os-reenable-replica', volume, None)
|
||||
|
||||
def get_pools(self, detail):
|
||||
"""Show pool information for backends."""
|
||||
query_string = ""
|
||||
|
Loading…
Reference in New Issue
Block a user