Revert "Cleanup for Replication v2: remove 'replication-promote'"
Forgot this was a replication v1 command. We need to keep
v1 support around in the client for users with a new client
and old service.
This reverts commit 9685009da2
.
Change-Id: Ifad5ddb021d98b0fc973bc9ea478baccc60f912f
This commit is contained in:
parent
fbc13e4d49
commit
a5907fa6d5
@ -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-promote-replica':
|
||||
assert body[action] is None
|
||||
elif action == 'os-reenable-replica':
|
||||
assert body[action] is None
|
||||
elif action == 'os-set_image_metadata':
|
||||
@ -1085,6 +1087,9 @@ class FakeHTTPClient(base_client.HTTPClient):
|
||||
snapshot.update(kw['body']['snapshot'])
|
||||
return (202, {}, {'snapshot': snapshot})
|
||||
|
||||
def post_os_promote_replica_1234(self, **kw):
|
||||
return (202, {}, {})
|
||||
|
||||
def post_os_reenable_replica_1234(self, **kw):
|
||||
return (202, {}, {})
|
||||
|
||||
|
@ -1029,6 +1029,11 @@ class ShellTest(utils.TestCase):
|
||||
self.assert_called('POST', '/volumes/1234/action',
|
||||
body={'os-unmanage': None})
|
||||
|
||||
def test_replication_promote(self):
|
||||
self.run_command('replication-promote 1234')
|
||||
self.assert_called('POST', '/volumes/1234/action',
|
||||
body={'os-promote-replica': None})
|
||||
|
||||
def test_replication_reenable(self):
|
||||
self.run_command('replication-reenable 1234')
|
||||
self.assert_called('POST', '/volumes/1234/action',
|
||||
|
@ -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_promote(self):
|
||||
v = cs.volumes.get('1234')
|
||||
self._assert_request_id(v)
|
||||
vol = cs.volumes.promote(v)
|
||||
cs.assert_called('POST', '/volumes/1234/action',
|
||||
{'os-promote-replica': None})
|
||||
self._assert_request_id(vol)
|
||||
|
||||
def test_replication_reenable(self):
|
||||
v = cs.volumes.get('1234')
|
||||
self._assert_request_id(v)
|
||||
|
@ -2236,6 +2236,17 @@ def do_unmanage(cs, args):
|
||||
cs.volumes.unmanage(volume.id)
|
||||
|
||||
|
||||
@utils.arg('volume', metavar='<volume>',
|
||||
help='Name or ID of the volume to promote. '
|
||||
'The volume should have the replica volume created with '
|
||||
'source-replica argument.')
|
||||
@utils.service_type('volumev2')
|
||||
def do_replication_promote(cs, args):
|
||||
"""Promote a secondary volume to primary for a relationship."""
|
||||
volume = utils.find_volume(cs, args.volume)
|
||||
cs.volumes.promote(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.')
|
||||
|
@ -587,6 +587,10 @@ class VolumeManager(base.ManagerWithFind):
|
||||
"""Unmanage a volume."""
|
||||
return self._action('os-unmanage', volume, None)
|
||||
|
||||
def promote(self, volume):
|
||||
"""Promote secondary to be primary in relationship."""
|
||||
return self._action('os-promote-replica', volume, None)
|
||||
|
||||
def reenable(self, volume):
|
||||
"""Sync the secondary volume with primary for a relationship."""
|
||||
return self._action('os-reenable-replica', volume, None)
|
||||
|
Loading…
Reference in New Issue
Block a user