Merge "Add ability to failback for replication V2.1"
This commit is contained in:
commit
db2b57aed5
@ -1593,9 +1593,10 @@ class API(base.Base):
|
||||
ctxt = context.get_admin_context()
|
||||
svc_host = volume_utils.extract_host(host, 'backend')
|
||||
|
||||
service = objects.Service.get_by_host_and_topic(
|
||||
service = objects.Service.get_by_args(
|
||||
ctxt, svc_host, CONF.volume_topic)
|
||||
expected = {'replication_status': fields.ReplicationStatus.ENABLED}
|
||||
expected = {'replication_status': [fields.ReplicationStatus.ENABLED,
|
||||
fields.ReplicationStatus.FAILED_OVER]}
|
||||
result = service.conditional_update(
|
||||
{'replication_status': fields.ReplicationStatus.FAILING_OVER},
|
||||
expected)
|
||||
|
@ -3296,6 +3296,14 @@ class VolumeManager(manager.SchedulerDependentManager):
|
||||
secondary_backend_id})
|
||||
return None
|
||||
|
||||
if secondary_backend_id == "default":
|
||||
service.replication_status = fields.ReplicationStatus.ENABLED
|
||||
service.active_backend_id = ""
|
||||
service.disabled = False
|
||||
service.disabled_reason = ""
|
||||
service.save()
|
||||
|
||||
else:
|
||||
service.replication_status = fields.ReplicationStatus.FAILED_OVER
|
||||
service.active_backend_id = active_backend_id
|
||||
service.disabled = True
|
||||
|
Loading…
x
Reference in New Issue
Block a user