)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"The patch list:"},{"line_number":19,"context_line":"    tests."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"TestImpact"},{"line_number":22,"context_line":"Partial-Implements: blueprint replace-iteritems-with-items"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I2d09c1d06370fed9c7c116a9eedea929fa5b5dc2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da4df55a_a4a96692","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":10},"updated":"2016-12-27 09:27:26.000000000","message":"This tag is not necessary.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    tests."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"TestImpact"},{"line_number":22,"context_line":"Partial-Implements: blueprint replace-iteritems-with-items"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I2d09c1d06370fed9c7c116a9eedea929fa5b5dc2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da4df55a_c4382a40","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":29},"updated":"2016-12-27 09:27:26.000000000","message":"IMO, it is better to use a bug report for tracking.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"}],"nova/tests/functional/api/client.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import requests"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from six.moves.urllib import parse"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_6414de9f","side":"PARENT","line":20,"updated":"2016-12-27 09:27:26.000000000","message":"Unnecessary change.","commit_id":"372452a1f703115310ea3400f9f636829759b80f"}],"nova/tests/functional/wsgi/test_flavor_manage.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    def assertFlavorAPIEqual(self, flav, flavapi):"},{"line_number":119,"context_line":"        # for all keys in the flavor, ensure they are correctly set in"},{"line_number":120,"context_line":"        # flavapi response."},{"line_number":121,"context_line":"        for k, v in flav.items():"},{"line_number":122,"context_line":"            if k in flavapi:"},{"line_number":123,"context_line":"                self.assertEqual(flav[k], flavapi[k],"},{"line_number":124,"context_line":"                                 \"%s !\u003d %s\" % (flav, flavapi))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_8243356b","line":121,"updated":"2017-02-08 20:15:57.000000000","message":"v isn\u0027t used in the loop, so this could be altered to:\n\n    for k in flav:","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    def assertFlavorAPIEqual(self, flav, flavapi):"},{"line_number":119,"context_line":"        # for all keys in the flavor, ensure they are correctly set in"},{"line_number":120,"context_line":"        # flavapi response."},{"line_number":121,"context_line":"        for k, v in flav.items():"},{"line_number":122,"context_line":"            if k in flavapi:"},{"line_number":123,"context_line":"                self.assertEqual(flav[k], flavapi[k],"},{"line_number":124,"context_line":"                                 \"%s !\u003d %s\" % (flav, flavapi))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_dcf17e02","line":121,"in_reply_to":"1a430d35_8243356b","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}],"nova/tests/unit/api/openstack/compute/test_api.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_serialization import jsonutils"},{"line_number":17,"context_line":"from oslo_utils import encodeutils"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import webob.dec"},{"line_number":20,"context_line":"import webob.exc"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_0426b214","line":18,"updated":"2016-12-27 09:27:26.000000000","message":"This blank line should be removed.\n\nSee http://docs.openstack.org/developer/hacking/#import-order-template .","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"}],"nova/tests/unit/api/openstack/compute/test_flavor_access.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import datetime"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from webob import exc"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from nova.api.openstack import api_version_request as api_version"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_241f36b8","line":19,"updated":"2016-12-27 09:27:26.000000000","message":"This blank line should be removed.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"}],"nova/tests/unit/api/openstack/compute/test_used_limits.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from nova.api.openstack import api_version_request"},{"line_number":20,"context_line":"from nova.api.openstack.compute import used_limits \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_363d40bc","line":17,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from oslo_utils import timeutils"},{"line_number":36,"context_line":"from oslo_utils import units"},{"line_number":37,"context_line":"from oslo_utils import uuidutils"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"import testtools"},{"line_number":40,"context_line":"from testtools import matchers as testtools_matchers"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_e46fee28","line":38,"updated":"2016-12-27 09:27:26.000000000","message":"This blank line should be removed.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_serialization import jsonutils"},{"line_number":24,"context_line":"from oslo_utils import timeutils"},{"line_number":25,"context_line":"from oslo_utils import uuidutils"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import nova"},{"line_number":29,"context_line":"from nova.compute import build_results"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_b677709e","line":26,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/consoleauth/test_rpcapi.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import mock"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from nova.consoleauth import rpcapi as consoleauth_rpcapi"},{"line_number":24,"context_line":"from nova import context"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_f671f8a9","line":21,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/db/fakes.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import copy"},{"line_number":20,"context_line":"import datetime"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from nova import exception"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_5661e4d2","line":21,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    @classmethod"},{"line_number":439,"context_line":"    def fake_flavor_get(cls, context, id):"},{"line_number":440,"context_line":"        for name, inst_type in INSTANCE_TYPES.items():"},{"line_number":441,"context_line":"            if str(inst_type[\u0027id\u0027]) \u003d\u003d str(id):"},{"line_number":442,"context_line":"                return inst_type"},{"line_number":443,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_42922d4d","line":440,"updated":"2017-02-08 20:15:57.000000000","message":"name is not used in this loop, so this could be altered to be:\n\n    for inst_type in INSTANCE_TYPES.values():","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    @classmethod"},{"line_number":439,"context_line":"    def fake_flavor_get(cls, context, id):"},{"line_number":440,"context_line":"        for name, inst_type in INSTANCE_TYPES.items():"},{"line_number":441,"context_line":"            if str(inst_type[\u0027id\u0027]) \u003d\u003d str(id):"},{"line_number":442,"context_line":"                return inst_type"},{"line_number":443,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_bcd59243","line":440,"in_reply_to":"1a430d35_42922d4d","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}],"nova/tests/unit/fake_ldap.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import fnmatch"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from oslo_serialization import jsonutils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from six.moves import range"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_a458868b","line":27,"updated":"2016-12-27 09:27:26.000000000","message":"This blank line should be removed.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"}],"nova/tests/unit/objects/test_block_device.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from nova.cells import rpcapi as cells_rpcapi"},{"line_number":19,"context_line":"from nova import context"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_d6a314ff","line":16,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/pci/test_stats.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from nova import exception"},{"line_number":21,"context_line":"from nova import objects"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_16ae7ce7","line":18,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/policy_fixture.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import fixtures"},{"line_number":18,"context_line":"from oslo_policy import policy as oslo_policy"},{"line_number":19,"context_line":"from oslo_serialization import jsonutils"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import nova.conf"},{"line_number":23,"context_line":"from nova.conf import paths"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_76b50830","line":20,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.add_missing_default_rules(policy)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        # Convert all actions to require specified role"},{"line_number":126,"context_line":"        for action, rule in policy.items():"},{"line_number":127,"context_line":"            policy[action] \u003d \u0027role:%s\u0027 % self.role"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        self.policy_dir \u003d self.useFixture(fixtures.TempDir())"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_a2e911b9","line":126,"updated":"2017-02-08 20:15:57.000000000","message":"rule is not used in this loop, so this could be changed to:\n\n    for action in policy:","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.add_missing_default_rules(policy)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        # Convert all actions to require specified role"},{"line_number":126,"context_line":"        for action, rule in policy.items():"},{"line_number":127,"context_line":"            policy[action] \u003d \u0027role:%s\u0027 % self.role"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        self.policy_dir \u003d self.useFixture(fixtures.TempDir())"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_1cc78696","line":126,"in_reply_to":"1a430d35_a2e911b9","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}],"nova/tests/unit/scheduler/fakes.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import datetime"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from nova import objects"},{"line_number":23,"context_line":"from nova.scheduler import driver"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_9680ac4b","line":20,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/test_hacking.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"f1720b502f82608acf62176abe89e05561c700ad","unresolved":false,"context_lines":[{"line_number":656,"context_line":"            \"obj.iteritems()\"))))"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"        self.assertEqual(0, len(list(checks.check_python3_no_iteritems("},{"line_number":659,"context_line":"            \"ob.items())\"))))"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    def test_dict_iterkeys(self):"},{"line_number":662,"context_line":"        self.assertEqual(1, len(list(checks.check_python3_no_iterkeys("}],"source_content_type":"text/x-python","patch_set":5,"id":"7a3c09a3_79489eb3","line":659,"updated":"2017-01-18 17:46:07.000000000","message":"I don\u0027t think you intended to make this change.","commit_id":"e296e32d5711d8655076a7b7cb90bf48c16dc99b"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"775e85e6c2ed26c6dfbf49c06772c162aa91c7c2","unresolved":false,"context_lines":[{"line_number":656,"context_line":"            \"obj.iteritems()\"))))"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"        self.assertEqual(0, len(list(checks.check_python3_no_iteritems("},{"line_number":659,"context_line":"            \"ob.items())\"))))"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    def test_dict_iterkeys(self):"},{"line_number":662,"context_line":"        self.assertEqual(1, len(list(checks.check_python3_no_iterkeys("}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_ed48458a","line":659,"in_reply_to":"7a3c09a3_79489eb3","updated":"2017-01-19 01:50:57.000000000","message":"exactly!","commit_id":"e296e32d5711d8655076a7b7cb90bf48c16dc99b"}],"nova/tests/unit/test_metadata.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from oslo_serialization import base64"},{"line_number":34,"context_line":"from oslo_serialization import jsonutils"},{"line_number":35,"context_line":"from oslo_utils import encodeutils"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"import webob"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"from nova.api.metadata import base"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_a4cfa627","line":36,"updated":"2016-12-27 09:27:26.000000000","message":"This blank line should be removed.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"}],"nova/tests/unit/test_utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":1131,"context_line":"        # Verify that we inherit the rest of metadata as properties"},{"line_number":1132,"context_line":"        self.assertIn(\"properties\", image)"},{"line_number":1133,"context_line":""},{"line_number":1134,"context_line":"        for key, value in image[\"properties\"].items():"},{"line_number":1135,"context_line":"            sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, key)"},{"line_number":1136,"context_line":"            self.assertEqual(image[\"properties\"][key], sys_meta[sys_key])"},{"line_number":1137,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_422eadfb","line":1134,"updated":"2017-02-08 20:15:57.000000000","message":"value is not used in this loop, so this could be altered to:\n\n    for key in image[\u0027properties\u0027]:","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":1131,"context_line":"        # Verify that we inherit the rest of metadata as properties"},{"line_number":1132,"context_line":"        self.assertIn(\"properties\", image)"},{"line_number":1133,"context_line":""},{"line_number":1134,"context_line":"        for key, value in image[\"properties\"].items():"},{"line_number":1135,"context_line":"            sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, key)"},{"line_number":1136,"context_line":"            self.assertEqual(image[\"properties\"][key], sys_meta[sys_key])"},{"line_number":1137,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_fc42ba0d","line":1134,"in_reply_to":"1a430d35_422eadfb","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}],"nova/tests/unit/virt/libvirt/fake_imagebackend.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import fixtures"},{"line_number":21,"context_line":"import mock"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from nova.virt.libvirt import config"},{"line_number":25,"context_line":"from nova.virt.libvirt import driver"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_b685b05a","line":22,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/virt/libvirt/fakelibvirt.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import fixtures"},{"line_number":19,"context_line":"from lxml import etree"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from nova.objects import fields as obj_fields"},{"line_number":23,"context_line":"from nova.tests import uuidsentinel as uuids"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_d67a3477","line":20,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":6826,"context_line":"        # implementation doesn\u0027t fiddle around with the CONF."},{"line_number":6827,"context_line":"        testuri \u003d \u0027something completely different\u0027"},{"line_number":6828,"context_line":"        self.flags(connection_uri\u003dtesturi, group\u003d\u0027libvirt\u0027)"},{"line_number":6829,"context_line":"        for (virt_type, (expected_uri, checks)) in type_uri_map.items():"},{"line_number":6830,"context_line":"            self.flags(virt_type\u003dvirt_type, group\u003d\u0027libvirt\u0027)"},{"line_number":6831,"context_line":"            drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":6832,"context_line":"            self.assertEqual(drvr._uri(), testuri)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_c229bde7","line":6829,"updated":"2017-02-08 20:15:57.000000000","message":"Neither expected_uri nor checks are used in this loop, so this could be altered to:\n\n    for virt_type in type_uri_map:","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":6826,"context_line":"        # implementation doesn\u0027t fiddle around with the CONF."},{"line_number":6827,"context_line":"        testuri \u003d \u0027something completely different\u0027"},{"line_number":6828,"context_line":"        self.flags(connection_uri\u003dtesturi, group\u003d\u0027libvirt\u0027)"},{"line_number":6829,"context_line":"        for (virt_type, (expected_uri, checks)) in type_uri_map.items():"},{"line_number":6830,"context_line":"            self.flags(virt_type\u003dvirt_type, group\u003d\u0027libvirt\u0027)"},{"line_number":6831,"context_line":"            drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":6832,"context_line":"            self.assertEqual(drvr._uri(), testuri)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_3c49a231","line":6829,"in_reply_to":"1a430d35_c229bde7","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}],"nova/tests/unit/virt/libvirt/test_utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from oslo_concurrency import processutils"},{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":"from oslo_utils import fileutils"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from nova import context"},{"line_number":27,"context_line":"from nova import exception"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_f67f3864","line":24,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/virt/test_block_device.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":"from oslo_serialization import jsonutils"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from nova import block_device"},{"line_number":20,"context_line":"from nova import context"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_16959c87","line":17,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/virt/vmwareapi/fake.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from oslo_utils import uuidutils"},{"line_number":29,"context_line":"from oslo_vmware import exceptions as vexc"},{"line_number":30,"context_line":"from oslo_vmware.objects import datastore as ds_obj"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from nova import exception"},{"line_number":34,"context_line":"from nova.virt.vmwareapi import constants"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_3692a0a0","line":31,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"}],"nova/tests/unit/virt/xenapi/stubs.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ceaf73b91aff610f76b6c5a6275a8576c6aa5312","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import fixtures"},{"line_number":21,"context_line":"import mock"},{"line_number":22,"context_line":"from oslo_serialization import jsonutils"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from nova import test"},{"line_number":26,"context_line":"import nova.tests.unit.image.fake"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_768c2880","line":23,"updated":"2017-01-09 10:01:33.000000000","message":"This should go","commit_id":"0672ec11fe93ab2051d953d8170193dcee2a7a1a"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def f(session):"},{"line_number":72,"context_line":"        vms \u003d [rec[\u0027uuid\u0027] for ref, rec"},{"line_number":73,"context_line":"               in fake.get_all_records(\u0027VM\u0027).items()"},{"line_number":74,"context_line":"               if rec[\u0027is_control_domain\u0027]]"},{"line_number":75,"context_line":"        return vms[0]"},{"line_number":76,"context_line":"    stubs.Set(vm_utils, \u0027get_this_vm_uuid\u0027, f)"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_c2053d46","line":74,"updated":"2017-02-08 20:15:57.000000000","message":"ref isn\u0027t used in the comprehension, so this could be altered to:\n\n    vms \u003d [rec[\u0027uuid\u0027] for rec\n           in fake.get_all_records(\u0027VM\u0027).values()\n           if rec[\u0027is_control_domain\u0027]]","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def f(session):"},{"line_number":72,"context_line":"        vms \u003d [rec[\u0027uuid\u0027] for ref, rec"},{"line_number":73,"context_line":"               in fake.get_all_records(\u0027VM\u0027).items()"},{"line_number":74,"context_line":"               if rec[\u0027is_control_domain\u0027]]"},{"line_number":75,"context_line":"        return vms[0]"},{"line_number":76,"context_line":"    stubs.Set(vm_utils, \u0027get_this_vm_uuid\u0027, f)"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_bc63d2af","line":74,"in_reply_to":"1a430d35_c2053d46","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}],"nova/tests/unit/virt/xenapi/test_xenapi.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e76b2362b61d1cb1fc7b01738bf4fe6ca0890e2d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from oslo_serialization import jsonutils"},{"line_number":31,"context_line":"from oslo_utils import importutils"},{"line_number":32,"context_line":"from oslo_utils import uuidutils"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"import testtools"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"from nova.compute import api as compute_api"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_a49de60b","line":33,"updated":"2016-12-27 09:27:26.000000000","message":"This blank line should be removed.","commit_id":"f247cd3c564f4a494d15b61d7f637cd343fe0b3e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":597,"context_line":"        # Get XenAPI record for VM"},{"line_number":598,"context_line":"        vms \u003d [rec for ref, rec"},{"line_number":599,"context_line":"               in xenapi_fake.get_all_records(\u0027VM\u0027).items()"},{"line_number":600,"context_line":"               if not rec[\u0027is_control_domain\u0027]]"},{"line_number":601,"context_line":"        vm \u003d vms[0]"},{"line_number":602,"context_line":"        self.vm_info \u003d vm_info"},{"line_number":603,"context_line":"        self.vm \u003d vm"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_0293c5fa","line":600,"updated":"2017-02-08 20:15:57.000000000","message":"ref is not used in the comprehension, so this could be altered to:\n\n    vms \u003d [rec for rec\n           in xenapi_fake.get_all_records(\u0027VM\u0027).values()\n           if not rec[\u0027is_control_domain\u0027]]","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":597,"context_line":"        # Get XenAPI record for VM"},{"line_number":598,"context_line":"        vms \u003d [rec for ref, rec"},{"line_number":599,"context_line":"               in xenapi_fake.get_all_records(\u0027VM\u0027).items()"},{"line_number":600,"context_line":"               if not rec[\u0027is_control_domain\u0027]]"},{"line_number":601,"context_line":"        vm \u003d vms[0]"},{"line_number":602,"context_line":"        self.vm_info \u003d vm_info"},{"line_number":603,"context_line":"        self.vm \u003d vm"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_dc56decc","line":600,"in_reply_to":"1a430d35_0293c5fa","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1faa8c847237c2605d4011e4373c6448f46dcb76","unresolved":false,"context_lines":[{"line_number":2922,"context_line":"def _create_service_entries(context, values\u003d{\u0027avail_zone1\u0027: [\u0027fake_host1\u0027,"},{"line_number":2923,"context_line":"                                                         \u0027fake_host2\u0027],"},{"line_number":2924,"context_line":"                                         \u0027avail_zone2\u0027: [\u0027fake_host3\u0027], }):"},{"line_number":2925,"context_line":"    for avail_zone, hosts in values.items():"},{"line_number":2926,"context_line":"        for service_host in hosts:"},{"line_number":2927,"context_line":"            db.service_create(context,"},{"line_number":2928,"context_line":"                              {\u0027host\u0027: service_host,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_c2b37d96","line":2925,"updated":"2017-02-08 20:15:57.000000000","message":"avail_zone isn\u0027t used in the loop, so this could be altered to:\n\n    for hosts in values.values():","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"bc286531a753d55b5489bb05fbce14041fe6f306","unresolved":false,"context_lines":[{"line_number":2922,"context_line":"def _create_service_entries(context, values\u003d{\u0027avail_zone1\u0027: [\u0027fake_host1\u0027,"},{"line_number":2923,"context_line":"                                                         \u0027fake_host2\u0027],"},{"line_number":2924,"context_line":"                                         \u0027avail_zone2\u0027: [\u0027fake_host3\u0027], }):"},{"line_number":2925,"context_line":"    for avail_zone, hosts in values.items():"},{"line_number":2926,"context_line":"        for service_host in hosts:"},{"line_number":2927,"context_line":"            db.service_create(context,"},{"line_number":2928,"context_line":"                              {\u0027host\u0027: service_host,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_fc59dafd","line":2925,"in_reply_to":"1a430d35_c2b37d96","updated":"2017-02-09 13:49:04.000000000","message":"Done","commit_id":"6b51a772e7cf880a4beaf6c14c75d255a78016c6"}]}
