)]}'
{"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"727623bd2f5bda6c5cac6e7d26d55d445bf082ab","unresolved":false,"context_lines":[{"line_number":1671,"context_line":"            vserver_name\u003dorig_active_vserver)"},{"line_number":1672,"context_line":"        share_name \u003d self._get_backend_share_name("},{"line_number":1673,"context_line":"            orig_active_replica[\u0027id\u0027])"},{"line_number":1674,"context_line":"        orig_active_vserver_client.unmount_volume(share_name,"},{"line_number":1675,"context_line":"                                                  force\u003dTrue)"},{"line_number":1676,"context_line":""},{"line_number":1677,"context_line":"    def _handle_qos_on_replication_change(self, dm_session, new_active_replica,"},{"line_number":1678,"context_line":"                                          orig_active_replica,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_41c04351","line":1675,"range":{"start_line":1674,"start_character":0,"end_line":1675,"end_character":61},"updated":"2019-06-19 14:58:59.000000000","message":"It\u0027s possible that this backend/vserver/share is inaccessible due to a failure. Can you please account for that?","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":29831,"name":"Naresh Kumar Gunjalli","email":"NareshKumar.Gunjalli@netapp.com","username":"nareshkumarg"},"change_message_id":"7b9cb71480a6374a0a8019669e41fafc98ca6725","unresolved":false,"context_lines":[{"line_number":1671,"context_line":"            vserver_name\u003dorig_active_vserver)"},{"line_number":1672,"context_line":"        share_name \u003d self._get_backend_share_name("},{"line_number":1673,"context_line":"            orig_active_replica[\u0027id\u0027])"},{"line_number":1674,"context_line":"        orig_active_vserver_client.unmount_volume(share_name,"},{"line_number":1675,"context_line":"                                                  force\u003dTrue)"},{"line_number":1676,"context_line":""},{"line_number":1677,"context_line":"    def _handle_qos_on_replication_change(self, dm_session, new_active_replica,"},{"line_number":1678,"context_line":"                                          orig_active_replica,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_6f74f736","line":1675,"range":{"start_line":1674,"start_character":0,"end_line":1675,"end_character":61},"in_reply_to":"9fb8cfa7_41c04351","updated":"2019-06-25 15:23:18.000000000","message":"Hey Gautham,\nI am not sure about the ask here?\nAre you suggesting to verify if the respective vserver/volume are up and running before we try to unmount this volume?","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52a757e17d0b1060544f925b5f485411792e9854","unresolved":false,"context_lines":[{"line_number":1671,"context_line":"            vserver_name\u003dorig_active_vserver)"},{"line_number":1672,"context_line":"        share_name \u003d self._get_backend_share_name("},{"line_number":1673,"context_line":"            orig_active_replica[\u0027id\u0027])"},{"line_number":1674,"context_line":"        orig_active_vserver_client.unmount_volume(share_name,"},{"line_number":1675,"context_line":"                                                  force\u003dTrue)"},{"line_number":1676,"context_line":""},{"line_number":1677,"context_line":"    def _handle_qos_on_replication_change(self, dm_session, new_active_replica,"},{"line_number":1678,"context_line":"                                          orig_active_replica,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_d23ee8b6","line":1675,"range":{"start_line":1674,"start_character":0,"end_line":1675,"end_character":61},"in_reply_to":"9fb8cfa7_6f74f736","updated":"2019-06-25 15:38:15.000000000","message":"Nope, EAFP. See that pattern here\n\n[1] https://opendev.org/openstack/manila/src/commit/5d1ef1570b3ae84d3cdeed03feda132297774824/manila/share/drivers/netapp/dataontap/cluster_mode/data_motion.py#L401-L410","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"16416c423ee256a3c1238c37a13eedf2db04cd3e","unresolved":false,"context_lines":[{"line_number":1676,"context_line":"                                                      force\u003dTrue)"},{"line_number":1677,"context_line":"            LOG.info(\"Unmount of the original active replica %s successful.\","},{"line_number":1678,"context_line":"                     orig_active_replica[\u0027id\u0027])"},{"line_number":1679,"context_line":"        except Exception:"},{"line_number":1680,"context_line":"            LOG.exception(\"Could not unmount the original active replica %s.\","},{"line_number":1681,"context_line":"                          orig_active_replica[\u0027id\u0027])"},{"line_number":1682,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_53c86353","line":1679,"range":{"start_line":1679,"start_character":15,"end_line":1679,"end_character":24},"updated":"2019-07-01 14:27:24.000000000","message":"Please handle exception.StorageCommunicationException\n\n\nhttps://realpython.com/the-most-diabolical-python-antipattern/","commit_id":"3851cb1812670ba509b6b30b734ac62c0c68e8dc"},{"author":{"_account_id":29831,"name":"Naresh Kumar Gunjalli","email":"NareshKumar.Gunjalli@netapp.com","username":"nareshkumarg"},"change_message_id":"3b314a834d7a2b6eafd239e4d1d987114ce475f3","unresolved":false,"context_lines":[{"line_number":1676,"context_line":"                                                      force\u003dTrue)"},{"line_number":1677,"context_line":"            LOG.info(\"Unmount of the original active replica %s successful.\","},{"line_number":1678,"context_line":"                     orig_active_replica[\u0027id\u0027])"},{"line_number":1679,"context_line":"        except Exception:"},{"line_number":1680,"context_line":"            LOG.exception(\"Could not unmount the original active replica %s.\","},{"line_number":1681,"context_line":"                          orig_active_replica[\u0027id\u0027])"},{"line_number":1682,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_d613d7ff","line":1679,"range":{"start_line":1679,"start_character":15,"end_line":1679,"end_character":24},"in_reply_to":"9fb8cfa7_53c86353","updated":"2019-07-02 05:30:37.000000000","message":"Done","commit_id":"3851cb1812670ba509b6b30b734ac62c0c68e8dc"}],"manila/tests/share/drivers/netapp/dataontap/cluster_mode/test_lib_base.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"727623bd2f5bda6c5cac6e7d26d55d445bf082ab","unresolved":false,"context_lines":[{"line_number":2976,"context_line":"                         actual_replica_2[\u0027export_locations\u0027])"},{"line_number":2977,"context_line":"        self.assertEqual(constants.STATUS_ACTIVE,"},{"line_number":2978,"context_line":"                         actual_replica_2[\u0027access_rules_status\u0027])"},{"line_number":2979,"context_line":"        self.library._unmount_orig_active_replica.assert_called_once()"},{"line_number":2980,"context_line":"        self.library._handle_qos_on_replication_change.assert_called_once()"},{"line_number":2981,"context_line":""},{"line_number":2982,"context_line":"    def test_promote_replica_destination_unreachable(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_01afab94","line":2979,"range":{"start_line":2979,"start_character":50,"end_line":2979,"end_character":68},"updated":"2019-06-19 14:58:59.000000000","message":"use assert_called_once_with, so you can check parameters.","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":29831,"name":"Naresh Kumar Gunjalli","email":"NareshKumar.Gunjalli@netapp.com","username":"nareshkumarg"},"change_message_id":"7b9cb71480a6374a0a8019669e41fafc98ca6725","unresolved":false,"context_lines":[{"line_number":2976,"context_line":"                         actual_replica_2[\u0027export_locations\u0027])"},{"line_number":2977,"context_line":"        self.assertEqual(constants.STATUS_ACTIVE,"},{"line_number":2978,"context_line":"                         actual_replica_2[\u0027access_rules_status\u0027])"},{"line_number":2979,"context_line":"        self.library._unmount_orig_active_replica.assert_called_once()"},{"line_number":2980,"context_line":"        self.library._handle_qos_on_replication_change.assert_called_once()"},{"line_number":2981,"context_line":""},{"line_number":2982,"context_line":"    def test_promote_replica_destination_unreachable(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_4f957332","line":2979,"range":{"start_line":2979,"start_character":50,"end_line":2979,"end_character":68},"in_reply_to":"9fb8cfa7_01afab94","updated":"2019-06-25 15:23:18.000000000","message":"Done","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"727623bd2f5bda6c5cac6e7d26d55d445bf082ab","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"            lambda x: x[\u0027id\u0027] \u003d\u003d fake_replica_3[\u0027id\u0027], replicas))[0]"},{"line_number":3055,"context_line":"        self.assertEqual(constants.REPLICA_STATE_OUT_OF_SYNC,"},{"line_number":3056,"context_line":"                         actual_replica_3[\u0027replica_state\u0027])"},{"line_number":3057,"context_line":"        self.library._unmount_orig_active_replica.assert_called_once()"},{"line_number":3058,"context_line":"        self.library._handle_qos_on_replication_change.assert_called_once()"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def test_promote_replica_with_access_rules(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_a1933f5c","line":3057,"range":{"start_line":3057,"start_character":50,"end_line":3057,"end_character":68},"updated":"2019-06-19 14:58:59.000000000","message":"use assert_called_once_with, so you can check parameters.","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":29831,"name":"Naresh Kumar Gunjalli","email":"NareshKumar.Gunjalli@netapp.com","username":"nareshkumarg"},"change_message_id":"7b9cb71480a6374a0a8019669e41fafc98ca6725","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"            lambda x: x[\u0027id\u0027] \u003d\u003d fake_replica_3[\u0027id\u0027], replicas))[0]"},{"line_number":3055,"context_line":"        self.assertEqual(constants.REPLICA_STATE_OUT_OF_SYNC,"},{"line_number":3056,"context_line":"                         actual_replica_3[\u0027replica_state\u0027])"},{"line_number":3057,"context_line":"        self.library._unmount_orig_active_replica.assert_called_once()"},{"line_number":3058,"context_line":"        self.library._handle_qos_on_replication_change.assert_called_once()"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def test_promote_replica_with_access_rules(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_ef954733","line":3057,"range":{"start_line":3057,"start_character":50,"end_line":3057,"end_character":68},"in_reply_to":"9fb8cfa7_a1933f5c","updated":"2019-06-25 15:23:18.000000000","message":"Done","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"727623bd2f5bda6c5cac6e7d26d55d445bf082ab","unresolved":false,"context_lines":[{"line_number":3085,"context_line":"        mock_helper.update_access.assert_called_once_with(self.fake_replica_2,"},{"line_number":3086,"context_line":"                                                          share_name,"},{"line_number":3087,"context_line":"                                                          [fake.SHARE_ACCESS])"},{"line_number":3088,"context_line":"        self.library._unmount_orig_active_replica.assert_called_once()"},{"line_number":3089,"context_line":"        self.library._handle_qos_on_replication_change.assert_called_once()"},{"line_number":3090,"context_line":""},{"line_number":3091,"context_line":"    def test_unmount_orig_active_replica(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_619d4765","line":3088,"range":{"start_line":3088,"start_character":50,"end_line":3088,"end_character":68},"updated":"2019-06-19 14:58:59.000000000","message":"use assert_called_once_with, so you can check parameters.","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":29831,"name":"Naresh Kumar Gunjalli","email":"NareshKumar.Gunjalli@netapp.com","username":"nareshkumarg"},"change_message_id":"7b9cb71480a6374a0a8019669e41fafc98ca6725","unresolved":false,"context_lines":[{"line_number":3085,"context_line":"        mock_helper.update_access.assert_called_once_with(self.fake_replica_2,"},{"line_number":3086,"context_line":"                                                          share_name,"},{"line_number":3087,"context_line":"                                                          [fake.SHARE_ACCESS])"},{"line_number":3088,"context_line":"        self.library._unmount_orig_active_replica.assert_called_once()"},{"line_number":3089,"context_line":"        self.library._handle_qos_on_replication_change.assert_called_once()"},{"line_number":3090,"context_line":""},{"line_number":3091,"context_line":"    def test_unmount_orig_active_replica(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_0f9bfb65","line":3088,"range":{"start_line":3088,"start_character":50,"end_line":3088,"end_character":68},"in_reply_to":"9fb8cfa7_619d4765","updated":"2019-06-25 15:23:18.000000000","message":"Done","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"}],"releasenotes/notes/bug-1634278-unmount-orig-active-after-promote-8e24c099ddc1e564.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"727623bd2f5bda6c5cac6e7d26d55d445bf082ab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - The NetApp cDOT driver is now fixed to unmount"},{"line_number":4,"context_line":"    the original active share volume after one of its"},{"line_number":5,"context_line":"    replica gets promoted."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9fb8cfa7_e197f739","line":3,"range":{"start_line":3,"start_character":15,"end_line":3,"end_character":19},"updated":"2019-06-19 14:58:59.000000000","message":"ONTAP","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"},{"author":{"_account_id":29831,"name":"Naresh Kumar Gunjalli","email":"NareshKumar.Gunjalli@netapp.com","username":"nareshkumarg"},"change_message_id":"7b9cb71480a6374a0a8019669e41fafc98ca6725","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - The NetApp cDOT driver is now fixed to unmount"},{"line_number":4,"context_line":"    the original active share volume after one of its"},{"line_number":5,"context_line":"    replica gets promoted."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9fb8cfa7_6f9b9772","line":3,"range":{"start_line":3,"start_character":15,"end_line":3,"end_character":19},"in_reply_to":"9fb8cfa7_e197f739","updated":"2019-06-25 15:23:18.000000000","message":"Done","commit_id":"66e8194068537ca4363d25eef09e84d4e63b2221"}]}
