)]}'
{"cinder/volume/manager.py":[{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"78b4a7d60c52196978c3a434f54701e5e951b1d3","unresolved":false,"context_lines":[{"line_number":3304,"context_line":"            service.replication_status \u003d fields.ReplicationStatus.FAILED_OVER"},{"line_number":3305,"context_line":"            service.save()"},{"line_number":3306,"context_line":"            exception_encountered \u003d True"},{"line_number":3307,"context_line":"        except exception.InvalidReplicationTarget:"},{"line_number":3308,"context_line":"            LOG.exception(_LE(\"Invalid replication target specified \""},{"line_number":3309,"context_line":"                              \"for failover\"))"},{"line_number":3310,"context_line":"            service.replication_status \u003d fields.ReplicationStatus.ENABLED"},{"line_number":3311,"context_line":"            service.save()"},{"line_number":3312,"context_line":"            exception_encountered \u003d True"},{"line_number":3313,"context_line":"        except exception.VolumeDriverException:"},{"line_number":3314,"context_line":"            # NOTE(jdg): Drivers need to be aware if they fail during"},{"line_number":3315,"context_line":"            # a failover sequence, we\u0027re expecting them to cleanup"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_71c24e54","line":3312,"range":{"start_line":3307,"start_character":7,"end_line":3312,"end_character":40},"updated":"2016-03-10 22:16:02.000000000","message":"The more I look at this the more I think we should just make this handler aware of failback operations happening and have it set the state to enabled or failed-over as needed.\n\nI think UnableToFailBack implies some error happened, same as UnableToFailover does.\n\nI guess maybe we could add a different one like \u0027ReplicationNotReady\u0027 or something that could do something similar too, but for this particular use case I think InvalidReplicationTarget is as good as anything.","commit_id":"0d1f5d2f4c43f18919a10c6d3f239da2f618027c"}]}
