)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9fc3cdb4a8f18011901fed30a985d848ab58faf0","unresolved":false,"context_lines":[{"line_number":14,"context_line":"properly switch between primary and replication back-ends after a"},{"line_number":15,"context_line":"successful failover or failback procedure."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This patch also enables `SUPPORTS_ACTIVE_ACTIVE` flag to the SolidFire"},{"line_number":18,"context_line":"driver, to allow configuring SolidFire backends when volume service"},{"line_number":19,"context_line":"is clustered."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I327f61db5d53c0c3ede962ce52f1a3c00e74b86b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_244586b4","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":13},"updated":"2020-03-23 13:10:16.000000000","message":"Great!","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"56c530d8d7c5d6b0539e3d73416d6bb5f1397b94","unresolved":false,"context_lines":[{"line_number":14,"context_line":"properly switch between primary and replication back-ends after a"},{"line_number":15,"context_line":"successful failover or failback procedure."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This patch also enables `SUPPORTS_ACTIVE_ACTIVE` flag to the SolidFire"},{"line_number":18,"context_line":"driver, to allow configuring SolidFire backends when volume service"},{"line_number":19,"context_line":"is clustered."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I327f61db5d53c0c3ede962ce52f1a3c00e74b86b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_3a2f9188","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":13},"in_reply_to":"df33271e_244586b4","updated":"2020-04-02 13:24:46.000000000","message":"Thanks :)","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"}],"cinder/tests/unit/volume/drivers/solidfire/test_solidfire.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6079d8451eff9f3113d471de0b04e3ea146803f6","unresolved":false,"context_lines":[{"line_number":3186,"context_line":"        sfv.cluster_pairs \u003d self.cluster_pairs"},{"line_number":3187,"context_line":""},{"line_number":3188,"context_line":"        sfv.failover_completed(ctx, \"secondary\")"},{"line_number":3189,"context_line":"        self.assertEqual(sfv.failed_over, True)"},{"line_number":3190,"context_line":"        self.assertDictEqual(sfv.active_cluster, sfv.cluster_pairs[0])"},{"line_number":3191,"context_line":""},{"line_number":3192,"context_line":"        mock_create_cluster_reference.return_value \u003d self.fake_primary_cluster"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_71be5fd5","line":3189,"range":{"start_line":3189,"start_character":8,"end_line":3189,"end_character":47},"updated":"2020-04-02 14:32:37.000000000","message":"Should be assertTrue.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"9014bf0fbe5bbe22621bd44a54541478810e9f7a","unresolved":false,"context_lines":[{"line_number":3186,"context_line":"        sfv.cluster_pairs \u003d self.cluster_pairs"},{"line_number":3187,"context_line":""},{"line_number":3188,"context_line":"        sfv.failover_completed(ctx, \"secondary\")"},{"line_number":3189,"context_line":"        self.assertEqual(sfv.failed_over, True)"},{"line_number":3190,"context_line":"        self.assertDictEqual(sfv.active_cluster, sfv.cluster_pairs[0])"},{"line_number":3191,"context_line":""},{"line_number":3192,"context_line":"        mock_create_cluster_reference.return_value \u003d self.fake_primary_cluster"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_1afebf04","line":3189,"range":{"start_line":3189,"start_character":8,"end_line":3189,"end_character":47},"in_reply_to":"df33271e_71be5fd5","updated":"2020-04-06 18:03:16.000000000","message":"Done","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6079d8451eff9f3113d471de0b04e3ea146803f6","unresolved":false,"context_lines":[{"line_number":3191,"context_line":""},{"line_number":3192,"context_line":"        mock_create_cluster_reference.return_value \u003d self.fake_primary_cluster"},{"line_number":3193,"context_line":"        sfv.failover_completed(ctx, None)"},{"line_number":3194,"context_line":"        self.assertEqual(sfv.failed_over, False)"},{"line_number":3195,"context_line":"        mock_create_cluster_reference.assert_called()"},{"line_number":3196,"context_line":"        self.assertDictEqual(sfv.active_cluster, self.fake_primary_cluster)"},{"line_number":3197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b1b467f3","line":3194,"range":{"start_line":3194,"start_character":8,"end_line":3194,"end_character":48},"updated":"2020-04-02 14:32:37.000000000","message":"Should be assertFalse.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"9014bf0fbe5bbe22621bd44a54541478810e9f7a","unresolved":false,"context_lines":[{"line_number":3191,"context_line":""},{"line_number":3192,"context_line":"        mock_create_cluster_reference.return_value \u003d self.fake_primary_cluster"},{"line_number":3193,"context_line":"        sfv.failover_completed(ctx, None)"},{"line_number":3194,"context_line":"        self.assertEqual(sfv.failed_over, False)"},{"line_number":3195,"context_line":"        mock_create_cluster_reference.assert_called()"},{"line_number":3196,"context_line":"        self.assertDictEqual(sfv.active_cluster, self.fake_primary_cluster)"},{"line_number":3197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_3a0d8337","line":3194,"range":{"start_line":3194,"start_character":8,"end_line":3194,"end_character":48},"in_reply_to":"df33271e_b1b467f3","updated":"2020-04-06 18:03:16.000000000","message":"Done","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"}],"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de74625aef3bc6e946df2cb85011cf41231ba0f8","unresolved":false,"context_lines":[{"line_number":2401,"context_line":"            LOG.info(\"Failing over to secondary cluster %s.\", secondary_id)"},{"line_number":2402,"context_line":"            remote \u003d self.cluster_pairs[0]"},{"line_number":2403,"context_line":""},{"line_number":2404,"context_line":"        LOG.debug(\"Target cluster to failover: %s.\", remote)"},{"line_number":2405,"context_line":"        LOG.debug(\"Target cluster info: %s.\", remote)"},{"line_number":2406,"context_line":""},{"line_number":2407,"context_line":"        target_vols \u003d self._map_sf_volumes(volumes,"},{"line_number":2408,"context_line":"                                           endpoint\u003dremote[\u0027endpoint\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b1cf4727","line":2405,"range":{"start_line":2404,"start_character":0,"end_line":2405,"end_character":53},"updated":"2020-04-02 15:19:59.000000000","message":"-1: This is logging twice the same information.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"9014bf0fbe5bbe22621bd44a54541478810e9f7a","unresolved":false,"context_lines":[{"line_number":2401,"context_line":"            LOG.info(\"Failing over to secondary cluster %s.\", secondary_id)"},{"line_number":2402,"context_line":"            remote \u003d self.cluster_pairs[0]"},{"line_number":2403,"context_line":""},{"line_number":2404,"context_line":"        LOG.debug(\"Target cluster to failover: %s.\", remote)"},{"line_number":2405,"context_line":"        LOG.debug(\"Target cluster info: %s.\", remote)"},{"line_number":2406,"context_line":""},{"line_number":2407,"context_line":"        target_vols \u003d self._map_sf_volumes(volumes,"},{"line_number":2408,"context_line":"                                           endpoint\u003dremote[\u0027endpoint\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_7a3c2bbf","line":2405,"range":{"start_line":2404,"start_character":0,"end_line":2405,"end_character":53},"in_reply_to":"df33271e_b1cf4727","updated":"2020-04-06 18:03:16.000000000","message":"Done","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de74625aef3bc6e946df2cb85011cf41231ba0f8","unresolved":false,"context_lines":[{"line_number":2414,"context_line":"            primary_vols \u003d self._map_sf_volumes(volumes)"},{"line_number":2415,"context_line":"            LOG.debug(\"Total Cinder volumes found in primary cluster: %d\","},{"line_number":2416,"context_line":"                      len(primary_vols))"},{"line_number":2417,"context_line":"            LOG.trace(\"Mapped Primary_vols: %s\", primary_vols)"},{"line_number":2418,"context_line":""},{"line_number":2419,"context_line":"        except SolidFireAPIException:"},{"line_number":2420,"context_line":"            # API Request failed on source. Failover/failback will skip next"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_d1ae4b2c","line":2417,"updated":"2020-04-02 15:19:59.000000000","message":"nice fix  :-)","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"9014bf0fbe5bbe22621bd44a54541478810e9f7a","unresolved":false,"context_lines":[{"line_number":2414,"context_line":"            primary_vols \u003d self._map_sf_volumes(volumes)"},{"line_number":2415,"context_line":"            LOG.debug(\"Total Cinder volumes found in primary cluster: %d\","},{"line_number":2416,"context_line":"                      len(primary_vols))"},{"line_number":2417,"context_line":"            LOG.trace(\"Mapped Primary_vols: %s\", primary_vols)"},{"line_number":2418,"context_line":""},{"line_number":2419,"context_line":"        except SolidFireAPIException:"},{"line_number":2420,"context_line":"            # API Request failed on source. Failover/failback will skip next"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_3a746399","line":2417,"in_reply_to":"df33271e_d1ae4b2c","updated":"2020-04-06 18:03:16.000000000","message":":)","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de74625aef3bc6e946df2cb85011cf41231ba0f8","unresolved":false,"context_lines":[{"line_number":2458,"context_line":""},{"line_number":2459,"context_line":"                    sf_account \u003d self._get_create_account("},{"line_number":2460,"context_line":"                        v.project_id, endpoint\u003dremote[\u0027endpoint\u0027])"},{"line_number":2461,"context_line":"                    LOG.debug(\"Target account: %s\", sf_account)"},{"line_number":2462,"context_line":""},{"line_number":2463,"context_line":"                    conn_info \u003d self._build_connection_info("},{"line_number":2464,"context_line":"                        sf_account, target_vol, endpoint\u003dremote[\u0027endpoint\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_916e83fd","line":2461,"updated":"2020-04-02 15:19:59.000000000","message":"?: I assume this doesn\u0027t contain usernames or passwords, right?","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"9014bf0fbe5bbe22621bd44a54541478810e9f7a","unresolved":false,"context_lines":[{"line_number":2458,"context_line":""},{"line_number":2459,"context_line":"                    sf_account \u003d self._get_create_account("},{"line_number":2460,"context_line":"                        v.project_id, endpoint\u003dremote[\u0027endpoint\u0027])"},{"line_number":2461,"context_line":"                    LOG.debug(\"Target account: %s\", sf_account)"},{"line_number":2462,"context_line":""},{"line_number":2463,"context_line":"                    conn_info \u003d self._build_connection_info("},{"line_number":2464,"context_line":"                        sf_account, target_vol, endpoint\u003dremote[\u0027endpoint\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_faecbb2a","line":2461,"in_reply_to":"df33271e_916e83fd","updated":"2020-04-06 18:03:16.000000000","message":"This does not include cluster user and passwd but contains some data regarding isci connection. I changed to display just the account id.\n\nAlso, I\u0027ve changed other debug logs in this method to display only the most significant fields.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de74625aef3bc6e946df2cb85011cf41231ba0f8","unresolved":false,"context_lines":[{"line_number":2500,"context_line":"    def failover_completed(self, context, active_backend_id\u003dNone):"},{"line_number":2501,"context_line":"        \"\"\"Update volume node when failover is completed.\"\"\""},{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"        # FIXME(sfernand): When clustered, manager currently sends"},{"line_number":2504,"context_line":"        # active_backend_id \u003d None as the result of a failback or"},{"line_number":2505,"context_line":"        # in case of a failover error. This means failover_completed will"},{"line_number":2506,"context_line":"        # update active cluster back to default for both scenarios, which"},{"line_number":2507,"context_line":"        # is not the expected behavior."},{"line_number":2508,"context_line":"        # We should have a way to avoid changing active cluster in case"},{"line_number":2509,"context_line":"        # failover procedure is aborted due to an error."},{"line_number":2510,"context_line":"        if not active_backend_id or active_backend_id \u003d\u003d \u0027default\u0027:"},{"line_number":2511,"context_line":"            LOG.info(\"Failback completed. \""},{"line_number":2512,"context_line":"                     \"Switching active cluster back to default.\")"},{"line_number":2513,"context_line":"            # FIXME(sfernand): Driver will be in an error state if it fails"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_64ba1bc1","line":2510,"range":{"start_line":2503,"start_character":0,"end_line":2510,"end_character":67},"updated":"2020-04-02 15:19:59.000000000","message":"-1: I don\u0027t think that is correct.\n\nIf I\u0027m not mistaken for a failback you will get:\n\n- Success: \u0027\u0027 if the operation was successful.\n- Error: The previous `active_backend_id` \n\nFor failover:\n\n- Success: The new backend id\n- Error: The old backend id\n\nCould you recheck, please?","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"7de4f3d3c2246451a1f4190a06efd267e6ae5893","unresolved":false,"context_lines":[{"line_number":2500,"context_line":"    def failover_completed(self, context, active_backend_id\u003dNone):"},{"line_number":2501,"context_line":"        \"\"\"Update volume node when failover is completed.\"\"\""},{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"        # FIXME(sfernand): When clustered, manager currently sends"},{"line_number":2504,"context_line":"        # active_backend_id \u003d None as the result of a failback or"},{"line_number":2505,"context_line":"        # in case of a failover error. This means failover_completed will"},{"line_number":2506,"context_line":"        # update active cluster back to default for both scenarios, which"},{"line_number":2507,"context_line":"        # is not the expected behavior."},{"line_number":2508,"context_line":"        # We should have a way to avoid changing active cluster in case"},{"line_number":2509,"context_line":"        # failover procedure is aborted due to an error."},{"line_number":2510,"context_line":"        if not active_backend_id or active_backend_id \u003d\u003d \u0027default\u0027:"},{"line_number":2511,"context_line":"            LOG.info(\"Failback completed. \""},{"line_number":2512,"context_line":"                     \"Switching active cluster back to default.\")"},{"line_number":2513,"context_line":"            # FIXME(sfernand): Driver will be in an error state if it fails"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_450d0836","line":2510,"range":{"start_line":2503,"start_character":0,"end_line":2510,"end_character":67},"in_reply_to":"df33271e_64ba1bc1","updated":"2020-04-06 18:44:27.000000000","message":"You are correct. If failover fails, manager will catch the exception and call `failover_completed` using the previous active_backend_id (empty string when backend is not in failed-over state). \n\nI just wondering if calling `failover_completed` is really necessary when `failover` fails. As the driver is unaware of the failure, it will try to set to the backend he is already using.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"772d468f1ceebea477760aa5f40a72690ba60279","unresolved":false,"context_lines":[{"line_number":2388,"context_line":"            raise exception.InvalidReplicationTarget(msg)"},{"line_number":2389,"context_line":"        elif secondary_id \u003d\u003d \"default\" and self.failed_over:"},{"line_number":2390,"context_line":"            LOG.info(\"Failing back to primary cluster.\")"},{"line_number":2391,"context_line":"            # FIXME(sfernand): We should abort the failback if driver fails to"},{"line_number":2392,"context_line":"            # gather information from primary cluster."},{"line_number":2393,"context_line":"            remote \u003d self._create_cluster_reference()"},{"line_number":2394,"context_line":"            failback \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_0a1c9168","line":2391,"updated":"2020-04-07 16:29:55.000000000","message":"Does this Fixme label still apply","commit_id":"8c89a9e548e9ae52898b556fdbcd282c37c69d05"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"ca88cd89fad0e39a8e5e4f15798fe55875135744","unresolved":false,"context_lines":[{"line_number":2388,"context_line":"            raise exception.InvalidReplicationTarget(msg)"},{"line_number":2389,"context_line":"        elif secondary_id \u003d\u003d \"default\" and self.failed_over:"},{"line_number":2390,"context_line":"            LOG.info(\"Failing back to primary cluster.\")"},{"line_number":2391,"context_line":"            # FIXME(sfernand): We should abort the failback if driver fails to"},{"line_number":2392,"context_line":"            # gather information from primary cluster."},{"line_number":2393,"context_line":"            remote \u003d self._create_cluster_reference()"},{"line_number":2394,"context_line":"            failback \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_33671bec","line":2391,"in_reply_to":"df33271e_0a1c9168","updated":"2020-04-09 07:47:31.000000000","message":"Hi Jay, I removed the comment. Thanks!","commit_id":"8c89a9e548e9ae52898b556fdbcd282c37c69d05"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"772d468f1ceebea477760aa5f40a72690ba60279","unresolved":false,"context_lines":[{"line_number":2514,"context_line":"                with the previous active_backend_id (Will be empty string"},{"line_number":2515,"context_line":"                in case backend wasn\u0027t in failed-over state)."},{"line_number":2516,"context_line":"        \"\"\""},{"line_number":2517,"context_line":"        # FIXME(sfernand): We should have a way to avoid changing active"},{"line_number":2518,"context_line":"        # cluster in case `failover` fails. Perhaps manager shouldn\u0027t call"},{"line_number":2519,"context_line":"        # `failover_completed if `failover` raised an exception."},{"line_number":2520,"context_line":"        if not active_backend_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_67163858","line":2517,"updated":"2020-04-07 16:29:55.000000000","message":"Is the fixme still valid or should this comment be removed","commit_id":"8c89a9e548e9ae52898b556fdbcd282c37c69d05"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"ca88cd89fad0e39a8e5e4f15798fe55875135744","unresolved":false,"context_lines":[{"line_number":2514,"context_line":"                with the previous active_backend_id (Will be empty string"},{"line_number":2515,"context_line":"                in case backend wasn\u0027t in failed-over state)."},{"line_number":2516,"context_line":"        \"\"\""},{"line_number":2517,"context_line":"        # FIXME(sfernand): We should have a way to avoid changing active"},{"line_number":2518,"context_line":"        # cluster in case `failover` fails. Perhaps manager shouldn\u0027t call"},{"line_number":2519,"context_line":"        # `failover_completed if `failover` raised an exception."},{"line_number":2520,"context_line":"        if not active_backend_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_13a2d7fc","line":2517,"in_reply_to":"df33271e_67163858","updated":"2020-04-09 07:47:31.000000000","message":"Comment removed.","commit_id":"8c89a9e548e9ae52898b556fdbcd282c37c69d05"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"772d468f1ceebea477760aa5f40a72690ba60279","unresolved":false,"context_lines":[{"line_number":2520,"context_line":"        if not active_backend_id:"},{"line_number":2521,"context_line":"            LOG.info(\"Failback completed. \""},{"line_number":2522,"context_line":"                     \"Switching active cluster back to default.\")"},{"line_number":2523,"context_line":"            # FIXME(sfernand): Driver will be in an error state if it fails"},{"line_number":2524,"context_line":"            # to gather information from primary cluster."},{"line_number":2525,"context_line":"            self.active_cluster \u003d self._create_cluster_reference()"},{"line_number":2526,"context_line":"            self.failed_over \u003d False"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_2a019505","line":2523,"updated":"2020-04-07 16:29:55.000000000","message":"does this fixme  label  still apply","commit_id":"8c89a9e548e9ae52898b556fdbcd282c37c69d05"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"ca88cd89fad0e39a8e5e4f15798fe55875135744","unresolved":false,"context_lines":[{"line_number":2520,"context_line":"        if not active_backend_id:"},{"line_number":2521,"context_line":"            LOG.info(\"Failback completed. \""},{"line_number":2522,"context_line":"                     \"Switching active cluster back to default.\")"},{"line_number":2523,"context_line":"            # FIXME(sfernand): Driver will be in an error state if it fails"},{"line_number":2524,"context_line":"            # to gather information from primary cluster."},{"line_number":2525,"context_line":"            self.active_cluster \u003d self._create_cluster_reference()"},{"line_number":2526,"context_line":"            self.failed_over \u003d False"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f3a6530f","line":2523,"in_reply_to":"df33271e_2a019505","updated":"2020-04-09 07:47:31.000000000","message":"Comment removed.","commit_id":"8c89a9e548e9ae52898b556fdbcd282c37c69d05"}],"doc/source/reference/support-matrix.ini":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4b449a00877f73a6fd25c55210cefe360cd18179","unresolved":false,"context_lines":[{"line_number":870,"context_line":"driver.macrosan\u003dcomplete"},{"line_number":871,"context_line":"driver.nec\u003dmissing"},{"line_number":872,"context_line":"driver.netapp_ontap\u003dmissing"},{"line_number":873,"context_line":"driver.netapp_solidfire\u003dmissing"},{"line_number":874,"context_line":"driver.nexenta\u003dmissing"},{"line_number":875,"context_line":"driver.nfs\u003dmissing"},{"line_number":876,"context_line":"driver.nimble\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":10,"id":"df33271e_4525ac5b","line":873,"updated":"2020-04-09 13:38:38.000000000","message":"Is it appropriate to update this?  Or is there a difference between what you are claiming to support on this patch and A/A for High Availability?","commit_id":"3cfc40fb6becf7b6f1d685fd8efac979826f671a"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"27e27776b5b74fb3536f3c20a22397a4aae609ff","unresolved":false,"context_lines":[{"line_number":870,"context_line":"driver.macrosan\u003dcomplete"},{"line_number":871,"context_line":"driver.nec\u003dmissing"},{"line_number":872,"context_line":"driver.netapp_ontap\u003dmissing"},{"line_number":873,"context_line":"driver.netapp_solidfire\u003dmissing"},{"line_number":874,"context_line":"driver.nexenta\u003dmissing"},{"line_number":875,"context_line":"driver.nfs\u003dmissing"},{"line_number":876,"context_line":"driver.nimble\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":10,"id":"df33271e_730a2c20","line":873,"in_reply_to":"df33271e_4525ac5b","updated":"2020-04-10 06:34:24.000000000","message":"A rookie mistake, I should have updated this.","commit_id":"3cfc40fb6becf7b6f1d685fd8efac979826f671a"}],"releasenotes/notes/solidfire-active-active-replication-support-f77e0e12320f8b21.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6079d8451eff9f3113d471de0b04e3ea146803f6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp SolidFire driver: Enabled support for Active/Active to"},{"line_number":5,"context_line":"    the SolidFire driver. This allows users to configure SolidFire"},{"line_number":6,"context_line":"    backends in clustered environments."},{"line_number":7,"context_line":"    Added support for active-active replication."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df33271e_319df765","line":4,"range":{"start_line":4,"start_character":49,"end_line":4,"end_character":65},"updated":"2020-04-02 14:32:37.000000000","message":"Would be good to clarify this by stating \"replication\" in here.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de74625aef3bc6e946df2cb85011cf41231ba0f8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp SolidFire driver: Enabled support for Active/Active to"},{"line_number":5,"context_line":"    the SolidFire driver. This allows users to configure SolidFire"},{"line_number":6,"context_line":"    backends in clustered environments."},{"line_number":7,"context_line":"    Added support for active-active replication."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df33271e_a45a637f","line":4,"range":{"start_line":4,"start_character":49,"end_line":4,"end_character":65},"in_reply_to":"df33271e_319df765","updated":"2020-04-02 15:19:59.000000000","message":"I think it\u0027s OK, since it\u0027s enabling A/A and adding support for replicated A/A in order to support the same features as in A/P.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f245eb4c447b60274a1bc51b4b63860e8c4a5d47","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp SolidFire driver: Enabled support for Active/Active to"},{"line_number":5,"context_line":"    the SolidFire driver. This allows users to configure SolidFire"},{"line_number":6,"context_line":"    backends in clustered environments."},{"line_number":7,"context_line":"    Added support for active-active replication."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df33271e_27f2d59a","line":4,"range":{"start_line":4,"start_character":49,"end_line":4,"end_character":65},"in_reply_to":"df33271e_a45a637f","updated":"2020-04-02 15:42:53.000000000","message":"Oh right, good point. The text confused me, so I think a little more precise wording would be better.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6079d8451eff9f3113d471de0b04e3ea146803f6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    NetApp SolidFire driver: Enabled support for Active/Active to"},{"line_number":5,"context_line":"    the SolidFire driver. This allows users to configure SolidFire"},{"line_number":6,"context_line":"    backends in clustered environments."},{"line_number":7,"context_line":"    Added support for active-active replication."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df33271e_518fdb28","line":7,"range":{"start_line":7,"start_character":3,"end_line":7,"end_character":48},"updated":"2020-04-02 14:32:37.000000000","message":"Then this line can be dropped since it\u0027s an odd addition on the end.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"2992d743c3dd6c33325831500e3a14681ed4ac9b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    NetApp SolidFire driver: Enabled support for Active/Active to"},{"line_number":5,"context_line":"    the SolidFire driver. This allows users to configure SolidFire"},{"line_number":6,"context_line":"    backends in clustered environments."},{"line_number":7,"context_line":"    Added support for active-active replication."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df33271e_5b77963b","line":7,"range":{"start_line":7,"start_character":3,"end_line":7,"end_character":48},"in_reply_to":"df33271e_04deafd8","updated":"2020-04-07 14:07:32.000000000","message":"Thanks Sean and Gorka. I\u0027ve added (including replication) to the first paragraph and deleted this one.\n\nDo you folks think it\u0027s ok now or it\u0027s still missing a better explanation?","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de74625aef3bc6e946df2cb85011cf41231ba0f8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    NetApp SolidFire driver: Enabled support for Active/Active to"},{"line_number":5,"context_line":"    the SolidFire driver. This allows users to configure SolidFire"},{"line_number":6,"context_line":"    backends in clustered environments."},{"line_number":7,"context_line":"    Added support for active-active replication."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df33271e_04deafd8","line":7,"range":{"start_line":7,"start_character":3,"end_line":7,"end_character":48},"in_reply_to":"df33271e_518fdb28","updated":"2020-04-02 15:19:59.000000000","message":"I agree, and if you really want to reflect that this is also supported you can always mention it on the first paragraph saying \"support for Active/Active (including replication)\" or something like that.","commit_id":"355679c66d3dd6e22c460a2d11fa5d98ed271a10"}]}
