)]}'
{"nova/scheduler/host_manager.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d8e23f6a940f2ce5e67cbc202202f2b3e9b28077","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        if not self.cells:"},{"line_number":678,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":679,"context_line":"        # Restrict to a single cell iff the request spec has a requested cell"},{"line_number":680,"context_line":"        # and cross_cell_move\u003dFalse."},{"line_number":681,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":682,"context_line":"                spec_obj.requested_destination and"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_45eb8d10","line":679,"range":{"start_line":679,"start_character":36,"end_line":679,"end_character":39},"updated":"2018-10-30 21:11:45.000000000","message":"nit: s/iff/if/ ?","commit_id":"c8e4624412495e1f43e4cec1d702152c4fdaa68d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"01fc063658f9b1b02c874f512b64a132c22bf062","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        if not self.cells:"},{"line_number":678,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":679,"context_line":"        # Restrict to a single cell iff the request spec has a requested cell"},{"line_number":680,"context_line":"        # and cross_cell_move\u003dFalse."},{"line_number":681,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":682,"context_line":"                spec_obj.requested_destination and"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f6ee8e1e","line":679,"range":{"start_line":679,"start_character":36,"end_line":679,"end_character":39},"in_reply_to":"3f79a3b5_45eb8d10","updated":"2018-11-06 14:16:24.000000000","message":"Intentional, if and only if:\n\nhttps://en.wikipedia.org/wiki/If_and_only_if\n\nI could change to say that instead since iff is probably not clear for all.","commit_id":"c8e4624412495e1f43e4cec1d702152c4fdaa68d"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"b16ba9e47a08852e124634d8ad32aaec1decdcda","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        if not self.cells:"},{"line_number":678,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":679,"context_line":"        # Restrict to a single cell iff the request spec has a requested cell"},{"line_number":680,"context_line":"        # and cross_cell_move\u003dFalse."},{"line_number":681,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":682,"context_line":"                spec_obj.requested_destination and"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_a250c560","line":679,"range":{"start_line":679,"start_character":36,"end_line":679,"end_character":39},"updated":"2018-11-07 02:53:59.000000000","message":"Maybe just write if and only if, someone might come up with a patch on this LOL","commit_id":"3b5f651c309fa33ea53b0c04f49444a87f27e171"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c59e399c43c126f85448267491dc76d93fec1fc1","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        if not self.cells:"},{"line_number":678,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":679,"context_line":"        # Restrict to a single cell iff the request spec has a requested cell"},{"line_number":680,"context_line":"        # and cross_cell_move\u003dFalse."},{"line_number":681,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":682,"context_line":"                spec_obj.requested_destination and"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c87078de","line":679,"range":{"start_line":679,"start_character":36,"end_line":679,"end_character":39},"in_reply_to":"3f79a3b5_a250c560","updated":"2018-11-07 14:45:43.000000000","message":"Yeah I forgot to update this while rebasing. Ken\u0027ichi already pointed it out.","commit_id":"3b5f651c309fa33ea53b0c04f49444a87f27e171"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21ee92148b9da270f509d0f7f6ed3ce1b364194b","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        if not self.cells:"},{"line_number":678,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":679,"context_line":"        # Restrict to a single cell iff the request spec has a requested cell"},{"line_number":680,"context_line":"        # and cross_cell_move\u003dFalse."},{"line_number":681,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":682,"context_line":"                spec_obj.requested_destination and"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_ede5c9a4","line":679,"range":{"start_line":679,"start_character":36,"end_line":679,"end_character":39},"in_reply_to":"3f79a3b5_c87078de","updated":"2018-11-30 16:46:05.000000000","message":"Done","commit_id":"3b5f651c309fa33ea53b0c04f49444a87f27e171"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e2e37da64f8b191ed1b89a013506d16d9e2868a4","unresolved":false,"context_lines":[{"line_number":755,"context_line":""},{"line_number":756,"context_line":"        if not self.cells:"},{"line_number":757,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":758,"context_line":"        # Restrict to a single cell if and only if the request spec has a"},{"line_number":759,"context_line":"        # requested cell and allow_cross_cell_move\u003dFalse."},{"line_number":760,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":761,"context_line":"                spec_obj.requested_destination and"},{"line_number":762,"context_line":"                \u0027cell\u0027 in spec_obj.requested_destination and"},{"line_number":763,"context_line":"                not spec_obj.requested_destination.allow_cross_cell_move):"},{"line_number":764,"context_line":"            only_cell \u003d spec_obj.requested_destination.cell"},{"line_number":765,"context_line":"        else:"},{"line_number":766,"context_line":"            only_cell \u003d None"}],"source_content_type":"text/x-python","patch_set":48,"id":"7faddb67_6690ca43","line":763,"range":{"start_line":758,"start_character":0,"end_line":763,"end_character":74},"updated":"2019-08-28 14:02:23.000000000","message":"This is getting somewhat complex. Wonder if it would make sense as a property on the RequestSpec object?","commit_id":"9fe5a17730fb0c8a96d77a7528b05b77944dcb1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bea1a3a26fa2ae99ec6ada043827d5e16b2c2981","unresolved":false,"context_lines":[{"line_number":755,"context_line":""},{"line_number":756,"context_line":"        if not self.cells:"},{"line_number":757,"context_line":"            LOG.warning(\"No cells were found\")"},{"line_number":758,"context_line":"        # Restrict to a single cell if and only if the request spec has a"},{"line_number":759,"context_line":"        # requested cell and allow_cross_cell_move\u003dFalse."},{"line_number":760,"context_line":"        if (spec_obj and \u0027requested_destination\u0027 in spec_obj and"},{"line_number":761,"context_line":"                spec_obj.requested_destination and"},{"line_number":762,"context_line":"                \u0027cell\u0027 in spec_obj.requested_destination and"},{"line_number":763,"context_line":"                not spec_obj.requested_destination.allow_cross_cell_move):"},{"line_number":764,"context_line":"            only_cell \u003d spec_obj.requested_destination.cell"},{"line_number":765,"context_line":"        else:"},{"line_number":766,"context_line":"            only_cell \u003d None"}],"source_content_type":"text/x-python","patch_set":48,"id":"7faddb67_a68b22be","line":763,"range":{"start_line":758,"start_character":0,"end_line":763,"end_character":74},"in_reply_to":"7faddb67_6690ca43","updated":"2019-08-28 14:21:45.000000000","message":"Yeah that probably makes sense since I have something similar in the CrossCellWeigher later in the series (though it\u0027s a tad bit different but I\u0027d have to think if it needs to be):\n\nhttps://review.opendev.org/#/c/614353/49/nova/scheduler/weights/cross_cell.py@50\n\nAlso now that you mention it, different but we have a similar pattern type thing like this:\n\nhttps://github.com/openstack/nova/blob/912a46c9d4d3a8cc63724adff70acf8a4fc34d9b/nova/conductor/manager.py#L880-L887\n\nhttps://github.com/openstack/nova/blob/912a46c9d4d3a8cc63724adff70acf8a4fc34d9b/nova/conductor/tasks/live_migrate.py#L440\n\nhttps://github.com/openstack/nova/blob/912a46c9d4d3a8cc63724adff70acf8a4fc34d9b/nova/conductor/tasks/migrate.py#L172\n\nWe could probably consolidate those into some kind of helper function.","commit_id":"9fe5a17730fb0c8a96d77a7528b05b77944dcb1c"}],"nova/tests/unit/scheduler/test_host_manager.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e2e37da64f8b191ed1b89a013506d16d9e2868a4","unresolved":false,"context_lines":[{"line_number":1324,"context_line":"                return_value\u003d(mock.sentinel.compute_nodes,"},{"line_number":1325,"context_line":"                              mock.sentinel.services))"},{"line_number":1326,"context_line":"    @mock.patch(\u0027nova.scheduler.host_manager.HostManager._get_host_states\u0027)"},{"line_number":1327,"context_line":"    def test_get_host_states_by_uuids_allow_cross_cell_move("},{"line_number":1328,"context_line":"            self, mock_get_host_states, mock_get_computes):"},{"line_number":1329,"context_line":"        \"\"\"Tests that get_host_states_by_uuids will not restrict to a given"},{"line_number":1330,"context_line":"        cell if allow_cross_cell_move\u003dTrue in the request spec."}],"source_content_type":"text/x-python","patch_set":48,"id":"7faddb67_c6c97e5a","line":1327,"updated":"2019-08-28 14:02:23.000000000","message":"Not really related, but do we not have any coverage for the rest of the conditionals in that if-else?","commit_id":"9fe5a17730fb0c8a96d77a7528b05b77944dcb1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bea1a3a26fa2ae99ec6ada043827d5e16b2c2981","unresolved":false,"context_lines":[{"line_number":1324,"context_line":"                return_value\u003d(mock.sentinel.compute_nodes,"},{"line_number":1325,"context_line":"                              mock.sentinel.services))"},{"line_number":1326,"context_line":"    @mock.patch(\u0027nova.scheduler.host_manager.HostManager._get_host_states\u0027)"},{"line_number":1327,"context_line":"    def test_get_host_states_by_uuids_allow_cross_cell_move("},{"line_number":1328,"context_line":"            self, mock_get_host_states, mock_get_computes):"},{"line_number":1329,"context_line":"        \"\"\"Tests that get_host_states_by_uuids will not restrict to a given"},{"line_number":1330,"context_line":"        cell if allow_cross_cell_move\u003dTrue in the request spec."}],"source_content_type":"text/x-python","patch_set":48,"id":"7faddb67_462fcea6","line":1327,"in_reply_to":"7faddb67_c6c97e5a","updated":"2019-08-28 14:21:45.000000000","message":"Looks like we have pretty good coverage except for some weird cases where spec_obj is not provided (which is weird because it\u0027s not a kwarg) or \u0027requested_destination\u0027 not in spec_obj (that\u0027s more believable and might be tested, but since those are on the same line maybe the coverage tool can\u0027t distinguish them):\n\nhttps://storage.gra1.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/logs_37/614037/48/check/openstack-tox-cover/50be472/cover/nova_scheduler_host_manager_py.html","commit_id":"9fe5a17730fb0c8a96d77a7528b05b77944dcb1c"}]}
