)]}'
{"cinder/backup/manager.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"bdc1c9fe22872e939c2f6826bff9e3ff30216fb6","unresolved":true,"context_lines":[{"line_number":184,"context_line":"        # have waited on the lock for the first one to finish the cleanup and"},{"line_number":185,"context_line":"        # can now continue with the start process."},{"line_number":186,"context_line":"        if self._process_number !\u003d 1:"},{"line_number":187,"context_line":"            LOG.debug(\"Process #%s (pgid\u003d%s) skips cleanup.\","},{"line_number":188,"context_line":"                      self._process_number,"},{"line_number":189,"context_line":"                      SERVICE_PGRP if SERVICE_PGRP else \u0027\u0027)"},{"line_number":190,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":5,"id":"24b48617_292d8171","line":187,"range":{"start_line":187,"start_character":36,"end_line":187,"end_character":43},"updated":"2021-06-16 13:49:15.000000000","message":"This will always print \"pgid\u003d\" in the message rather than omitting this segment when SERVICE_PGRP is unset like it did before.","commit_id":"a7f14b81e897f116ee0eac4e5377d5c3c89ee18f"}],"cinder/tests/unit/volume/drivers/dell_emc/powerstore/test_volume_attach_detach.py":[{"author":{"_account_id":32171,"name":"Girish Chilukuri","email":"girish.chilukuri@ibm.com","username":"GirishChilukuri"},"change_message_id":"91bfe5ec2c9f910a34b17058b7867fda6ff7f5fa","unresolved":true,"context_lines":[{"line_number":94,"context_line":"        self.fc_driver.adapter.allowed_ports \u003d [\"58:cc:f0:98:49:23:07:02\"]"},{"line_number":95,"context_line":"        wwns \u003d self.fc_driver.adapter._get_fc_targets(\"A1\")"},{"line_number":96,"context_line":"        self.assertEqual(1, len(wwns))"},{"line_number":97,"context_line":"        self.assertFalse("},{"line_number":98,"context_line":"            utils.fc_wwn_to_string(\"58:cc:f0:98:49:21:07:02\") in wwns"},{"line_number":99,"context_line":"        )"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dc8d1066_e2aa8ace","line":97,"range":{"start_line":97,"start_character":13,"end_line":97,"end_character":24},"updated":"2020-12-04 07:23:29.000000000","message":"This statement can be replaced with assertNotIn","commit_id":"73224e29d56ae5418dc3180a46fba9bad6972929"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d2c9d319d531a70d6e5f8aaee688a6f6d2c11f44","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        self.fc_driver.adapter.allowed_ports \u003d [\"58:cc:f0:98:49:23:07:02\"]"},{"line_number":95,"context_line":"        wwns \u003d self.fc_driver.adapter._get_fc_targets(\"A1\")"},{"line_number":96,"context_line":"        self.assertEqual(1, len(wwns))"},{"line_number":97,"context_line":"        self.assertFalse("},{"line_number":98,"context_line":"            utils.fc_wwn_to_string(\"58:cc:f0:98:49:21:07:02\") in wwns"},{"line_number":99,"context_line":"        )"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"6d18b8a3_5e67cd9c","line":97,"range":{"start_line":97,"start_character":13,"end_line":97,"end_character":24},"in_reply_to":"dc8d1066_e2aa8ace","updated":"2020-12-04 13:20:24.000000000","message":"Done","commit_id":"73224e29d56ae5418dc3180a46fba9bad6972929"}],"cinder/tests/unit/volume/drivers/ibm/test_ds8k_proxy.py":[{"author":{"_account_id":32171,"name":"Girish Chilukuri","email":"girish.chilukuri@ibm.com","username":"GirishChilukuri"},"change_message_id":"5c5a319988f6c7b8074fbde809cc37377e0a580b","unresolved":false,"context_lines":[{"line_number":1628,"context_line":"        lun \u003d ds8kproxy.Lun(volume)"},{"line_number":1629,"context_line":"        pool, lss \u003d self.driver._find_pool_lss_pair_from_spec(lun, set())"},{"line_number":1630,"context_line":"        # if not specify pool, choose pools set in configuration file."},{"line_number":1631,"context_line":"        self.assertTrue(pool in self.configuration.san_clustername.split(\u0027,\u0027))"},{"line_number":1632,"context_line":"        self.assertEqual(TEST_LSS_ID_1, lss)"},{"line_number":1633,"context_line":""},{"line_number":1634,"context_line":"    def test_create_volume_only_specify_pool(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f6b1bfe_d0d904f5","line":1631,"updated":"2020-10-13 17:07:07.000000000","message":"Hi Sean,\nI think here we can replace assertTrue() with assertIn() method. Is this change is valid?","commit_id":"8f533254d5c764d3379d067788e7e65ec5923f00"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a1f49d2968e8b5536a578cd648bce3d622600383","unresolved":false,"context_lines":[{"line_number":1628,"context_line":"        lun \u003d ds8kproxy.Lun(volume)"},{"line_number":1629,"context_line":"        pool, lss \u003d self.driver._find_pool_lss_pair_from_spec(lun, set())"},{"line_number":1630,"context_line":"        # if not specify pool, choose pools set in configuration file."},{"line_number":1631,"context_line":"        self.assertTrue(pool in self.configuration.san_clustername.split(\u0027,\u0027))"},{"line_number":1632,"context_line":"        self.assertEqual(TEST_LSS_ID_1, lss)"},{"line_number":1633,"context_line":""},{"line_number":1634,"context_line":"    def test_create_volume_only_specify_pool(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f6b1bfe_30503833","line":1631,"in_reply_to":"7f6b1bfe_d0d904f5","updated":"2020-10-13 17:09:56.000000000","message":"Good catch. For some reason running pep8 locally did not flag this instance, but it should have. Will update.","commit_id":"8f533254d5c764d3379d067788e7e65ec5923f00"},{"author":{"_account_id":32171,"name":"Girish Chilukuri","email":"girish.chilukuri@ibm.com","username":"GirishChilukuri"},"change_message_id":"5c5a319988f6c7b8074fbde809cc37377e0a580b","unresolved":false,"context_lines":[{"line_number":3582,"context_line":"                self.ctxt, group_snapshot, [snapshot]))"},{"line_number":3583,"context_line":"        location \u003d ast.literal_eval("},{"line_number":3584,"context_line":"            snapshots_model_update[0][\u0027provider_location\u0027])"},{"line_number":3585,"context_line":"        self.assertTrue(location[\u0027vol_hex_id\u0027][:2] not in (20, 21, 22, 23))"},{"line_number":3586,"context_line":"        self.assertEqual(\u0027available\u0027, snapshots_model_update[0][\u0027status\u0027])"},{"line_number":3587,"context_line":"        self.assertEqual(fields.GroupStatus.AVAILABLE, model_update[\u0027status\u0027])"},{"line_number":3588,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f6b1bfe_b08448b3","line":3585,"updated":"2020-10-13 17:07:07.000000000","message":"AsserTrue() can be replaced with assertNotIn() method. Is this change is valid?","commit_id":"8f533254d5c764d3379d067788e7e65ec5923f00"}]}
