)]}'
{"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4e7e87882cb14f625334784d017d8bdedfb1f10f","unresolved":true,"context_lines":[{"line_number":4809,"context_line":"               \u0027reason\u0027: \u0027site1 is down\u0027})"},{"line_number":4810,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":4811,"context_line":"                       \u0027get_node_info\u0027)"},{"line_number":4812,"context_line":"    def test_get_hyperswap_storage_state(self, node_data, get_node_info):"},{"line_number":4813,"context_line":"        get_node_info.return_value \u003d {\u00277\u0027: {\u0027id\u0027: \u00277\u0027, \u0027name\u0027: \u0027node1\u0027,"},{"line_number":4814,"context_line":"                                            \u0027status\u0027: node_data[\u0027node1\u0027],"},{"line_number":4815,"context_line":"                                            \u0027site_id\u0027: \u00271\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c93e31c0_aa1f8acd","line":4812,"updated":"2021-09-02 13:05:44.000000000","message":"We are missing coverage of changes in _update_volume_stats and get_node_info methods","commit_id":"fc9c1dd03f83301bf53f7bd8c2206beb8171d4a4"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"60d5e9ccc0491fd58744a9b7f905d256b0a50ac0","unresolved":false,"context_lines":[{"line_number":4809,"context_line":"               \u0027reason\u0027: \u0027site1 is down\u0027})"},{"line_number":4810,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":4811,"context_line":"                       \u0027get_node_info\u0027)"},{"line_number":4812,"context_line":"    def test_get_hyperswap_storage_state(self, node_data, get_node_info):"},{"line_number":4813,"context_line":"        get_node_info.return_value \u003d {\u00277\u0027: {\u0027id\u0027: \u00277\u0027, \u0027name\u0027: \u0027node1\u0027,"},{"line_number":4814,"context_line":"                                            \u0027status\u0027: node_data[\u0027node1\u0027],"},{"line_number":4815,"context_line":"                                            \u0027site_id\u0027: \u00271\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"db764b31_12af1116","line":4812,"in_reply_to":"c93e31c0_aa1f8acd","updated":"2021-09-07 04:52:48.000000000","message":"Add UT in the latest patch covering both the methods","commit_id":"fc9c1dd03f83301bf53f7bd8c2206beb8171d4a4"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84af20ee0325e62a65468792b729e5444b7ab42b","unresolved":true,"context_lines":[{"line_number":5939,"context_line":"        site_node_info \u003d {}"},{"line_number":5940,"context_line":"        site_node_down_info \u003d {}"},{"line_number":5941,"context_line":""},{"line_number":5942,"context_line":"        storage_nodes \u003d self._helpers.get_node_info(False)"},{"line_number":5943,"context_line":""},{"line_number":5944,"context_line":"        for node, node_info in storage_nodes.items():"},{"line_number":5945,"context_line":"            if node_info[\u0027site_id\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"0f2fb656_39589afd","line":5942,"range":{"start_line":5942,"start_character":52,"end_line":5942,"end_character":57},"updated":"2021-08-02 18:59:05.000000000","message":"It would be helpful to the reader if you had \u0027online_node\u003dFalse\u0027 here.","commit_id":"eb566c14303850bbc86c84046fa7a618ea49dbc9"},{"author":{"_account_id":32171,"name":"Girish Chilukuri","email":"girish.chilukuri@ibm.com","username":"GirishChilukuri"},"change_message_id":"f9279bddbafa7cb39273850e7dd7023eea00f730","unresolved":true,"context_lines":[{"line_number":5939,"context_line":"        site_node_info \u003d {}"},{"line_number":5940,"context_line":"        site_node_down_info \u003d {}"},{"line_number":5941,"context_line":""},{"line_number":5942,"context_line":"        storage_nodes \u003d self._helpers.get_node_info(False)"},{"line_number":5943,"context_line":""},{"line_number":5944,"context_line":"        for node, node_info in storage_nodes.items():"},{"line_number":5945,"context_line":"            if node_info[\u0027site_id\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"958675d0_fb0e0151","line":5942,"range":{"start_line":5942,"start_character":52,"end_line":5942,"end_character":57},"in_reply_to":"0f2fb656_39589afd","updated":"2021-08-06 15:48:08.000000000","message":"Addressed review comment.","commit_id":"eb566c14303850bbc86c84046fa7a618ea49dbc9"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c42e8e9800688684f9b09d1495fd1041322fcc7f","unresolved":true,"context_lines":[{"line_number":6140,"context_line":"            data[\u0027replication_targets\u0027] \u003d self._get_replication_targets()"},{"line_number":6141,"context_line":"            data[\u0027consistent_group_replication_enabled\u0027] \u003d True"},{"line_number":6142,"context_line":""},{"line_number":6143,"context_line":"        if self._helpers.is_system_topology_hyperswap(self._state):"},{"line_number":6144,"context_line":"            data[\u0027replication_enabled\u0027] \u003d True"},{"line_number":6145,"context_line":"            try:"},{"line_number":6146,"context_line":"                state, reason \u003d self.get_hyperswap_storage_state()"},{"line_number":6147,"context_line":"                if state !\u003d fields.ReplicationStatus.ENABLED:"},{"line_number":6148,"context_line":"                    data[\u0027replication_enabled\u0027] \u003d False"},{"line_number":6149,"context_line":"                    data[\u0027disabled_reason\u0027] \u003d reason"},{"line_number":6150,"context_line":"            except exception.VolumeBackendAPIException as exc:"},{"line_number":6151,"context_line":"                LOG.warning(\"Failed to get node info. \""},{"line_number":6152,"context_line":"                            \"Exception: %(ex)s.\", {\u0027ex\u0027: exc.msg})"},{"line_number":6153,"context_line":""},{"line_number":6154,"context_line":"        self._stats \u003d data"},{"line_number":6155,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"64285794_852a81d7","line":6152,"range":{"start_line":6143,"start_character":0,"end_line":6152,"end_character":66},"updated":"2021-09-07 08:48:39.000000000","message":"One thing I\u0027m not sure about and wanted to ask, we have backend_stats_polling_interval set to 60 seconds i.e. _update_volume_stats gets called every 60 seconds.\nThis code does a call to the backends lsnode() method and multiple looping so I\u0027m not sure if it\u0027s gonna slow down this operation further since _update_volume_stats is already an expensive operation.","commit_id":"bf399d06bf284810c6edf29a171e40411daa468c"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"10b752f64d797fc7de5836e0ef07e7f7fd48d4d9","unresolved":true,"context_lines":[{"line_number":6140,"context_line":"            data[\u0027replication_targets\u0027] \u003d self._get_replication_targets()"},{"line_number":6141,"context_line":"            data[\u0027consistent_group_replication_enabled\u0027] \u003d True"},{"line_number":6142,"context_line":""},{"line_number":6143,"context_line":"        if self._helpers.is_system_topology_hyperswap(self._state):"},{"line_number":6144,"context_line":"            data[\u0027replication_enabled\u0027] \u003d True"},{"line_number":6145,"context_line":"            try:"},{"line_number":6146,"context_line":"                state, reason \u003d self.get_hyperswap_storage_state()"},{"line_number":6147,"context_line":"                if state !\u003d fields.ReplicationStatus.ENABLED:"},{"line_number":6148,"context_line":"                    data[\u0027replication_enabled\u0027] \u003d False"},{"line_number":6149,"context_line":"                    data[\u0027disabled_reason\u0027] \u003d reason"},{"line_number":6150,"context_line":"            except exception.VolumeBackendAPIException as exc:"},{"line_number":6151,"context_line":"                LOG.warning(\"Failed to get node info. \""},{"line_number":6152,"context_line":"                            \"Exception: %(ex)s.\", {\u0027ex\u0027: exc.msg})"},{"line_number":6153,"context_line":""},{"line_number":6154,"context_line":"        self._stats \u003d data"},{"line_number":6155,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7f7fdba9_ed6b84f9","line":6152,"range":{"start_line":6143,"start_character":0,"end_line":6152,"end_character":66},"in_reply_to":"64285794_852a81d7","updated":"2021-09-07 11:13:08.000000000","message":"yes i agree and customer is aware of it that every periodic call will have one additonal command to fetch the nodes state.\nAlso this is only for hyperswap topology and not for any other non-rep, GM, GMCV types.\nCurrently hyperswap replication_status is disabled, customer wants it to be enabled and refreshed based on the current storage state, it can be achieved only by updating the state during periodic call.","commit_id":"bf399d06bf284810c6edf29a171e40411daa468c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"233aa561f2ee5447d84bd3d1e4b69d5be5b4f00d","unresolved":false,"context_lines":[{"line_number":6140,"context_line":"            data[\u0027replication_targets\u0027] \u003d self._get_replication_targets()"},{"line_number":6141,"context_line":"            data[\u0027consistent_group_replication_enabled\u0027] \u003d True"},{"line_number":6142,"context_line":""},{"line_number":6143,"context_line":"        if self._helpers.is_system_topology_hyperswap(self._state):"},{"line_number":6144,"context_line":"            data[\u0027replication_enabled\u0027] \u003d True"},{"line_number":6145,"context_line":"            try:"},{"line_number":6146,"context_line":"                state, reason \u003d self.get_hyperswap_storage_state()"},{"line_number":6147,"context_line":"                if state !\u003d fields.ReplicationStatus.ENABLED:"},{"line_number":6148,"context_line":"                    data[\u0027replication_enabled\u0027] \u003d False"},{"line_number":6149,"context_line":"                    data[\u0027disabled_reason\u0027] \u003d reason"},{"line_number":6150,"context_line":"            except exception.VolumeBackendAPIException as exc:"},{"line_number":6151,"context_line":"                LOG.warning(\"Failed to get node info. \""},{"line_number":6152,"context_line":"                            \"Exception: %(ex)s.\", {\u0027ex\u0027: exc.msg})"},{"line_number":6153,"context_line":""},{"line_number":6154,"context_line":"        self._stats \u003d data"},{"line_number":6155,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"d9e498be_8b78174f","line":6152,"range":{"start_line":6143,"start_character":0,"end_line":6152,"end_character":66},"in_reply_to":"7f7fdba9_ed6b84f9","updated":"2021-09-07 11:33:28.000000000","message":"Ack","commit_id":"bf399d06bf284810c6edf29a171e40411daa468c"}],"cinder/volume/manager.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84af20ee0325e62a65468792b729e5444b7ab42b","unresolved":true,"context_lines":[{"line_number":633,"context_line":""},{"line_number":634,"context_line":"            if replication_status !\u003d service.replication_status:"},{"line_number":635,"context_line":"                service.replication_status \u003d replication_status"},{"line_number":636,"context_line":"                service.disabled_reason \u003d disabled_reason"},{"line_number":637,"context_line":"                service.save()"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"        # Update the cluster replication status if necessary"}],"source_content_type":"text/x-python","patch_set":5,"id":"c8549ee4_ed994169","line":636,"range":{"start_line":636,"start_character":16,"end_line":636,"end_character":57},"updated":"2021-08-02 18:59:05.000000000","message":"I think this is a misuse of the disabled_reason field ... the field is there to explain why the cinder service itself is disabled, whereas you want to explain why replication is disabled on the backend, which is a bit different.\n\nFeel free to bring this up at the virtual midcycle this week.","commit_id":"eb566c14303850bbc86c84046fa7a618ea49dbc9"},{"author":{"_account_id":32171,"name":"Girish Chilukuri","email":"girish.chilukuri@ibm.com","username":"GirishChilukuri"},"change_message_id":"d2991f88871b84f39375d246814ffd343d8a11e9","unresolved":true,"context_lines":[{"line_number":633,"context_line":""},{"line_number":634,"context_line":"            if replication_status !\u003d service.replication_status:"},{"line_number":635,"context_line":"                service.replication_status \u003d replication_status"},{"line_number":636,"context_line":"                service.disabled_reason \u003d disabled_reason"},{"line_number":637,"context_line":"                service.save()"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"        # Update the cluster replication status if necessary"}],"source_content_type":"text/x-python","patch_set":5,"id":"b65c6230_6b60133d","line":636,"range":{"start_line":636,"start_character":16,"end_line":636,"end_character":57},"in_reply_to":"c8549ee4_ed994169","updated":"2021-08-03 09:22:03.000000000","message":"Here the use case is user is trying to initialize the replication backend which consists of primary site and secondary site. \n\nDuring initialization because of some reason any of the site may be down and we are setting service replication_status as disabled. So to give info to user we are using disabled_reason to explain why replication is disabled.","commit_id":"eb566c14303850bbc86c84046fa7a618ea49dbc9"}],"releasenotes/notes/bug-1931968-ibm-svf-HyperSwap_volume_service_status_update-293dea5d0f750824.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4e7e87882cb14f625334784d017d8bdedfb1f10f","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver `Bug #1931968"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1931968\u003e`_: Fixed"},{"line_number":6,"context_line":"    issue in update_volume_stats to update the replication status"},{"line_number":7,"context_line":"    of HyperSwap volume service based on status of nodes during"},{"line_number":8,"context_line":"    initialization."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6a03ea83_c7b1baea","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":32},"updated":"2021-09-02 13:05:44.000000000","message":"since the releasenote is not developer focused, we should remove the method name here","commit_id":"fc9c1dd03f83301bf53f7bd8c2206beb8171d4a4"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"60d5e9ccc0491fd58744a9b7f905d256b0a50ac0","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver `Bug #1931968"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1931968\u003e`_: Fixed"},{"line_number":6,"context_line":"    issue in update_volume_stats to update the replication status"},{"line_number":7,"context_line":"    of HyperSwap volume service based on status of nodes during"},{"line_number":8,"context_line":"    initialization."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1e3bc757_e172c231","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":32},"in_reply_to":"6a03ea83_c7b1baea","updated":"2021-09-07 04:52:48.000000000","message":"updated the release notes","commit_id":"fc9c1dd03f83301bf53f7bd8c2206beb8171d4a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c42e8e9800688684f9b09d1495fd1041322fcc7f","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver `Bug #1931968"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1931968\u003e`_: Fixed"},{"line_number":6,"context_line":"    issue in updating the replication status of HyperSwap volume"},{"line_number":7,"context_line":"    service based on status of nodes during initialization."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"742cfb01_7134d7e8","line":7,"range":{"start_line":7,"start_character":44,"end_line":7,"end_character":58},"updated":"2021-09-07 08:48:39.000000000","message":"do we only want to do this on initialization or also while reporting/updating the backend stats to scheduler?","commit_id":"bf399d06bf284810c6edf29a171e40411daa468c"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"10b752f64d797fc7de5836e0ef07e7f7fd48d4d9","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver `Bug #1931968"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1931968\u003e`_: Fixed"},{"line_number":6,"context_line":"    issue in updating the replication status of HyperSwap volume"},{"line_number":7,"context_line":"    service based on status of nodes during initialization."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ecd46f9a_801f77c9","line":7,"range":{"start_line":7,"start_character":44,"end_line":7,"end_character":58},"in_reply_to":"742cfb01_7134d7e8","updated":"2021-09-07 11:13:08.000000000","message":"yes during periodic calls also we do it, updated the release notes in the latest patch.","commit_id":"bf399d06bf284810c6edf29a171e40411daa468c"}]}
