)]}'
{"nova/api/openstack/compute/views/servers.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"df44f65411b1dc7daf66948bba2b263f9ce61619","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                show_host_status \u003d context.can("},{"line_number":323,"context_line":"                    servers_policies.SERVERS % \u0027show:host_status\u0027, fatal\u003dFalse)"},{"line_number":324,"context_line":"            if show_host_status:"},{"line_number":325,"context_line":"                host_status \u003d self.compute_api.get_instance_host_status("},{"line_number":326,"context_line":"                                  instance)"},{"line_number":327,"context_line":"                server[\"server\"][\u0027host_status\u0027] \u003d host_status"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_4fb07c8c","side":"PARENT","line":325,"updated":"2019-06-18 20:27:32.000000000","message":"This is the \"stupid\" host status fetch.","commit_id":"a628d2f09a42a0faa5fcb36793e2304de634638e"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"df44f65411b1dc7daf66948bba2b263f9ce61619","unresolved":false,"context_lines":[{"line_number":427,"context_line":"                            show_host_status\u003dshow_host_status,"},{"line_number":428,"context_line":"                            show_sec_grp\u003dshow_sec_grp, bdms\u003dbdms,"},{"line_number":429,"context_line":"                            cell_down_support\u003dcell_down_support)[\"server\"]"},{"line_number":430,"context_line":"                       for server in servers"},{"line_number":431,"context_line":"                       # Filter out the fake marker instance created by the"},{"line_number":432,"context_line":"                       # fill_virtual_interface_list online data migration."},{"line_number":433,"context_line":"                       if server.uuid !\u003d virtual_interface.FAKE_UUID]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_4f871cb8","side":"PARENT","line":430,"updated":"2019-06-18 20:27:32.000000000","message":"This is the old \"stupid\" bit - we call self.show for every server, thus fetching (on L325) the host status for each, even if there are many servers on the same host.","commit_id":"a628d2f09a42a0faa5fcb36793e2304de634638e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c00aa2eafc8a99e23001673233103b5d6bc6a8f7","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            self._add_volumes_attachments(server[\"server\"],"},{"line_number":318,"context_line":"                                          bdms,"},{"line_number":319,"context_line":"                                          add_delete_on_termination)"},{"line_number":320,"context_line":"        if (api_version_request.is_supported(request, min_version\u003d\u00272.16\u0027)):"},{"line_number":321,"context_line":"            if show_host_status is None:"},{"line_number":322,"context_line":"                show_host_status \u003d context.can("},{"line_number":323,"context_line":"                    servers_policies.SERVERS % \u0027show:host_status\u0027, fatal\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_ec929e4b","line":320,"range":{"start_line":320,"start_character":12,"end_line":320,"end_character":73},"updated":"2019-06-18 19:00:22.000000000","message":"This could arguably go within the \"if show_host_status is None\" block since detail() passes False and other callers of show() pass None.","commit_id":"21ecd328144cd51b4c66c5681860f2a490c86d95"}],"nova/compute/api.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"df44f65411b1dc7daf66948bba2b263f9ce61619","unresolved":false,"context_lines":[{"line_number":4835,"context_line":"        host_statuses \u003d dict()"},{"line_number":4836,"context_line":"        for instance in instance_list:"},{"line_number":4837,"context_line":"            if instance.host:"},{"line_number":4838,"context_line":"                if instance.host not in host_status_dict:"},{"line_number":4839,"context_line":"                    host_status \u003d self.get_instance_host_status(instance)"},{"line_number":4840,"context_line":"                    host_status_dict[instance.host] \u003d host_status"},{"line_number":4841,"context_line":"                else:"},{"line_number":4842,"context_line":"                    host_status \u003d host_status_dict[instance.host]"},{"line_number":4843,"context_line":"            else:"},{"line_number":4844,"context_line":"                host_status \u003d fields_obj.HostStatus.NONE"},{"line_number":4845,"context_line":"            host_statuses[instance.uuid] \u003d host_status"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_0ffcc43c","line":4842,"range":{"start_line":4838,"start_character":0,"end_line":4842,"end_character":65},"updated":"2019-06-18 20:27:32.000000000","message":"This is the \"smart\" bit that only fetches host status once per host.","commit_id":"21ecd328144cd51b4c66c5681860f2a490c86d95"}],"nova/tests/unit/api/openstack/compute/test_serversV21.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ad58f2cb6abb70714d79d1432d3758f392d005c6","unresolved":false,"context_lines":[{"line_number":2071,"context_line":"            vm_state\u003dvm_states.ACTIVE,"},{"line_number":2072,"context_line":"            power_state\u003d1)"},{"line_number":2073,"context_line":"        self.useFixture(fixtures.MockPatchObject("},{"line_number":2074,"context_line":"            compute_api.API, \u0027get_instance_host_status\u0027,"},{"line_number":2075,"context_line":"            return_value\u003d\u0027UP\u0027)).mock"},{"line_number":2076,"context_line":""},{"line_number":2077,"context_line":"    def _get_server_data_dict(self, uuid, image_bookmark, flavor_bookmark,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_b26e42c7","line":2074,"updated":"2019-06-18 16:31:24.000000000","message":"Should save this mock and assert it\u0027s only called once in test_detail.","commit_id":"9f3c0c6687fbae717e564e37f1c559f6965fe6e1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec95724c0b402aad5549f48aba56b6f511f2b3b9","unresolved":false,"context_lines":[{"line_number":2071,"context_line":"            vm_state\u003dvm_states.ACTIVE,"},{"line_number":2072,"context_line":"            power_state\u003d1)"},{"line_number":2073,"context_line":"        self.useFixture(fixtures.MockPatchObject("},{"line_number":2074,"context_line":"            compute_api.API, \u0027get_instance_host_status\u0027,"},{"line_number":2075,"context_line":"            return_value\u003d\u0027UP\u0027)).mock"},{"line_number":2076,"context_line":""},{"line_number":2077,"context_line":"    def _get_server_data_dict(self, uuid, image_bookmark, flavor_bookmark,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_92d8de7f","line":2074,"in_reply_to":"9fb8cfa7_b26e42c7","updated":"2019-06-18 16:37:34.000000000","message":"Done","commit_id":"9f3c0c6687fbae717e564e37f1c559f6965fe6e1"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4be605f12903166276b8df517add7e453ac66020","unresolved":false,"context_lines":[{"line_number":2168,"context_line":""},{"line_number":2169,"context_line":"        self.assertIn(expected_server[\u0027server\u0027], servers_list[\u0027servers\u0027])"},{"line_number":2170,"context_line":"        # We should have only gotten the host status once per host (and the"},{"line_number":2171,"context_line":"        # 2 servers in the response are using the same host)."},{"line_number":2172,"context_line":"        self.mock_get_instance_host_status.assert_called_once()"},{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_588efb2e","line":2171,"updated":"2019-06-19 07:29:18.000000000","message":"It will be great to ensure that \u0027get_instance_host_status\u0027 isn\u0027t called.","commit_id":"21ecd328144cd51b4c66c5681860f2a490c86d95"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da2452612b81b91b84d090eb347d59d87deb1c0","unresolved":false,"context_lines":[{"line_number":2168,"context_line":""},{"line_number":2169,"context_line":"        self.assertIn(expected_server[\u0027server\u0027], servers_list[\u0027servers\u0027])"},{"line_number":2170,"context_line":"        # We should have only gotten the host status once per host (and the"},{"line_number":2171,"context_line":"        # 2 servers in the response are using the same host)."},{"line_number":2172,"context_line":"        self.mock_get_instance_host_status.assert_called_once()"},{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_88f8987c","line":2171,"in_reply_to":"9fb8cfa7_588efb2e","updated":"2019-06-19 18:49:55.000000000","message":"I\u0027m not sure I understand your comment. I am asserting that it is called, but only once (per host) which is the point of the optimization.","commit_id":"21ecd328144cd51b4c66c5681860f2a490c86d95"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6d3bd79ef54d9cf5b3ace4e5fa53d7c9143779ba","unresolved":false,"context_lines":[{"line_number":2168,"context_line":""},{"line_number":2169,"context_line":"        self.assertIn(expected_server[\u0027server\u0027], servers_list[\u0027servers\u0027])"},{"line_number":2170,"context_line":"        # We should have only gotten the host status once per host (and the"},{"line_number":2171,"context_line":"        # 2 servers in the response are using the same host)."},{"line_number":2172,"context_line":"        self.mock_get_instance_host_status.assert_called_once()"},{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a34b3a85","line":2171,"in_reply_to":"9fb8cfa7_88f8987c","updated":"2019-06-20 00:51:40.000000000","message":"Sorry, we are good at here. I thought you are asserting the get_instance_host_status\u0027es\u0027 at here.","commit_id":"21ecd328144cd51b4c66c5681860f2a490c86d95"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"df44f65411b1dc7daf66948bba2b263f9ce61619","unresolved":false,"context_lines":[{"line_number":2169,"context_line":"        self.assertIn(expected_server[\u0027server\u0027], servers_list[\u0027servers\u0027])"},{"line_number":2170,"context_line":"        # We should have only gotten the host status once per host (and the"},{"line_number":2171,"context_line":"        # 2 servers in the response are using the same host)."},{"line_number":2172,"context_line":"        self.mock_get_instance_host_status.assert_called_once()"},{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":""},{"line_number":2175,"context_line":"class ServersControllerTestV219(ServersControllerTest):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_ef4ff08f","line":2172,"updated":"2019-06-18 20:27:32.000000000","message":"And this tests the \"smartness\" of the host status fetch.","commit_id":"21ecd328144cd51b4c66c5681860f2a490c86d95"}],"nova/tests/unit/compute/test_compute_api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5ab543d948b73ecfd66987cfe7b0ec24a8c96c05","unresolved":false,"context_lines":[{"line_number":5092,"context_line":"            objects.Instance(uuid\u003duuids.instance_3, host\u003d\u0027host3\u0027, services\u003d"},{"line_number":5093,"context_line":"                             self._obj_to_list_obj(objects.ServiceList("},{"line_number":5094,"context_line":"                             self.context), objects.Service(id\u003d0, host\u003d\u0027host3\u0027,"},{"line_number":5095,"context_line":"                             disabled\u003dFalse, last_seen_up\u003dtimeutils.utcnow()"},{"line_number":5096,"context_line":"                             - datetime.timedelta(minutes\u003d5),"},{"line_number":5097,"context_line":"                             forced_down\u003dFalse, binary\u003d\u0027nova-compute\u0027))),"},{"line_number":5098,"context_line":"            objects.Instance(uuid\u003duuids.instance_4, host\u003d\u0027host4\u0027, services\u003d"},{"line_number":5099,"context_line":"                             self._obj_to_list_obj(objects.ServiceList("}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_c003020f","line":5096,"range":{"start_line":5095,"start_character":58,"end_line":5096,"end_character":60},"updated":"2019-07-04 00:07:51.000000000","message":"damn, new flake8 rules:\n\n./nova/tests/unit/compute/test_compute_api.py:5096:30: W503 line break before binary operator","commit_id":"ed05b7078a810d33eaa6711d4909ecbc6bb9d9ef"}]}
