)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sharath Kacham \u003csharath.kacham1@ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-08-19 04:06:28 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [STORWIZE]-Code changes to handle groups with replication_enabled or"},{"line_number":8,"context_line":"    snapshot_enabled"},{"line_number":9,"context_line":"    Closes-Bug: #1890776"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f560f44_3881dc4b","line":7,"updated":"2020-08-19 10:58:27.000000000","message":"Somehow got leading indents here. Those need to be removed.\n\nThen first line should be a single line summary, followed by a blank line, then the more detailed description.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"094b0cb9db968c8e8720910c8dc3ba63f8a469c8","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2020-08-19 16:52:28 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [STORWIZE]-Code changes to handle groups with replication_enabled or"},{"line_number":8,"context_line":"    snapshot_enabled"},{"line_number":9,"context_line":"    Closes-Bug: #1890776"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ic71f5d934ee8169536d0aeda1e93269f18448339"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9f560f44_079c705b","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":20},"updated":"2020-09-24 13:57:35.000000000","message":"This commit message should be modified","commit_id":"0b6d34e1ced6c10507a29b7fd5ac5249729dd899"}],"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9b3226a3e9e49993d92f13a0917723a281b3773e","unresolved":false,"context_lines":[{"line_number":7127,"context_line":"        group2 \u003d self._create_group_in_db(volume_type_ids\u003d[type_ref.id],"},{"line_number":7128,"context_line":"                                          group_type_id\u003dcg_type_ref.id)"},{"line_number":7129,"context_line":""},{"line_number":7130,"context_line":"        # Create volume with replication group id will be success "},{"line_number":7131,"context_line":"        vol1 \u003d testutils.create_volume(self.ctxt, volume_type_id\u003dtype_ref.id,"},{"line_number":7132,"context_line":"                                       host\u003d\u0027openstack@svc#openstack\u0027, "},{"line_number":7133,"context_line":"                                       group_id\u003dgroup1.id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_0dad4e9a","line":7130,"updated":"2020-08-07 09:41:16.000000000","message":"pep8: W291 trailing whitespace","commit_id":"1adbfae270d94469040e1bc23f76fecd1723ef18"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9b3226a3e9e49993d92f13a0917723a281b3773e","unresolved":false,"context_lines":[{"line_number":7129,"context_line":""},{"line_number":7130,"context_line":"        # Create volume with replication group id will be success "},{"line_number":7131,"context_line":"        vol1 \u003d testutils.create_volume(self.ctxt, volume_type_id\u003dtype_ref.id,"},{"line_number":7132,"context_line":"                                       host\u003d\u0027openstack@svc#openstack\u0027, "},{"line_number":7133,"context_line":"                                       group_id\u003dgroup1.id)"},{"line_number":7134,"context_line":""},{"line_number":7135,"context_line":"        self.driver.create_volume(vol1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_6d97aa49","line":7132,"updated":"2020-08-07 09:41:16.000000000","message":"pep8: W291 trailing whitespace","commit_id":"1adbfae270d94469040e1bc23f76fecd1723ef18"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9b3226a3e9e49993d92f13a0917723a281b3773e","unresolved":false,"context_lines":[{"line_number":7139,"context_line":"                                       group_id\u003dgroup2.id)"},{"line_number":7140,"context_line":"        self.driver.create_volume(vol2)"},{"line_number":7141,"context_line":""},{"line_number":7142,"context_line":"        # Create cloned volume with replication group id will be success "},{"line_number":7143,"context_line":"        vol3 \u003d testutils.create_volume(self.ctxt, volume_type_id\u003dtype_ref.id,"},{"line_number":7144,"context_line":"                                       host\u003d\u0027openstack@svc#openstack\u0027,"},{"line_number":7145,"context_line":"                                       group_id\u003dgroup1.id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_4d92a658","line":7142,"updated":"2020-08-07 09:41:16.000000000","message":"pep8: W291 trailing whitespace","commit_id":"1adbfae270d94469040e1bc23f76fecd1723ef18"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9b3226a3e9e49993d92f13a0917723a281b3773e","unresolved":false,"context_lines":[{"line_number":7155,"context_line":""},{"line_number":7156,"context_line":"        snapshot \u003d self._generate_snap_info(vol2.id)"},{"line_number":7157,"context_line":"        self.driver.create_snapshot(snapshot)"},{"line_number":7158,"context_line":"        # Create volume from snapshot with replication group id will be success "},{"line_number":7159,"context_line":"        vol5 \u003d testutils.create_volume(self.ctxt, volume_type_id\u003dtype_ref.id,"},{"line_number":7160,"context_line":"                                       host\u003d\u0027openstack@svc#openstack\u0027,"},{"line_number":7161,"context_line":"                                       group_id\u003dgroup1.id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ad9d4267","line":7158,"updated":"2020-08-07 09:41:16.000000000","message":"pep8: W291 trailing whitespace","commit_id":"1adbfae270d94469040e1bc23f76fecd1723ef18"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c052e7dfe890f216fd20af48f9600e9a5a77f20e","unresolved":false,"context_lines":[{"line_number":6322,"context_line":"                                         group_type_id\u003dhyper_type_ref.id)"},{"line_number":6323,"context_line":"        vol1 \u003d testutils.create_volume(self.ctxt, volume_type_id\u003dtype_ref.id,"},{"line_number":6324,"context_line":"                                       group_id\u003dgroup.id)"},{"line_number":6325,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":6326,"context_line":"                          self.driver.create_group_from_src,"},{"line_number":6327,"context_line":"                          self.ctxt, group, vol1, None, None,"},{"line_number":6328,"context_line":"                          None, None)"},{"line_number":6329,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":6330,"context_line":"                          self.driver.create_group_from_src,"},{"line_number":6331,"context_line":"                          self.ctxt, group, [vol1])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_32df9467","line":6328,"range":{"start_line":6325,"start_character":0,"end_line":6328,"end_character":37},"updated":"2020-09-29 14:22:27.000000000","message":"IIUC this tests the method for hyperswap_group_enabled parameter\nThen this assert should be removed as volumes field is expected to be a list and not a single volume (which the new assert does) and i don\u0027t see any other difference between the two","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"d62364fee4bf25194c8db63a4367f32db37b6dc2","unresolved":false,"context_lines":[{"line_number":6322,"context_line":"                                         group_type_id\u003dhyper_type_ref.id)"},{"line_number":6323,"context_line":"        vol1 \u003d testutils.create_volume(self.ctxt, volume_type_id\u003dtype_ref.id,"},{"line_number":6324,"context_line":"                                       group_id\u003dgroup.id)"},{"line_number":6325,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":6326,"context_line":"                          self.driver.create_group_from_src,"},{"line_number":6327,"context_line":"                          self.ctxt, group, vol1, None, None,"},{"line_number":6328,"context_line":"                          None, None)"},{"line_number":6329,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":6330,"context_line":"                          self.driver.create_group_from_src,"},{"line_number":6331,"context_line":"                          self.ctxt, group, [vol1])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_aeade133","line":6328,"range":{"start_line":6325,"start_character":0,"end_line":6328,"end_character":37},"in_reply_to":"9f560f44_32df9467","updated":"2020-10-01 14:30:11.000000000","message":"yes, create_group_from_src takes volumes list as input, removed first assertRaises as it is called twice.","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1ebb159ab3aa236777f2bdf9bf7f75ddea1296d9","unresolved":false,"context_lines":[{"line_number":11039,"context_line":"        self.driver.configuration.set_override(\u0027replication_device\u0027,"},{"line_number":11040,"context_line":"                                               [self.rep_target])"},{"line_number":11041,"context_line":"        self.driver.do_setup(self.ctxt)"},{"line_number":11042,"context_line":"        \"\"\"Test group create.\"\"\""},{"line_number":11043,"context_line":"        gr_type_ref \u003d group_types.create(self.ctxt, \u0027gr_type\u0027, grp_sepc)"},{"line_number":11044,"context_line":"        gr_type \u003d objects.GroupType.get_by_id(self.ctxt, gr_type_ref[\u0027id\u0027])"},{"line_number":11045,"context_line":"        vol_type_ref \u003d volume_types.create(self.ctxt, \u0027vol_type\u0027, vol_spec)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_4cc20888","line":11042,"range":{"start_line":11042,"start_character":8,"end_line":11042,"end_character":32},"updated":"2020-10-08 13:52:44.000000000","message":"The placement of this doc string doesn\u0027t seem right\nI think this should be a comment in which case change it to # instead of \"\"\"","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c052e7dfe890f216fd20af48f9600e9a5a77f20e","unresolved":false,"context_lines":[{"line_number":11047,"context_line":"                                       group_type_id\u003dgr_type.id,"},{"line_number":11048,"context_line":"                                       volume_type_ids\u003d[vol_type_ref[\u0027id\u0027]])"},{"line_number":11049,"context_line":"        model_update \u003d self.driver.create_group(self.ctxt, group)"},{"line_number":11050,"context_line":"        self.assertEqual(fields.GroupStatus.ERROR, model_update[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_dd190924","line":11050,"range":{"start_line":11050,"start_character":25,"end_line":11050,"end_character":49},"updated":"2020-09-29 14:22:27.000000000","message":"shouldn\u0027t this work? why is this assert an ERROR ?","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"d62364fee4bf25194c8db63a4367f32db37b6dc2","unresolved":false,"context_lines":[{"line_number":11047,"context_line":"                                       group_type_id\u003dgr_type.id,"},{"line_number":11048,"context_line":"                                       volume_type_ids\u003d[vol_type_ref[\u0027id\u0027]])"},{"line_number":11049,"context_line":"        model_update \u003d self.driver.create_group(self.ctxt, group)"},{"line_number":11050,"context_line":"        self.assertEqual(fields.GroupStatus.ERROR, model_update[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_ee7cf9b7","line":11050,"range":{"start_line":11050,"start_character":25,"end_line":11050,"end_character":49},"in_reply_to":"9f560f44_dd190924","updated":"2020-10-01 14:30:11.000000000","message":"this is a negative testcase. as per create_group function in storwize_svc_common.py below combinations are not supported.\n\nFirst case:\n\u0027consistent_group_replication_enabled\u0027: \u0027\u003cis\u003e True\u0027 (for group_type)\n\u0027replication_enabled\u0027: \u0027\u003cis\u003e False\u0027 (for volume_type)\n\nSecond case:\n\u0027consistent_group_replication_enabled\u0027: \u0027\u003cis\u003e True\u0027 (for group_type)\n\u0027replication_type\u0027: \u0027\u003cin\u003e gmcv\u0027 (for volume_type)","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1ebb159ab3aa236777f2bdf9bf7f75ddea1296d9","unresolved":false,"context_lines":[{"line_number":11047,"context_line":"                                       group_type_id\u003dgr_type.id,"},{"line_number":11048,"context_line":"                                       volume_type_ids\u003d[vol_type_ref[\u0027id\u0027]])"},{"line_number":11049,"context_line":"        model_update \u003d self.driver.create_group(self.ctxt, group)"},{"line_number":11050,"context_line":"        self.assertEqual(fields.GroupStatus.ERROR, model_update[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_eccb1ca1","line":11050,"range":{"start_line":11050,"start_character":25,"end_line":11050,"end_character":49},"in_reply_to":"9f560f44_ee7cf9b7","updated":"2020-10-08 13:52:44.000000000","message":"In that case i think the test name can be improved\nI think we can just add *_negative_test at the end to know clearly by the name","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6247db0487d0aa9520580f0eaa398570b41fdaee","unresolved":false,"context_lines":[{"line_number":11036,"context_line":"                                               [self.rep_target])"},{"line_number":11037,"context_line":"        self.driver.do_setup(self.ctxt)"},{"line_number":11038,"context_line":"        \"\"\"Test group create.\"\"\""},{"line_number":11039,"context_line":"        print(grp_spec, vol_spec)"},{"line_number":11040,"context_line":"        gr_type_ref \u003d group_types.create(self.ctxt, \u0027gr_type\u0027, grp_spec)"},{"line_number":11041,"context_line":"        gr_type \u003d objects.GroupType.get_by_id(self.ctxt, gr_type_ref[\u0027id\u0027])"},{"line_number":11042,"context_line":"        vol_type_ref \u003d volume_types.create(self.ctxt, \u0027vol_type\u0027, vol_spec)"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_a50df290","line":11039,"updated":"2020-10-01 23:36:19.000000000","message":"pep8: C303: print() should not be used. Please use LOG.[info|error|warning|exception|debug]. If print() must be used, use \u0027# noqa\u0027 to skip this check.","commit_id":"97e229c1095d09def9f05d1d16de0d9248262dd9"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":5426,"context_line":"        \"\"\""},{"line_number":5427,"context_line":"        LOG.debug(\u0027Enter: create_group_from_src.\u0027)"},{"line_number":5428,"context_line":""},{"line_number":5429,"context_line":"        # if volume_utils.is_group_a_type("},{"line_number":5430,"context_line":"        #        group,"},{"line_number":5431,"context_line":"        #        \"consistent_group_replication_enabled\"):"},{"line_number":5432,"context_line":"        #    # An unsupported configuration"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d891c09b","line":5429,"updated":"2020-08-19 10:58:27.000000000","message":"Remove commented out code.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"02ed8dc0dce59c1d84c0199102023392011a4b37","unresolved":false,"context_lines":[{"line_number":5426,"context_line":"        \"\"\""},{"line_number":5427,"context_line":"        LOG.debug(\u0027Enter: create_group_from_src.\u0027)"},{"line_number":5428,"context_line":""},{"line_number":5429,"context_line":"        # if volume_utils.is_group_a_type("},{"line_number":5430,"context_line":"        #        group,"},{"line_number":5431,"context_line":"        #        \"consistent_group_replication_enabled\"):"},{"line_number":5432,"context_line":"        #    # An unsupported configuration"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_613b9cd0","line":5429,"in_reply_to":"9f560f44_d891c09b","updated":"2020-08-19 17:36:04.000000000","message":"Removed commented code","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":5474,"context_line":"                                                self.configuration,"},{"line_number":5475,"context_line":"                                                timeout))"},{"line_number":5476,"context_line":""},{"line_number":5477,"context_line":"        for index in range(len(volumes)):"},{"line_number":5478,"context_line":"            rep_type \u003d self._get_volume_replicated_type(context, volumes[index])"},{"line_number":5479,"context_line":"            if rep_type:"},{"line_number":5480,"context_line":"                self._validate_replication_enabled()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_18e97819","line":5477,"updated":"2020-08-19 10:58:27.000000000","message":"I don\u0027t see anywhere you\u0027ve needed to use index. Why not:\n\nfor volume in volumes:","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"02ed8dc0dce59c1d84c0199102023392011a4b37","unresolved":false,"context_lines":[{"line_number":5474,"context_line":"                                                self.configuration,"},{"line_number":5475,"context_line":"                                                timeout))"},{"line_number":5476,"context_line":""},{"line_number":5477,"context_line":"        for index in range(len(volumes)):"},{"line_number":5478,"context_line":"            rep_type \u003d self._get_volume_replicated_type(context, volumes[index])"},{"line_number":5479,"context_line":"            if rep_type:"},{"line_number":5480,"context_line":"                self._validate_replication_enabled()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_73037243","line":5477,"in_reply_to":"9f560f44_18e97819","updated":"2020-08-19 17:36:04.000000000","message":"index is used to access elements in snapshots_model, as it is of list type.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6cbb0ef6a5f2758420b89dcb7619498d87d5bc57","unresolved":false,"context_lines":[{"line_number":5474,"context_line":"                                                self.configuration,"},{"line_number":5475,"context_line":"                                                timeout))"},{"line_number":5476,"context_line":""},{"line_number":5477,"context_line":"        for index in range(len(volumes)):"},{"line_number":5478,"context_line":"            rep_type \u003d self._get_volume_replicated_type(context, volumes[index])"},{"line_number":5479,"context_line":"            if rep_type:"},{"line_number":5480,"context_line":"                self._validate_replication_enabled()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_bcc95726","line":5477,"in_reply_to":"9f560f44_73037243","updated":"2020-08-19 18:18:22.000000000","message":"That\u0027s my point. You are creating a variable, calling range(), calling len(), and doing multiple array index lookups just to go through each volume in the list. Use \"for volume in volumes:\" instead.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"85e8b5545eef0b60406890eb731c0d7a4a513412","unresolved":false,"context_lines":[{"line_number":5475,"context_line":"                                                timeout))"},{"line_number":5476,"context_line":""},{"line_number":5477,"context_line":"        for index in range(len(volumes)):"},{"line_number":5478,"context_line":"            rep_type \u003d self._get_volume_replicated_type(context, volumes[index])"},{"line_number":5479,"context_line":"            if rep_type:"},{"line_number":5480,"context_line":"                self._validate_replication_enabled()"},{"line_number":5481,"context_line":"                replica_obj \u003d self._get_replica_obj(rep_type)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_04e91b19","line":5478,"updated":"2020-08-19 06:23:19.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"85e8b5545eef0b60406890eb731c0d7a4a513412","unresolved":false,"context_lines":[{"line_number":5480,"context_line":"                self._validate_replication_enabled()"},{"line_number":5481,"context_line":"                replica_obj \u003d self._get_replica_obj(rep_type)"},{"line_number":5482,"context_line":"                replica_obj.volume_replication_setup(context, volumes[index])"},{"line_number":5483,"context_line":"                snapshots_model[index][\u0027replication_status\u0027] \u003d fields.ReplicationStatus.ENABLED"},{"line_number":5484,"context_line":""},{"line_number":5485,"context_line":"        LOG.debug(\"Leave: create_group_from_src.\")"},{"line_number":5486,"context_line":"        return model_update, snapshots_model"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_e4eb470f","line":5483,"updated":"2020-08-19 06:23:19.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":5744,"context_line":"        LOG.info(\"Update replication group: %(group)s. \", {\u0027group\u0027: group.id})"},{"line_number":5745,"context_line":""},{"line_number":5746,"context_line":"        rccg_name \u003d self._get_rccg_name(group)"},{"line_number":5747,"context_line":"        # IBM-only This code block fails during remove of volumes"},{"line_number":5748,"context_line":"        # from group"},{"line_number":5749,"context_line":"        try:"},{"line_number":5750,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_58f3f00a","line":5747,"range":{"start_line":5747,"start_character":10,"end_line":5747,"end_character":18},"updated":"2020-08-19 10:58:27.000000000","message":"This is the code for an IBM driver, so I don\u0027t think you need to call out that this is IBM only.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"02ed8dc0dce59c1d84c0199102023392011a4b37","unresolved":false,"context_lines":[{"line_number":5744,"context_line":"        LOG.info(\"Update replication group: %(group)s. \", {\u0027group\u0027: group.id})"},{"line_number":5745,"context_line":""},{"line_number":5746,"context_line":"        rccg_name \u003d self._get_rccg_name(group)"},{"line_number":5747,"context_line":"        # IBM-only This code block fails during remove of volumes"},{"line_number":5748,"context_line":"        # from group"},{"line_number":5749,"context_line":"        try:"},{"line_number":5750,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_212244a5","line":5747,"range":{"start_line":5747,"start_character":10,"end_line":5747,"end_character":18},"in_reply_to":"9f560f44_58f3f00a","updated":"2020-08-19 17:36:04.000000000","message":"Removed \u0027IBM-only\u0027","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":5750,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"},{"line_number":5751,"context_line":"        except Exception as ex:"},{"line_number":5752,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5753,"context_line":"                LOG.error(ex)"},{"line_number":5754,"context_line":"            else:"},{"line_number":5755,"context_line":"                # No use of getting rccg for remove_volumes"},{"line_number":5756,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_78c0747d","line":5753,"updated":"2020-08-19 10:58:27.000000000","message":"This should add more information to the log message. So could be something like:\n\nLOG.exception(\u0027Unable to retrieve replication group. [more details].\u0027)\n\nLeaving out the ex which can then be removed because LOG.exception will automatically log the details of whatever exception is in scope.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"02ed8dc0dce59c1d84c0199102023392011a4b37","unresolved":false,"context_lines":[{"line_number":5750,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"},{"line_number":5751,"context_line":"        except Exception as ex:"},{"line_number":5752,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5753,"context_line":"                LOG.error(ex)"},{"line_number":5754,"context_line":"            else:"},{"line_number":5755,"context_line":"                # No use of getting rccg for remove_volumes"},{"line_number":5756,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_410db833","line":5753,"in_reply_to":"9f560f44_78c0747d","updated":"2020-08-19 17:36:04.000000000","message":"Added more information to the log message","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":5751,"context_line":"        except Exception as ex:"},{"line_number":5752,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5753,"context_line":"                LOG.error(ex)"},{"line_number":5754,"context_line":"            else:"},{"line_number":5755,"context_line":"                # No use of getting rccg for remove_volumes"},{"line_number":5756,"context_line":"                pass"},{"line_number":5757,"context_line":"        if not rccg and len(add_volumes) \u003e 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f83924a3","line":5754,"updated":"2020-08-19 10:58:27.000000000","message":"The entire else block can be removed since it isn\u0027t actually doing anything.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"02ed8dc0dce59c1d84c0199102023392011a4b37","unresolved":false,"context_lines":[{"line_number":5751,"context_line":"        except Exception as ex:"},{"line_number":5752,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5753,"context_line":"                LOG.error(ex)"},{"line_number":5754,"context_line":"            else:"},{"line_number":5755,"context_line":"                # No use of getting rccg for remove_volumes"},{"line_number":5756,"context_line":"                pass"},{"line_number":5757,"context_line":"        if not rccg and len(add_volumes) \u003e 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_760d203d","line":5754,"in_reply_to":"9f560f44_f83924a3","updated":"2020-08-19 17:36:04.000000000","message":"Removed else block","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8a43e8d2a7565f15aca98c1d7456fea91e27294c","unresolved":false,"context_lines":[{"line_number":5752,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5753,"context_line":"                LOG.error(ex)"},{"line_number":5754,"context_line":"            else:"},{"line_number":5755,"context_line":"                # No use of getting rccg for remove_volumes"},{"line_number":5756,"context_line":"                pass"},{"line_number":5757,"context_line":"        if not rccg and len(add_volumes) \u003e 0:"},{"line_number":5758,"context_line":"            LOG.error(\"Failed to update group: %(grp)s does not exist in \""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_38f6fcfa","line":5755,"updated":"2020-08-19 10:58:27.000000000","message":"I don\u0027t understand what this sentence is saying.","commit_id":"0b4030e6a2467d43231dc501e9843f7b04293181"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fb1b6ab74ba51a308a60cce88157322b76e521c2","unresolved":false,"context_lines":[{"line_number":5740,"context_line":"        # This code block fails during remove of volumes from group"},{"line_number":5741,"context_line":"        try:"},{"line_number":5742,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"},{"line_number":5743,"context_line":"        except Exception as ex:"},{"line_number":5744,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5745,"context_line":"                LOG.exception(\"Unable to retrieve \""},{"line_number":5746,"context_line":"                              \"replication group information\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_f685abd0","line":5743,"updated":"2020-08-19 21:19:01.000000000","message":"pep8: F841 local variable \u0027ex\u0027 is assigned to but never used","commit_id":"0b6d34e1ced6c10507a29b7fd5ac5249729dd899"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de170f13f6be3b2ba5dbf7100fc318c9967306e0","unresolved":false,"context_lines":[{"line_number":5473,"context_line":"                replica_obj \u003d self._get_replica_obj(rep_type)"},{"line_number":5474,"context_line":"                replica_obj.volume_replication_setup(context, vol)"},{"line_number":5475,"context_line":"                snapshots_model[volumes.index(vol)][\u0027replication_status\u0027] \u003d ("},{"line_number":5476,"context_line":"                                           fields.ReplicationStatus.ENABLED)"},{"line_number":5477,"context_line":""},{"line_number":5478,"context_line":"        LOG.debug(\"Leave: create_group_from_src.\")"},{"line_number":5479,"context_line":"        return model_update, snapshots_model"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_b53cb393","line":5476,"updated":"2020-08-20 22:02:06.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"34cc6ac2ee4c9ff3486dc21122659179e9b1b66b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de170f13f6be3b2ba5dbf7100fc318c9967306e0","unresolved":false,"context_lines":[{"line_number":5742,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"},{"line_number":5743,"context_line":"        except Exception as ex:"},{"line_number":5744,"context_line":"            if len(add_volumes) \u003e 0:"},{"line_number":5745,"context_line":"                LOG.exception(\"Unable to retrieve \""},{"line_number":5746,"context_line":"                              \"replication group information. Failed \""},{"line_number":5747,"context_line":"                              \"with exception %(ex)s\" % ex)"},{"line_number":5748,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_153e3f8a","line":5745,"updated":"2020-08-20 22:02:06.000000000","message":"pep8: H904: String interpolation should be delayed to be handled by the logging code, rather than being done at the point of the logging call. Use \u0027,\u0027 instead of \u0027%\u0027.","commit_id":"34cc6ac2ee4c9ff3486dc21122659179e9b1b66b"},{"author":{"_account_id":26575,"name":"Ankit Arora","email":"aarora06@in.ibm.com","username":"aarora06"},"change_message_id":"67a60745e75ee5b68db0b1397c5c13568b23ace0","unresolved":false,"context_lines":[{"line_number":5469,"context_line":"            rep_type \u003d self._get_volume_replicated_type(context,"},{"line_number":5470,"context_line":"                                                        vol)"},{"line_number":5471,"context_line":"            if rep_type:"},{"line_number":5472,"context_line":"                self._validate_replication_enabled()"},{"line_number":5473,"context_line":"                replica_obj \u003d self._get_replica_obj(rep_type)"},{"line_number":5474,"context_line":"                replica_obj.volume_replication_setup(context, vol)"},{"line_number":5475,"context_line":"                snapshots_model[volumes.index(vol)][\u0027replication_status\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_ed065f86","line":5472,"updated":"2020-08-21 07:35:54.000000000","message":"Can we do this validation before create_group_from_src? Probably in the create_group code? Because if the code fails here due to licensing issue, the whole thing will be reverted.","commit_id":"79bea1f36e2c78ec0c30c10238396dc2b8262384"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"897374d39c29362ffd9ecc7a2c560c5adeb440e5","unresolved":false,"context_lines":[{"line_number":5469,"context_line":"            rep_type \u003d self._get_volume_replicated_type(context,"},{"line_number":5470,"context_line":"                                                        vol)"},{"line_number":5471,"context_line":"            if rep_type:"},{"line_number":5472,"context_line":"                self._validate_replication_enabled()"},{"line_number":5473,"context_line":"                replica_obj \u003d self._get_replica_obj(rep_type)"},{"line_number":5474,"context_line":"                replica_obj.volume_replication_setup(context, vol)"},{"line_number":5475,"context_line":"                snapshots_model[volumes.index(vol)][\u0027replication_status\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_f67e27e2","line":5472,"in_reply_to":"9f560f44_ed065f86","updated":"2020-08-21 15:12:50.000000000","message":"create_group function is not called when \"cinder group-create-from-src\" command is executed. \nThis validation is done in same level even in generic flow as well i.e. in \"create_cloned_volume\" and \"create_volume_from_snapshot\" functions.","commit_id":"79bea1f36e2c78ec0c30c10238396dc2b8262384"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c052e7dfe890f216fd20af48f9600e9a5a77f20e","unresolved":false,"context_lines":[{"line_number":3941,"context_line":"        rep_val \u003d extra_specs.get(\u0027replication_enabled\u0027)"},{"line_number":3942,"context_line":"        if rep_val \u003d\u003d \"\u003cis\u003e True\":"},{"line_number":3943,"context_line":"            replication_type \u003d extra_specs.get(\u0027replication_type\u0027,"},{"line_number":3944,"context_line":"                                               storwize_const.GLOBAL)"},{"line_number":3945,"context_line":"            # The format for replication_type in extra spec is in"},{"line_number":3946,"context_line":"            # \"\u003cin\u003e global\". Otherwise, the code will"},{"line_number":3947,"context_line":"            # not reach here."}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_a9d17fcf","line":3944,"range":{"start_line":3944,"start_character":47,"end_line":3944,"end_character":68},"updated":"2020-09-29 14:22:27.000000000","message":"if the user doesn\u0027t specify this value then \u0027global\u0027 is the default, is that what is intended ?","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"d62364fee4bf25194c8db63a4367f32db37b6dc2","unresolved":false,"context_lines":[{"line_number":3941,"context_line":"        rep_val \u003d extra_specs.get(\u0027replication_enabled\u0027)"},{"line_number":3942,"context_line":"        if rep_val \u003d\u003d \"\u003cis\u003e True\":"},{"line_number":3943,"context_line":"            replication_type \u003d extra_specs.get(\u0027replication_type\u0027,"},{"line_number":3944,"context_line":"                                               storwize_const.GLOBAL)"},{"line_number":3945,"context_line":"            # The format for replication_type in extra spec is in"},{"line_number":3946,"context_line":"            # \"\u003cin\u003e global\". Otherwise, the code will"},{"line_number":3947,"context_line":"            # not reach here."}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_cebe55ad","line":3944,"range":{"start_line":3944,"start_character":47,"end_line":3944,"end_character":68},"in_reply_to":"9f560f44_a9d17fcf","updated":"2020-10-01 14:30:11.000000000","message":"yes, it is intended to use the global variable storwize_const.GLOBAL that is defined in storwize_const.py. if rep_val is not \"\u003cis\u003e True\" then None is returned by the function.","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c052e7dfe890f216fd20af48f9600e9a5a77f20e","unresolved":false,"context_lines":[{"line_number":5457,"context_line":"                  \u0027 %(sources)s\u0027, {\u0027cg_name\u0027: cg_name, \u0027sources\u0027: sources})"},{"line_number":5458,"context_line":"        self._helpers.create_fc_consistgrp(cg_name)"},{"line_number":5459,"context_line":"        timeout \u003d self.configuration.storwize_svc_flashcopy_timeout"},{"line_number":5460,"context_line":"        model_update, snapshots_model \u003d ("},{"line_number":5461,"context_line":"            self._helpers.create_cg_from_source(group,"},{"line_number":5462,"context_line":"                                                cg_name,"},{"line_number":5463,"context_line":"                                                sources,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_b270c4a6","line":5460,"range":{"start_line":5460,"start_character":22,"end_line":5460,"end_character":37},"updated":"2020-09-29 14:22:27.000000000","message":"the method create_cg_from_source returns volume_model_update and here we assign it into snapshots_model which is quite confusing to me","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"d62364fee4bf25194c8db63a4367f32db37b6dc2","unresolved":false,"context_lines":[{"line_number":5457,"context_line":"                  \u0027 %(sources)s\u0027, {\u0027cg_name\u0027: cg_name, \u0027sources\u0027: sources})"},{"line_number":5458,"context_line":"        self._helpers.create_fc_consistgrp(cg_name)"},{"line_number":5459,"context_line":"        timeout \u003d self.configuration.storwize_svc_flashcopy_timeout"},{"line_number":5460,"context_line":"        model_update, snapshots_model \u003d ("},{"line_number":5461,"context_line":"            self._helpers.create_cg_from_source(group,"},{"line_number":5462,"context_line":"                                                cg_name,"},{"line_number":5463,"context_line":"                                                sources,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_0ede8d0f","line":5460,"range":{"start_line":5460,"start_character":22,"end_line":5460,"end_character":37},"in_reply_to":"9f560f44_b270c4a6","updated":"2020-10-01 14:30:11.000000000","message":"renamed variable \u0027snapshot_model\u0027 to \u0027volumes_model\u0027 to avoid confusion.","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c052e7dfe890f216fd20af48f9600e9a5a77f20e","unresolved":false,"context_lines":[{"line_number":5737,"context_line":"        LOG.info(\"Update replication group: %(group)s. \", {\u0027group\u0027: group.id})"},{"line_number":5738,"context_line":""},{"line_number":5739,"context_line":"        rccg_name \u003d self._get_rccg_name(group)"},{"line_number":5740,"context_line":"        # This code block fails during remove of volumes from group"},{"line_number":5741,"context_line":"        try:"},{"line_number":5742,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"},{"line_number":5743,"context_line":"        except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_65b78dfa","line":5740,"range":{"start_line":5740,"start_character":8,"end_line":5740,"end_character":67},"updated":"2020-09-29 14:22:27.000000000","message":"This should be more specific on the situation where this fails or if there are multiple possible cases, some info should be provided regarding the same","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"ed50b6b22f4d63489c25a520044a942a64b19acf","unresolved":false,"context_lines":[{"line_number":3045,"context_line":""},{"line_number":3046,"context_line":"    def _check_if_group_type_cg_snapshot(self, volume):"},{"line_number":3047,"context_line":"        if (volume.group_id and"},{"line_number":3048,"context_line":"                (not volume_utils.is_group_a_cg_snapshot_type(volume.group) and"},{"line_number":3049,"context_line":"                 not volume_utils.is_group_a_type"},{"line_number":3050,"context_line":"                 (volume.group, \"consistent_group_replication_enabled\"))):"},{"line_number":3051,"context_line":"            msg \u003d _(\u0027Create volume with a replication or hyperswap \u0027"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_4398f2ca","line":3048,"range":{"start_line":3048,"start_character":16,"end_line":3048,"end_character":17},"updated":"2020-10-08 18:32:34.000000000","message":"nit: you can omit these parentheses, as the result will be the same regardless the evaluation order:\n\n    (A and B) and C \u003d\u003d A and (B and C) \u003d\u003d A and B and C","commit_id":"528af66ff2df65f972d02d2b0ef157cf1c054fc0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1ebb159ab3aa236777f2bdf9bf7f75ddea1296d9","unresolved":false,"context_lines":[{"line_number":3910,"context_line":"        return bypass_volumes, replica_volumes"},{"line_number":3911,"context_line":""},{"line_number":3912,"context_line":"    def _get_replica_obj(self, rep_type):"},{"line_number":3913,"context_line":"        replica_manager \u003d self.replica_manager["},{"line_number":3914,"context_line":"            self._replica_target[\u0027backend_id\u0027]]"},{"line_number":3915,"context_line":"        return replica_manager.get_replica_obj(rep_type)"},{"line_number":3916,"context_line":""},{"line_number":3917,"context_line":"    def _get_replica_mgr(self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_cc2a982d","line":3914,"range":{"start_line":3913,"start_character":26,"end_line":3914,"end_character":47},"updated":"2020-10-08 13:52:44.000000000","message":"we cna call _get_replica_mgr() method here","commit_id":"528af66ff2df65f972d02d2b0ef157cf1c054fc0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1ebb159ab3aa236777f2bdf9bf7f75ddea1296d9","unresolved":false,"context_lines":[{"line_number":5437,"context_line":"        if (not volume_utils.is_group_a_cg_snapshot_type(group) and"},{"line_number":5438,"context_line":"                not volume_utils.is_group_a_type"},{"line_number":5439,"context_line":"                (group, \"consistent_group_replication_enabled\")):"},{"line_number":5440,"context_line":"            # we\u0027ll rely on the generic volume groups implementation if it is"},{"line_number":5441,"context_line":"            # not a consistency group request."},{"line_number":5442,"context_line":"            raise NotImplementedError()"},{"line_number":5443,"context_line":""},{"line_number":5444,"context_line":"        if group_snapshot and snapshots:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_cc01f8b7","line":5441,"range":{"start_line":5440,"start_character":12,"end_line":5441,"end_character":46},"updated":"2020-10-08 13:52:44.000000000","message":"i think this can be modified to include the replication case as well","commit_id":"528af66ff2df65f972d02d2b0ef157cf1c054fc0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1ebb159ab3aa236777f2bdf9bf7f75ddea1296d9","unresolved":false,"context_lines":[{"line_number":5489,"context_line":"        if (not volume_utils.is_group_a_cg_snapshot_type(group_snapshot) and"},{"line_number":5490,"context_line":"                not volume_utils.is_group_a_type"},{"line_number":5491,"context_line":"                (group_snapshot, \"consistent_group_replication_enabled\")):"},{"line_number":5492,"context_line":"            # we\u0027ll rely on the generic group implementation if it is not a"},{"line_number":5493,"context_line":"            # consistency group request."},{"line_number":5494,"context_line":"            raise NotImplementedError()"},{"line_number":5495,"context_line":"        # Use group_snapshot id as cg name"},{"line_number":5496,"context_line":"        cg_name \u003d \u0027cg_snap-\u0027 + group_snapshot.id"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_ac0484c6","line":5493,"range":{"start_line":5492,"start_character":12,"end_line":5493,"end_character":40},"updated":"2020-10-08 13:52:44.000000000","message":"same","commit_id":"528af66ff2df65f972d02d2b0ef157cf1c054fc0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1ebb159ab3aa236777f2bdf9bf7f75ddea1296d9","unresolved":false,"context_lines":[{"line_number":5737,"context_line":"        LOG.info(\"Update replication group: %(group)s. \", {\u0027group\u0027: group.id})"},{"line_number":5738,"context_line":""},{"line_number":5739,"context_line":"        rccg_name \u003d self._get_rccg_name(group)"},{"line_number":5740,"context_line":"        # This code block fails during remove of volumes from group"},{"line_number":5741,"context_line":"        try:"},{"line_number":5742,"context_line":"            rccg \u003d self._helpers.get_rccg(rccg_name)"},{"line_number":5743,"context_line":"        except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_0c0c90ea","line":5740,"range":{"start_line":5740,"start_character":26,"end_line":5740,"end_character":31},"updated":"2020-10-08 13:52:44.000000000","message":"might fail","commit_id":"528af66ff2df65f972d02d2b0ef157cf1c054fc0"}],"releasenotes/notes/Code-changes-to-handle-groups-with-replication_enabled-or-snapshot_enabled-72f669fe2719ce3d.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c052e7dfe890f216fd20af48f9600e9a5a77f20e","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":"    IBM Spectrum Virtualize: Adds support to enable creating a group from"},{"line_number":5,"context_line":"    source, when source is a replicated group or consistency group snapshot"},{"line_number":6,"context_line":"    of a replicated group."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9f560f44_45bc09db","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":33},"updated":"2020-09-29 14:22:27.000000000","message":"Added","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"},{"author":{"_account_id":32073,"name":"Sharath Kacham","email":"sharath.kacham1@ibm.com","username":"sharathkacham"},"change_message_id":"d62364fee4bf25194c8db63a4367f32db37b6dc2","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":"    IBM Spectrum Virtualize: Adds support to enable creating a group from"},{"line_number":5,"context_line":"    source, when source is a replicated group or consistency group snapshot"},{"line_number":6,"context_line":"    of a replicated group."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9f560f44_395bd9f6","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":33},"in_reply_to":"9f560f44_45bc09db","updated":"2020-10-01 14:30:11.000000000","message":"Modified the comment","commit_id":"315fd71af03f82c0acf5709766bbeebf9b01cad2"}]}
