)]}'
{"cinder/volume/drivers/nimble.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"69eb581ae6ddf19bdf55b1e074af457c7686a296","unresolved":false,"context_lines":[{"line_number":429,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":430,"context_line":"        \"\"\"Retype from one volume type to another."},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            At this point HPE Nimble Storage does not differentiate between"},{"line_number":433,"context_line":"            volume types on the same array. This is a no-op for us."},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return True, None"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_a2965748","line":432,"range":{"start_line":432,"start_character":8,"end_line":432,"end_character":11},"updated":"2018-09-06 19:11:30.000000000","message":"Extra leading spaces need to be removed.","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"67244cca72cc563f3a8ad07c2185d7ad750dd74c","unresolved":false,"context_lines":[{"line_number":429,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":430,"context_line":"        \"\"\"Retype from one volume type to another."},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            At this point HPE Nimble Storage does not differentiate between"},{"line_number":433,"context_line":"            volume types on the same array. This is a no-op for us."},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return True, None"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_5888926f","line":432,"range":{"start_line":432,"start_character":8,"end_line":432,"end_character":11},"in_reply_to":"3f79a3b5_a2965748","updated":"2018-09-07 22:05:05.000000000","message":"Done","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"69eb581ae6ddf19bdf55b1e074af457c7686a296","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            At this point HPE Nimble Storage does not differentiate between"},{"line_number":433,"context_line":"            volume types on the same array. This is a no-op for us."},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return True, None"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def manage_existing(self, volume, external_ref):"},{"line_number":438,"context_line":"        \"\"\"Manage an existing nimble volume (import to cinder)\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_02fdcb6c","line":435,"updated":"2018-09-06 19:11:30.000000000","message":"There aren\u0027t any extra specs the driver needs to check to see if any settings need to change?","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"74db684a7369620a7121d01b2496b916a4298661","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            At this point HPE Nimble Storage does not differentiate between"},{"line_number":433,"context_line":"            volume types on the same array. This is a no-op for us."},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return True, None"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def manage_existing(self, volume, external_ref):"},{"line_number":438,"context_line":"        \"\"\"Manage an existing nimble volume (import to cinder)\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_a2ebb7a1","line":435,"in_reply_to":"3f79a3b5_02fdcb6c","updated":"2018-09-06 19:12:34.000000000","message":"Looks like it should at least check if any of these values have changed:\n\nhttps://docs.openstack.org/cinder/latest/configuration/block-storage/drivers/nimble-volume-driver.html#nimble-driver-extra-spec-options","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"67244cca72cc563f3a8ad07c2185d7ad750dd74c","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            At this point HPE Nimble Storage does not differentiate between"},{"line_number":433,"context_line":"            volume types on the same array. This is a no-op for us."},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return True, None"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def manage_existing(self, volume, external_ref):"},{"line_number":438,"context_line":"        \"\"\"Manage an existing nimble volume (import to cinder)\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_fa885a6b","line":435,"in_reply_to":"3f79a3b5_a2ebb7a1","updated":"2018-09-07 22:05:05.000000000","message":"Thanks for the clarification. Handled the extra specs in the new review","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"69eb581ae6ddf19bdf55b1e074af457c7686a296","unresolved":false,"context_lines":[{"line_number":722,"context_line":"        properties[\u0027data\u0027][\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]  # used by xen currently"},{"line_number":723,"context_line":"        (iscsi_portal, iqn) \u003d volume[\u0027provider_location\u0027].split()"},{"line_number":724,"context_line":"        if self._get_gst_for_group() is not None:"},{"line_number":725,"context_line":"            # handling group scoped target"},{"line_number":726,"context_line":"            lun_num \u003d self.get_lun_number(volume, initiator_group_name)"},{"line_number":727,"context_line":"            netconfig \u003d self.APIExecutor.get_netconfig(\u0027active\u0027)"},{"line_number":728,"context_line":"            target_portals \u003d self._get_data_ips(netconfig)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_02962b3f","line":725,"updated":"2018-09-06 19:11:30.000000000","message":"This looks unrelated.","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"67244cca72cc563f3a8ad07c2185d7ad750dd74c","unresolved":false,"context_lines":[{"line_number":722,"context_line":"        properties[\u0027data\u0027][\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]  # used by xen currently"},{"line_number":723,"context_line":"        (iscsi_portal, iqn) \u003d volume[\u0027provider_location\u0027].split()"},{"line_number":724,"context_line":"        if self._get_gst_for_group() is not None:"},{"line_number":725,"context_line":"            # handling group scoped target"},{"line_number":726,"context_line":"            lun_num \u003d self.get_lun_number(volume, initiator_group_name)"},{"line_number":727,"context_line":"            netconfig \u003d self.APIExecutor.get_netconfig(\u0027active\u0027)"},{"line_number":728,"context_line":"            target_portals \u003d self._get_data_ips(netconfig)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_3885965a","line":725,"in_reply_to":"3f79a3b5_02962b3f","updated":"2018-09-07 22:05:05.000000000","message":"Done","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"69eb581ae6ddf19bdf55b1e074af457c7686a296","unresolved":false,"context_lines":[{"line_number":1681,"context_line":"        try:"},{"line_number":1682,"context_line":"            self.delete(api)"},{"line_number":1683,"context_line":"        except Exception as ex:"},{"line_number":1684,"context_line":"            msg \u003d (_(\"%s\") % ex)"},{"line_number":1685,"context_line":"            LOG.debug(\"online_snap_exception: %s\", msg)"},{"line_number":1686,"context_line":""},{"line_number":1687,"context_line":"    @_connection_checker"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_c2ccb36b","line":1684,"range":{"start_line":1684,"start_character":18,"end_line":1684,"end_character":20},"updated":"2018-09-06 19:11:30.000000000","message":"Wha??","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"67244cca72cc563f3a8ad07c2185d7ad750dd74c","unresolved":false,"context_lines":[{"line_number":1681,"context_line":"        try:"},{"line_number":1682,"context_line":"            self.delete(api)"},{"line_number":1683,"context_line":"        except Exception as ex:"},{"line_number":1684,"context_line":"            msg \u003d (_(\"%s\") % ex)"},{"line_number":1685,"context_line":"            LOG.debug(\"online_snap_exception: %s\", msg)"},{"line_number":1686,"context_line":""},{"line_number":1687,"context_line":"    @_connection_checker"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_d8aa62d0","line":1684,"range":{"start_line":1684,"start_character":18,"end_line":1684,"end_character":20},"in_reply_to":"3f79a3b5_c2ccb36b","updated":"2018-09-07 22:05:05.000000000","message":"Done","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"69eb581ae6ddf19bdf55b1e074af457c7686a296","unresolved":false,"context_lines":[{"line_number":1682,"context_line":"            self.delete(api)"},{"line_number":1683,"context_line":"        except Exception as ex:"},{"line_number":1684,"context_line":"            msg \u003d (_(\"%s\") % ex)"},{"line_number":1685,"context_line":"            LOG.debug(\"online_snap_exception: %s\", msg)"},{"line_number":1686,"context_line":""},{"line_number":1687,"context_line":"    @_connection_checker"},{"line_number":1688,"context_line":"    def get(self, api):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_42de6311","line":1685,"range":{"start_line":1685,"start_character":12,"end_line":1685,"end_character":55},"updated":"2018-09-06 19:11:30.000000000","message":"LOG.debug(\"online_snap_exception: %s\", ex)","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"67244cca72cc563f3a8ad07c2185d7ad750dd74c","unresolved":false,"context_lines":[{"line_number":1682,"context_line":"            self.delete(api)"},{"line_number":1683,"context_line":"        except Exception as ex:"},{"line_number":1684,"context_line":"            msg \u003d (_(\"%s\") % ex)"},{"line_number":1685,"context_line":"            LOG.debug(\"online_snap_exception: %s\", msg)"},{"line_number":1686,"context_line":""},{"line_number":1687,"context_line":"    @_connection_checker"},{"line_number":1688,"context_line":"    def get(self, api):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_b8af66e1","line":1685,"range":{"start_line":1685,"start_character":12,"end_line":1685,"end_character":55},"in_reply_to":"3f79a3b5_42de6311","updated":"2018-09-07 22:05:05.000000000","message":"Done","commit_id":"62d199ac9329d237f819ba3c38d5ed683068eb56"},{"author":{"_account_id":25553,"name":"Akhil jain","email":"akhiljain32@gmail.com","username":"akhil"},"change_message_id":"ede047a75df9ce242e5771aab167e9904e66b794","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            False,"},{"line_number":311,"context_line":"            snapshot[\u0027name\u0027])"},{"line_number":312,"context_line":"        try:"},{"line_number":313,"context_line":"            self.APIExecutor.delete_snap(snapshot[\u0027volume_name\u0027], snapshot["},{"line_number":314,"context_line":"                \u0027name\u0027])"},{"line_number":315,"context_line":"        except NimbleAPIException as ex:"},{"line_number":316,"context_line":"            LOG.debug(\"delete snapshot exception: %s\", ex)"},{"line_number":317,"context_line":"            if SM_OBJ_HAS_CLONE in six.text_type(ex):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_54ceecb7","line":314,"range":{"start_line":313,"start_character":66,"end_line":314,"end_character":23},"updated":"2018-09-10 07:21:32.000000000","message":"Move to next line for better visibility?","commit_id":"33fafa3488b68f6d97b1267e414edfdc7584524e"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"faaa3a9bc2278103587a40bb59c2c1a0e7b53912","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            False,"},{"line_number":311,"context_line":"            snapshot[\u0027name\u0027])"},{"line_number":312,"context_line":"        try:"},{"line_number":313,"context_line":"            self.APIExecutor.delete_snap(snapshot[\u0027volume_name\u0027], snapshot["},{"line_number":314,"context_line":"                \u0027name\u0027])"},{"line_number":315,"context_line":"        except NimbleAPIException as ex:"},{"line_number":316,"context_line":"            LOG.debug(\"delete snapshot exception: %s\", ex)"},{"line_number":317,"context_line":"            if SM_OBJ_HAS_CLONE in six.text_type(ex):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_3ea1c6f8","line":314,"range":{"start_line":313,"start_character":66,"end_line":314,"end_character":23},"in_reply_to":"3f79a3b5_54ceecb7","updated":"2018-09-10 15:48:33.000000000","message":"Done","commit_id":"33fafa3488b68f6d97b1267e414edfdc7584524e"},{"author":{"_account_id":25553,"name":"Akhil jain","email":"akhiljain32@gmail.com","username":"akhil"},"change_message_id":"ede047a75df9ce242e5771aab167e9904e66b794","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        vol_info \u003d self.APIExecutor.get_vol_info(volume[\u0027name\u0027])"},{"line_number":456,"context_line":"        LOG.debug(\"new extra specs %s\", specs_map)"},{"line_number":457,"context_line":"        data \u003d self.APIExecutor.get_valid_nimble_extraspecs(specs_map,"},{"line_number":458,"context_line":"                                                            vol_info, volume)"},{"line_number":459,"context_line":"        if data is None:"},{"line_number":460,"context_line":"            # return if there is no update"},{"line_number":461,"context_line":"            LOG.debug(\"no data to update for %s\", new_type)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_0e9b8616","line":458,"range":{"start_line":458,"start_character":70,"end_line":458,"end_character":76},"updated":"2018-09-10 07:21:32.000000000","message":"move to next line?","commit_id":"33fafa3488b68f6d97b1267e414edfdc7584524e"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"faaa3a9bc2278103587a40bb59c2c1a0e7b53912","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        vol_info \u003d self.APIExecutor.get_vol_info(volume[\u0027name\u0027])"},{"line_number":456,"context_line":"        LOG.debug(\"new extra specs %s\", specs_map)"},{"line_number":457,"context_line":"        data \u003d self.APIExecutor.get_valid_nimble_extraspecs(specs_map,"},{"line_number":458,"context_line":"                                                            vol_info, volume)"},{"line_number":459,"context_line":"        if data is None:"},{"line_number":460,"context_line":"            # return if there is no update"},{"line_number":461,"context_line":"            LOG.debug(\"no data to update for %s\", new_type)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_feaa6ed1","line":458,"range":{"start_line":458,"start_character":70,"end_line":458,"end_character":76},"in_reply_to":"3f79a3b5_0e9b8616","updated":"2018-09-10 15:48:33.000000000","message":"Done","commit_id":"33fafa3488b68f6d97b1267e414edfdc7584524e"},{"author":{"_account_id":25553,"name":"Akhil jain","email":"akhiljain32@gmail.com","username":"akhil"},"change_message_id":"ede047a75df9ce242e5771aab167e9904e66b794","unresolved":false,"context_lines":[{"line_number":757,"context_line":"                 {\u0027grp\u0027: initiator_group_name, \u0027iname\u0027: initiator_name})"},{"line_number":758,"context_line":"        self.APIExecutor.add_acl(volume, initiator_group_name)"},{"line_number":759,"context_line":"        properties \u003d {\"driver_volume_type\": \"iscsi\","},{"line_number":760,"context_line":"                      \"data\": {"},{"line_number":761,"context_line":"                          \"target_discovered\": False"},{"line_number":762,"context_line":"                      },"},{"line_number":763,"context_line":"                      }"},{"line_number":764,"context_line":"        properties[\u0027data\u0027][\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]  # used by xen currently"},{"line_number":765,"context_line":"        (iscsi_portal, iqn) \u003d volume[\u0027provider_location\u0027].split()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_4ec73e13","line":762,"range":{"start_line":760,"start_character":22,"end_line":762,"end_character":24},"updated":"2018-09-10 07:21:32.000000000","message":"This can be in one line?","commit_id":"33fafa3488b68f6d97b1267e414edfdc7584524e"},{"author":{"_account_id":16668,"name":"Raunak Kumar","email":"rkumar@nimblestorage.com","username":"rkumar"},"change_message_id":"faaa3a9bc2278103587a40bb59c2c1a0e7b53912","unresolved":false,"context_lines":[{"line_number":757,"context_line":"                 {\u0027grp\u0027: initiator_group_name, \u0027iname\u0027: initiator_name})"},{"line_number":758,"context_line":"        self.APIExecutor.add_acl(volume, initiator_group_name)"},{"line_number":759,"context_line":"        properties \u003d {\"driver_volume_type\": \"iscsi\","},{"line_number":760,"context_line":"                      \"data\": {"},{"line_number":761,"context_line":"                          \"target_discovered\": False"},{"line_number":762,"context_line":"                      },"},{"line_number":763,"context_line":"                      }"},{"line_number":764,"context_line":"        properties[\u0027data\u0027][\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]  # used by xen currently"},{"line_number":765,"context_line":"        (iscsi_portal, iqn) \u003d volume[\u0027provider_location\u0027].split()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_3e7a2677","line":762,"range":{"start_line":760,"start_character":22,"end_line":762,"end_character":24},"in_reply_to":"3f79a3b5_4ec73e13","updated":"2018-09-10 15:48:33.000000000","message":"Done","commit_id":"33fafa3488b68f6d97b1267e414edfdc7584524e"}]}
