)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5a5bb29732ab5a35717f01f14d92fb028f2e0dd3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We prefer mock nowadays and doing this makes the tests easier to"},{"line_number":10,"context_line":"modify."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"bauzas asked me to split this up, these are the build_instances"},{"line_number":13,"context_line":"tests."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ida6af54de0fe66f76480ec16782fd2a69473948c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba15a1d1_8bf47df2","line":12,"updated":"2015-09-15 18:17:24.000000000","message":"i am not sure that this should be part of the commit message.","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8b5f1879a883f99dd190f3fc75b5647b20800fa0","unresolved":false,"context_lines":[{"line_number":1055,"context_line":""},{"line_number":1056,"context_line":"    @mock.patch.object(compute_rpcapi.ComputeAPI, \u0027build_and_run_instance\u0027)"},{"line_number":1057,"context_line":"    @mock.patch.object(objects.BlockDeviceMappingList, \u0027get_by_instance_uuid\u0027,"},{"line_number":1058,"context_line":"                       return_value \u003d [])"},{"line_number":1059,"context_line":"    @mock.patch(\u0027nova.objects.Instance.refresh\u0027)"},{"line_number":1060,"context_line":"    @mock.patch.object(conductor_manager.scheduler_client.SchedulerClient,"},{"line_number":1061,"context_line":"                       \u0027select_destinations\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_50b29095","line":1058,"updated":"2015-09-15 18:16:20.000000000","message":"consider return_value\u003d[])\ni guess that it passes pep8","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86f513b95a97e25e0c8bd503875d45126eb5d4d9","unresolved":false,"context_lines":[{"line_number":1055,"context_line":""},{"line_number":1056,"context_line":"    @mock.patch.object(compute_rpcapi.ComputeAPI, \u0027build_and_run_instance\u0027)"},{"line_number":1057,"context_line":"    @mock.patch.object(objects.BlockDeviceMappingList, \u0027get_by_instance_uuid\u0027,"},{"line_number":1058,"context_line":"                       return_value \u003d [])"},{"line_number":1059,"context_line":"    @mock.patch(\u0027nova.objects.Instance.refresh\u0027)"},{"line_number":1060,"context_line":"    @mock.patch.object(conductor_manager.scheduler_client.SchedulerClient,"},{"line_number":1061,"context_line":"                       \u0027select_destinations\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_dd0e973a","line":1058,"in_reply_to":"ba15a1d1_50b29095","updated":"2015-09-16 16:58:20.000000000","message":"Done","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8b5f1879a883f99dd190f3fc75b5647b20800fa0","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"        image \u003d {\u0027fake_data\u0027: \u0027should_pass_silently\u0027}"},{"line_number":1080,"context_line":""},{"line_number":1081,"context_line":"        # build_instances() is a cast, we need to wait for it to complete"},{"line_number":1082,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"},{"line_number":1083,"context_line":"        self.conductor.build_instances(self.context,"},{"line_number":1084,"context_line":"                instances\u003dinstances,"},{"line_number":1085,"context_line":"                image\u003d{\u0027fake_data\u0027: \u0027should_pass_silently\u0027},"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_cb27d5b4","line":1082,"updated":"2015-09-15 18:16:20.000000000","message":"if we are mocking everything then do we still need the fixture?","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86f513b95a97e25e0c8bd503875d45126eb5d4d9","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"        image \u003d {\u0027fake_data\u0027: \u0027should_pass_silently\u0027}"},{"line_number":1080,"context_line":""},{"line_number":1081,"context_line":"        # build_instances() is a cast, we need to wait for it to complete"},{"line_number":1082,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"},{"line_number":1083,"context_line":"        self.conductor.build_instances(self.context,"},{"line_number":1084,"context_line":"                instances\u003dinstances,"},{"line_number":1085,"context_line":"                image\u003d{\u0027fake_data\u0027: \u0027should_pass_silently\u0027},"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_7d6aebef","line":1082,"in_reply_to":"ba15a1d1_cb27d5b4","updated":"2015-09-16 16:58:20.000000000","message":"Yes, conductor tests can run four different ways, some of those over RPC.","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8b5f1879a883f99dd190f3fc75b5647b20800fa0","unresolved":false,"context_lines":[{"line_number":1082,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"},{"line_number":1083,"context_line":"        self.conductor.build_instances(self.context,"},{"line_number":1084,"context_line":"                instances\u003dinstances,"},{"line_number":1085,"context_line":"                image\u003d{\u0027fake_data\u0027: \u0027should_pass_silently\u0027},"},{"line_number":1086,"context_line":"                filter_properties\u003d{},"},{"line_number":1087,"context_line":"                admin_password\u003d\u0027admin_password\u0027,"},{"line_number":1088,"context_line":"                injected_files\u003d\u0027injected_files\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_6b37a9e3","line":1085,"updated":"2015-09-15 18:16:20.000000000","message":"why not image\u003dimage?","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86f513b95a97e25e0c8bd503875d45126eb5d4d9","unresolved":false,"context_lines":[{"line_number":1082,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"},{"line_number":1083,"context_line":"        self.conductor.build_instances(self.context,"},{"line_number":1084,"context_line":"                instances\u003dinstances,"},{"line_number":1085,"context_line":"                image\u003d{\u0027fake_data\u0027: \u0027should_pass_silently\u0027},"},{"line_number":1086,"context_line":"                filter_properties\u003d{},"},{"line_number":1087,"context_line":"                admin_password\u003d\u0027admin_password\u0027,"},{"line_number":1088,"context_line":"                injected_files\u003d\u0027injected_files\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_1d108f58","line":1085,"in_reply_to":"ba15a1d1_6b37a9e3","updated":"2015-09-16 16:58:20.000000000","message":"Good spot","commit_id":"c5711913d2ee73a56cdfec26d2037ce1720e4cbc"}]}
