)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"f8b12c00ab3a8e33f7f88172cf01d2330c3b7eff","unresolved":false,"context_lines":[{"line_number":5823,"context_line":""},{"line_number":5824,"context_line":"        instances \u003d objects.InstanceList.get_active_by_window_joined("},{"line_number":5825,"context_line":"            context, begin, end, host\u003dself.host,"},{"line_number":5826,"context_line":"            expected_attrs\u003d[\u0027system_metadata\u0027, \u0027info_cache\u0027, \u0027metadata\u0027],"},{"line_number":5827,"context_line":"            use_slave\u003dTrue)"},{"line_number":5828,"context_line":"        num_instances \u003d len(instances)"},{"line_number":5829,"context_line":"        errors \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_b0547cca","line":5826,"updated":"2016-02-02 18:29:03.000000000","message":"I think a better fix would be to add flavor to expected_attrs here. That way we avoid the extra db lookups all together.","commit_id":"8925562f81b21f5b8044a6dbeb3d0c2a46369dc2"},{"author":{"_account_id":11069,"name":"Corey Wright","email":"undefined+launchpad@pobox.com","username":"coreywright"},"change_message_id":"2a90d5d65dc58a5dc454d6edeceb956d46eb7ede","unresolved":false,"context_lines":[{"line_number":5823,"context_line":""},{"line_number":5824,"context_line":"        instances \u003d objects.InstanceList.get_active_by_window_joined("},{"line_number":5825,"context_line":"            context, begin, end, host\u003dself.host,"},{"line_number":5826,"context_line":"            expected_attrs\u003d[\u0027system_metadata\u0027, \u0027info_cache\u0027, \u0027metadata\u0027],"},{"line_number":5827,"context_line":"            use_slave\u003dTrue)"},{"line_number":5828,"context_line":"        num_instances \u003d len(instances)"},{"line_number":5829,"context_line":"        errors \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_818aed19","line":5826,"in_reply_to":"7a5de9d1_b0547cca","updated":"2016-02-05 07:02:51.000000000","message":"Done","commit_id":"8925562f81b21f5b8044a6dbeb3d0c2a46369dc2"},{"author":{"_account_id":11069,"name":"Corey Wright","email":"undefined+launchpad@pobox.com","username":"coreywright"},"change_message_id":"3b635e705f2ac431c1448b24bc8d7cec6f43fb5f","unresolved":false,"context_lines":[{"line_number":5847,"context_line":"        task_log.begin_task()"},{"line_number":5848,"context_line":"        # NOTE(coreywright): allow reading information for deleted instances"},{"line_number":5849,"context_line":"        # from database when generating notifications for them"},{"line_number":5850,"context_line":"        context.read_deleted \u003d \u0027yes\u0027"},{"line_number":5851,"context_line":"        for instance in instances:"},{"line_number":5852,"context_line":"            try:"},{"line_number":5853,"context_line":"                compute_utils.notify_usage_exists("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_39a73751","line":5850,"updated":"2016-02-03 01:46:33.000000000","message":"okay, this is stupid.  setting the read_deleted attribute of the context, a context which is shared by all periodic tasks within the same run, is \"bad\".  please ignore and i\u0027ll be back with something that addresses Hans\u0027 comment.","commit_id":"8925562f81b21f5b8044a6dbeb3d0c2a46369dc2"},{"author":{"_account_id":11069,"name":"Corey Wright","email":"undefined+launchpad@pobox.com","username":"coreywright"},"change_message_id":"2a90d5d65dc58a5dc454d6edeceb956d46eb7ede","unresolved":false,"context_lines":[{"line_number":5847,"context_line":"        task_log.begin_task()"},{"line_number":5848,"context_line":"        # NOTE(coreywright): allow reading information for deleted instances"},{"line_number":5849,"context_line":"        # from database when generating notifications for them"},{"line_number":5850,"context_line":"        context.read_deleted \u003d \u0027yes\u0027"},{"line_number":5851,"context_line":"        for instance in instances:"},{"line_number":5852,"context_line":"            try:"},{"line_number":5853,"context_line":"                compute_utils.notify_usage_exists("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_a18fe928","line":5850,"in_reply_to":"5a5ae5dd_39a73751","updated":"2016-02-05 07:02:51.000000000","message":"Done","commit_id":"8925562f81b21f5b8044a6dbeb3d0c2a46369dc2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"88de187c8ce71421ebf5bc30992867d77ca1dbd8","unresolved":false,"context_lines":[{"line_number":5824,"context_line":"        instances \u003d objects.InstanceList.get_active_by_window_joined("},{"line_number":5825,"context_line":"            context, begin, end, host\u003dself.host,"},{"line_number":5826,"context_line":"            expected_attrs\u003d[\u0027system_metadata\u0027, \u0027info_cache\u0027, \u0027metadata\u0027,"},{"line_number":5827,"context_line":"                            \u0027flavor\u0027],"},{"line_number":5828,"context_line":"            use_slave\u003dTrue)"},{"line_number":5829,"context_line":"        num_instances \u003d len(instances)"},{"line_number":5830,"context_line":"        errors \u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_09a5eeb3","line":5827,"updated":"2016-02-04 13:26:24.000000000","message":"I suspect this was missed in the great flavor migration of \u002715 since flavor info used to be in system_metadata.","commit_id":"30f643166f5974570c587ef84817effb2d46910b"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"436a04003468ead70aec6a624271bebd3c09d06f","unresolved":false,"context_lines":[{"line_number":4370,"context_line":"        def fake_last_completed_audit_period():"},{"line_number":4371,"context_line":"            return (begin, end)"},{"line_number":4372,"context_line":""},{"line_number":4373,"context_line":"        self.stubs.Set(utils, \u0027last_completed_audit_period\u0027,"},{"line_number":4374,"context_line":"                       fake_last_completed_audit_period)"},{"line_number":4375,"context_line":""},{"line_number":4376,"context_line":"        compute._instance_usage_audit(admin_context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_cd9421ea","line":4373,"updated":"2016-02-09 18:24:25.000000000","message":"This method is deprecated in favor of self.stub_out() as part of the movement away from mox(not py3 compatible) to mock.","commit_id":"de8c6104ad566d5d4f3fcdd9922e95397d40a0ba"},{"author":{"_account_id":11069,"name":"Corey Wright","email":"undefined+launchpad@pobox.com","username":"coreywright"},"change_message_id":"4e52351fb3134c6b07a6fbb739287c0680a738df","unresolved":false,"context_lines":[{"line_number":4370,"context_line":"        def fake_last_completed_audit_period():"},{"line_number":4371,"context_line":"            return (begin, end)"},{"line_number":4372,"context_line":""},{"line_number":4373,"context_line":"        self.stubs.Set(utils, \u0027last_completed_audit_period\u0027,"},{"line_number":4374,"context_line":"                       fake_last_completed_audit_period)"},{"line_number":4375,"context_line":""},{"line_number":4376,"context_line":"        compute._instance_usage_audit(admin_context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_deb5a5d0","line":4373,"in_reply_to":"3a57f1b5_cd9421ea","updated":"2016-02-10 23:21:57.000000000","message":"Done","commit_id":"de8c6104ad566d5d4f3fcdd9922e95397d40a0ba"}]}
