)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fe7627df8be171c3adc05318d8b14800efb5998e","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The scheduler needs to list all compute nodes and services in order to"},{"line_number":10,"context_line":"have a list to filter. It does that based on information that it gets"},{"line_number":11,"context_line":"from placement, but it needs to fetch the records out of the database."},{"line_number":12,"context_line":"This patch makes it do that for all cells, and takes the same approach"},{"line_number":13,"context_line":"that compute api currently does, which is a refreshed-once-per-run"},{"line_number":14,"context_line":"master list of cells that we can optimize later."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da36d5c6_07009ba9","line":11,"updated":"2017-02-22 15:55:39.000000000","message":"s/out of the database/out of the cell database(s)/\n\njust for clarity/explicitness","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"77b3f90670ed147af93d98582ef35bb0781a7ddd","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The scheduler needs to list all compute nodes and services in order to"},{"line_number":10,"context_line":"have a list to filter. It does that based on information that it gets"},{"line_number":11,"context_line":"from placement, but it needs to fetch the records out of the database."},{"line_number":12,"context_line":"This patch makes it do that for all cells, and takes the same approach"},{"line_number":13,"context_line":"that compute api currently does, which is a refreshed-once-per-run"},{"line_number":14,"context_line":"master list of cells that we can optimize later."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da36d5c6_7deba8b0","line":11,"in_reply_to":"da36d5c6_07009ba9","updated":"2017-02-22 16:33:33.000000000","message":"This is describing the current situation, and the next sentence is what the patch changes the behavior to.","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4f74daadc465e5d9d4a3fa193700b63c21b2800b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"This patch makes it do that for all cells, and takes the same approach"},{"line_number":13,"context_line":"that compute api currently does, which is a refreshed-once-per-run"},{"line_number":14,"context_line":"master list of cells that we can optimize later."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I1a9b054b7ddace1b342ec82a86cb151d45ec8ae2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da36d5c6_efe8c312","line":15,"updated":"2017-02-22 14:18:20.000000000","message":"Probably worth adding a documentation note saying that you need to restart nova-scheduler in case you\u0027re adding a new cell (at least until we automate that).","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4f74daadc465e5d9d4a3fa193700b63c21b2800b","unresolved":false,"context_lines":[{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    def _get_computes_all_cells(self, context, compute_uuids\u003dNone):"},{"line_number":581,"context_line":"        if not self.cells:"},{"line_number":582,"context_line":"            # NOTE(danms): global list of cells cached forever right now"},{"line_number":583,"context_line":"            self.cells \u003d objects.CellMappingList.get_all(context)"},{"line_number":584,"context_line":"            LOG.debug(\u0027Found %(count)i cells: %(cells)s\u0027,"},{"line_number":585,"context_line":"                      {\u0027count\u0027: len(self.cells),"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_6f7db36d","line":582,"updated":"2017-02-22 14:18:20.000000000","message":"Well, I do wonder if we could trigger some kind of cache refresh in case a cell is added. That\u0027s something we do for aggregates and instances using the RPC API already.","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fe7627df8be171c3adc05318d8b14800efb5998e","unresolved":false,"context_lines":[{"line_number":583,"context_line":"            self.cells \u003d objects.CellMappingList.get_all(context)"},{"line_number":584,"context_line":"            LOG.debug(\u0027Found %(count)i cells: %(cells)s\u0027,"},{"line_number":585,"context_line":"                      {\u0027count\u0027: len(self.cells),"},{"line_number":586,"context_line":"                       \u0027cells\u0027: [c.uuid for c in self.cells]})"},{"line_number":587,"context_line":"        compute_nodes \u003d []"},{"line_number":588,"context_line":"        services \u003d {}"},{"line_number":589,"context_line":"        for cell in self.cells:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_c7ca036e","line":586,"updated":"2017-02-22 15:55:39.000000000","message":"meh, nit: might be good to do:\n\n\u0027cells\u0027: \u0027, \u0027.join([c.uuid for c in self.cells])})\n\n?","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"}],"nova/tests/unit/scheduler/test_host_manager.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fe7627df8be171c3adc05318d8b14800efb5998e","unresolved":false,"context_lines":[{"line_number":877,"context_line":"        context \u003d nova_context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"},{"line_number":878,"context_line":"        cns, srv \u003d self.host_manager._get_computes_all_cells(context)"},{"line_number":879,"context_line":"        self.assertEqual([\u0027foo\u0027, \u0027bar\u0027],"},{"line_number":880,"context_line":"                         [cn.host for cn in cns])"},{"line_number":881,"context_line":"        self.assertEqual([\u0027foo\u0027, \u0027bar\u0027], list(srv.keys()))"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    @mock.patch(\u0027nova.objects.CellMappingList.get_all\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_e74aa7c4","line":880,"updated":"2017-02-22 15:55:39.000000000","message":"Here and below, you will need to use sorted() to get deterministic comparisons:\n\nft851.34: nova.tests.unit.scheduler.test_host_manager.HostManagerTestCase.test_get_computes_all_cells_StringException: Empty attachments:\n  pythonlogging:\u0027\u0027\n  stderr\n  stdout\n\nTraceback (most recent call last):\n  File \"/home/jenkins/workspace/gate-nova-python27-ubuntu-xenial/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py\", line 1305, in patched\n    return func(*args, **keywargs)\n  File \"nova/tests/unit/scheduler/test_host_manager.py\", line 881, in test_get_computes_all_cells\n    self.assertEqual([\u0027foo\u0027, \u0027bar\u0027], list(srv.keys()))\n  File \"/home/jenkins/workspace/gate-nova-python27-ubuntu-xenial/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py\", line 411, in assertEqual\n    self.assertThat(observed, matcher, message)\n  File \"/home/jenkins/workspace/gate-nova-python27-ubuntu-xenial/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py\", line 498, in assertThat\n    raise mismatch_error\ntesttools.matchers._impl.MismatchError: [\u0027foo\u0027, \u0027bar\u0027] !\u003d [\u0027bar\u0027, \u0027foo\u0027]","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6b789cadceb8808b74f04b0723d665f051786d9a","unresolved":false,"context_lines":[{"line_number":877,"context_line":"        context \u003d nova_context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"},{"line_number":878,"context_line":"        cns, srv \u003d self.host_manager._get_computes_all_cells(context)"},{"line_number":879,"context_line":"        self.assertEqual([\u0027foo\u0027, \u0027bar\u0027],"},{"line_number":880,"context_line":"                         [cn.host for cn in cns])"},{"line_number":881,"context_line":"        self.assertEqual([\u0027foo\u0027, \u0027bar\u0027], list(srv.keys()))"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    @mock.patch(\u0027nova.objects.CellMappingList.get_all\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_faff9ea7","line":880,"in_reply_to":"da36d5c6_e74aa7c4","updated":"2017-02-22 16:06:33.000000000","message":"Meh, good point.","commit_id":"4962aa84f7fa9b1946820034895f46de46794f94"}]}
