)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9bcc81020cc86955885c0e2e6a2940c7470c822f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Multicell support for instance listing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This makes compute API\u0027s instance listing routines access and compile"},{"line_number":10,"context_line":"the list of instances across all cells."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related to blueprint cells-scheduling-interaction"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":40,"id":"5a3905b3_8e88e0c6","line":10,"updated":"2017-01-23 15:13:29.000000000","message":"AFAICS, there is no marker, so we can only limit the results to the first #N number of instances we get, right?","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f02a69666520b551f6449881dffb35dc4ec846b8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Multicell support for instance listing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This makes compute API\u0027s instance listing routines access and compile"},{"line_number":10,"context_line":"the list of instances across all cells."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related to blueprint cells-scheduling-interaction"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":40,"id":"5a3905b3_51e05dfa","line":10,"in_reply_to":"5a3905b3_8e88e0c6","updated":"2017-01-23 15:20:48.000000000","message":"There is a marker and it\u0027s handled. We pass it down to all the sub-list commands, and honor the limit at the top to avoid calling the next cell list if the limit has already been satisfied.","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"78f18b7ba5f2f3938f4475104f14ad0d9de6a524","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This makes compute API\u0027s instance listing routines access and compile"},{"line_number":10,"context_line":"the list of instances across all cells."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related to blueprint cells-scheduling-interaction"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I37b5af1e02e2288340378944e77c110268a59a8d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":42,"id":"5a3905b3_dc68a7f7","line":11,"updated":"2017-01-24 15:26:30.000000000","message":"Micro nit: tempting to talk about the limitations in the commit message.","commit_id":"5555ecc0c7c8f821a86aa8679990f51436fa89b2"}],"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e5ca0b970830848d68e85781d58c6ba023ed0a90","unresolved":false,"context_lines":[{"line_number":2491,"context_line":"                      limit or \u0027all\u0027, cell.name)"},{"line_number":2492,"context_line":"            with try_target_cell(context, cell) as ccontext:"},{"line_number":2493,"context_line":"                cell_instances \u003d objects.InstanceList.get_by_filters("},{"line_number":2494,"context_line":"                    ccontext, filters\u003dfilters, limit\u003dlimit, marker\u003dmarker,"},{"line_number":2495,"context_line":"                    expected_attrs\u003dfields, sort_keys\u003dsort_keys,"},{"line_number":2496,"context_line":"                    sort_dirs\u003dsort_dirs)"},{"line_number":2497,"context_line":"                instances.extend(cell_instances)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_a53848d4","line":2494,"range":{"start_line":2494,"start_character":60,"end_line":2494,"end_character":73},"updated":"2016-12-06 22:28:09.000000000","message":"Probably need to handle MarkerNotFound like in https://review.openstack.org/#/c/407204/","commit_id":"12254dabd5e8f3d6315362b1ad1eb7ed7756df72"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7eef0f912c4ed06f08d5fcc4e052e90b25e9e9d1","unresolved":false,"context_lines":[{"line_number":106,"context_line":"AGGREGATE_ACTION_DELETE \u003d \u0027Delete\u0027"},{"line_number":107,"context_line":"AGGREGATE_ACTION_ADD \u003d \u0027Add\u0027"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"# NOTE(danms): Global list of cells. Right now, this is"},{"line_number":110,"context_line":"# never refreshed for efficiency"},{"line_number":111,"context_line":"CELLS \u003d []"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba5201f7_fa57c4ff","line":109,"range":{"start_line":109,"start_character":37,"end_line":109,"end_character":46},"updated":"2017-01-03 23:48:21.000000000","message":"Do you have plans to change that? Just wondering about how we communicate that when an operator adds a new cell mapping to the deployment, they need to restart the nova-api service to start listing instances from it. Maybe we want a release note for this? Or we could use oslo.cache with a timer so that it automatically flushes every hour or something?","commit_id":"ad4d77ee2125e84fbb915be3c906884758abb6bc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7eef0f912c4ed06f08d5fcc4e052e90b25e9e9d1","unresolved":false,"context_lines":[{"line_number":2415,"context_line":"        # Only subtract from limit if it is not None"},{"line_number":2416,"context_line":"        limit \u003d (limit - len(cell0_instances)) if limit else limit"},{"line_number":2417,"context_line":""},{"line_number":2418,"context_line":"        # There is only planned support for a single cell here. Multiple cell"},{"line_number":2419,"context_line":"        # instance lists should be proxied to project Searchlight, or a similar"},{"line_number":2420,"context_line":"        # alternative."},{"line_number":2421,"context_line":"        if limit is None or limit \u003e 0:"},{"line_number":2422,"context_line":"            cell_instances \u003d self._get_instances_by_filters_all_cells("},{"line_number":2423,"context_line":"                    context, filters,"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba5201f7_f73b5de9","line":2420,"range":{"start_line":2418,"start_character":8,"end_line":2420,"end_character":22},"updated":"2017-01-03 23:48:21.000000000","message":"Do we want to amend this?","commit_id":"ad4d77ee2125e84fbb915be3c906884758abb6bc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2257a39d0b7e3fa228f1c2de089d06dbf4c58a4f","unresolved":false,"context_lines":[{"line_number":2485,"context_line":"            CELLS \u003d objects.CellMappingList.get_all(context)"},{"line_number":2486,"context_line":""},{"line_number":2487,"context_line":"        if not CELLS:"},{"line_number":2488,"context_line":"            LOG.error(_LE(\u0027No cells are configured, unable to list instances\u0027))"},{"line_number":2489,"context_line":""},{"line_number":2490,"context_line":"        limit \u003d kwargs.pop(\u0027limit\u0027, None)"},{"line_number":2491,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba5201f7_751e8564","line":2488,"updated":"2017-01-04 00:06:32.000000000","message":"Cells v1 hates this:\n\nlogs.openstack.org/75/396775/18/check/gate-tempest-dsvm-cells-ubuntu-xenial/07bab78/logs/screen-n-api.txt.gz?level\u003dTRACE\n\nProbably because cells v1 is jealous that it came first but we all love cells v2.","commit_id":"ad4d77ee2125e84fbb915be3c906884758abb6bc"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9bcc81020cc86955885c0e2e6a2940c7470c822f","unresolved":false,"context_lines":[{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"        limit \u003d kwargs.pop(\u0027limit\u0027, None)"},{"line_number":2504,"context_line":""},{"line_number":2505,"context_line":"        instances \u003d []"},{"line_number":2506,"context_line":"        for cell in CELLS:"},{"line_number":2507,"context_line":"            if cell.uuid \u003d\u003d objects.CellMapping.CELL0_UUID:"},{"line_number":2508,"context_line":"                LOG.debug(\u0027Skipping already-collected cell0 list\u0027)"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_2ecfec29","line":2505,"updated":"2017-01-23 15:13:29.000000000","message":"nit: could be a set() so we could just add elements.","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f02a69666520b551f6449881dffb35dc4ec846b8","unresolved":false,"context_lines":[{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"        limit \u003d kwargs.pop(\u0027limit\u0027, None)"},{"line_number":2504,"context_line":""},{"line_number":2505,"context_line":"        instances \u003d []"},{"line_number":2506,"context_line":"        for cell in CELLS:"},{"line_number":2507,"context_line":"            if cell.uuid \u003d\u003d objects.CellMapping.CELL0_UUID:"},{"line_number":2508,"context_line":"                LOG.debug(\u0027Skipping already-collected cell0 list\u0027)"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_b13261f0","line":2505,"in_reply_to":"5a3905b3_2ecfec29","updated":"2017-01-23 15:20:48.000000000","message":"I\u0027m not sure that helps anything. We need to return a list not a set, and we get lists from the cells.","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0c0b1954ef2384258acae26aaef5c4be57598e07","unresolved":false,"context_lines":[{"line_number":2510,"context_line":"            LOG.debug(\u0027Listing %s instances in cell %s\u0027,"},{"line_number":2511,"context_line":"                      limit or \u0027all\u0027, cell.name)"},{"line_number":2512,"context_line":"            with nova_context.target_cell(context, cell) as ccontext:"},{"line_number":2513,"context_line":"                cell_insts \u003d self._get_instances_by_filters(ccontext,"},{"line_number":2514,"context_line":"                                                            *args, limit\u003dlimit,"},{"line_number":2515,"context_line":"                                                            **kwargs)"},{"line_number":2516,"context_line":"                instances.extend(cell_insts)"},{"line_number":2517,"context_line":"                if limit:"},{"line_number":2518,"context_line":"                    limit -\u003d len(cell_insts)"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_c21b99c8","line":2515,"range":{"start_line":2513,"start_character":0,"end_line":2515,"end_character":69},"updated":"2017-01-23 16:07:30.000000000","message":"Per IRC conversation here, what happens if the marker isn\u0027t found in the first cell but rather another cell. Is there an exception we need to handle here?","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0e44345e37e51265ff9609cd7c299f43ffdbfcab","unresolved":false,"context_lines":[{"line_number":2510,"context_line":"            LOG.debug(\u0027Listing %s instances in cell %s\u0027,"},{"line_number":2511,"context_line":"                      limit or \u0027all\u0027, cell.name)"},{"line_number":2512,"context_line":"            with nova_context.target_cell(context, cell) as ccontext:"},{"line_number":2513,"context_line":"                cell_insts \u003d self._get_instances_by_filters(ccontext,"},{"line_number":2514,"context_line":"                                                            *args, limit\u003dlimit,"},{"line_number":2515,"context_line":"                                                            **kwargs)"},{"line_number":2516,"context_line":"                instances.extend(cell_insts)"},{"line_number":2517,"context_line":"                if limit:"},{"line_number":2518,"context_line":"                    limit -\u003d len(cell_insts)"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_35b49833","line":2515,"range":{"start_line":2513,"start_character":0,"end_line":2515,"end_character":69},"in_reply_to":"5a3905b3_c21b99c8","updated":"2017-01-23 16:34:35.000000000","message":"Yep, coming shortly.","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"78f18b7ba5f2f3938f4475104f14ad0d9de6a524","unresolved":false,"context_lines":[{"line_number":2495,"context_line":""},{"line_number":2496,"context_line":"        global CELLS"},{"line_number":2497,"context_line":"        if not CELLS:"},{"line_number":2498,"context_line":"            CELLS \u003d objects.CellMappingList.get_all(context)"},{"line_number":2499,"context_line":"            LOG.debug(\u0027Found %(count)i cells: %(cells)s\u0027,"},{"line_number":2500,"context_line":"                      count\u003dlen(CELLS),"},{"line_number":2501,"context_line":"                      cells\u003dCELLS)"}],"source_content_type":"text/x-python","patch_set":42,"id":"5a3905b3_fccf2326","line":2498,"updated":"2017-01-24 15:26:30.000000000","message":"I keep thinking about getting a stable sort of the cells here. But thats out of scope for now, so lets leave that.","commit_id":"5555ecc0c7c8f821a86aa8679990f51436fa89b2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec9324e29adb08591fd5595850a44d606658fd3d","unresolved":false,"context_lines":[{"line_number":2495,"context_line":""},{"line_number":2496,"context_line":"        global CELLS"},{"line_number":2497,"context_line":"        if not CELLS:"},{"line_number":2498,"context_line":"            CELLS \u003d objects.CellMappingList.get_all(context)"},{"line_number":2499,"context_line":"            LOG.debug(\u0027Found %(count)i cells: %(cells)s\u0027,"},{"line_number":2500,"context_line":"                      count\u003dlen(CELLS),"},{"line_number":2501,"context_line":"                      cells\u003dCELLS)"}],"source_content_type":"text/x-python","patch_set":42,"id":"5a3905b3_3f943889","line":2498,"in_reply_to":"5a3905b3_fccf2326","updated":"2017-01-24 16:35:11.000000000","message":"We\u0027ll need to document this in a release note (or a Known Issues section in the cells v2 devref), depending on where we end up in Ocata, with respect to support for multiple cells.","commit_id":"5555ecc0c7c8f821a86aa8679990f51436fa89b2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3870f9e105421b0225b58fd28edfbe038fb62dd7","unresolved":false,"context_lines":[{"line_number":2495,"context_line":""},{"line_number":2496,"context_line":"        global CELLS"},{"line_number":2497,"context_line":"        if not CELLS:"},{"line_number":2498,"context_line":"            CELLS \u003d objects.CellMappingList.get_all(context)"},{"line_number":2499,"context_line":"            LOG.debug(\u0027Found %(count)i cells: %(cells)s\u0027,"},{"line_number":2500,"context_line":"                      count\u003dlen(CELLS),"},{"line_number":2501,"context_line":"                      cells\u003dCELLS)"}],"source_content_type":"text/x-python","patch_set":42,"id":"5a3905b3_df07b415","line":2498,"in_reply_to":"5a3905b3_fccf2326","updated":"2017-01-24 16:35:10.000000000","message":"We\u0027ll need to document this in a release note (or a Known Issues section in the cells v2 devref), depending on where we end up in Ocata, with respect to support for multiple cells.","commit_id":"5555ecc0c7c8f821a86aa8679990f51436fa89b2"}],"nova/compute/cells_api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9bcc81020cc86955885c0e2e6a2940c7470c822f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"check_instance_state \u003d compute_api.check_instance_state"},{"line_number":36,"context_line":"check_instance_lock \u003d compute_api.check_instance_lock"},{"line_number":37,"context_line":"check_instance_cell \u003d compute_api.check_instance_cell"},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"class ComputeRPCAPIRedirect(object):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_0e0b108f","line":38,"updated":"2017-01-23 15:13:29.000000000","message":"I guess this is a residue from testing ?","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f02a69666520b551f6449881dffb35dc4ec846b8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"check_instance_state \u003d compute_api.check_instance_state"},{"line_number":36,"context_line":"check_instance_lock \u003d compute_api.check_instance_lock"},{"line_number":37,"context_line":"check_instance_cell \u003d compute_api.check_instance_cell"},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"class ComputeRPCAPIRedirect(object):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_11897575","line":38,"in_reply_to":"5a3905b3_0e0b108f","updated":"2017-01-23 15:20:48.000000000","message":"No, it\u0027s residue from a rebase, I\u0027ll remove it, thanks.","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"}],"nova/objects/instance.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"02eee5fbb9ccfad4a1bf393619be283b90a097f1","unresolved":false,"context_lines":[{"line_number":497,"context_line":"            else:"},{"line_number":498,"context_line":"                LOG.debug(\u0027Setting cell_name to %s\u0027 % CONF.cells.name,"},{"line_number":499,"context_line":"                          instance\u003dself)"},{"line_number":500,"context_line":"            updates[\u0027cell_name\u0027] \u003d CONF.cells.name"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"        expected_attrs \u003d [attr for attr in INSTANCE_DEFAULT_FIELDS"},{"line_number":503,"context_line":"                          if attr in updates]"}],"source_content_type":"text/x-python","patch_set":27,"id":"ba5201f7_34a1d146","line":500,"updated":"2017-01-07 18:16:03.000000000","message":"Duh. Thanks :)","commit_id":"09997ec768bf4a32be6949f8b0638dfda653ce12"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"684d2611aac73d05620e31ff9aa75c460014a990","unresolved":false,"context_lines":[{"line_number":497,"context_line":"            else:"},{"line_number":498,"context_line":"                LOG.debug(\u0027Setting cell_name to %s\u0027 % CONF.cells.name,"},{"line_number":499,"context_line":"                          instance\u003dself)"},{"line_number":500,"context_line":"            updates[\u0027cell_name\u0027] \u003d CONF.cells.name"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"        expected_attrs \u003d [attr for attr in INSTANCE_DEFAULT_FIELDS"},{"line_number":503,"context_line":"                          if attr in updates]"}],"source_content_type":"text/x-python","patch_set":29,"id":"ba5201f7_4dcc0089","line":500,"range":{"start_line":500,"start_character":35,"end_line":500,"end_character":50},"updated":"2017-01-09 12:05:38.000000000","message":"I wonder if we\u0027re getting the CellRoutingInconsistency because we need to set cell_name to something like \u0027region!child\u0027 instead. Anywhere else that I see cell_name logged prior to our logging here, it\u0027s been \u0027region!child\u0027 [1][2].\n\nWhen cell_name is set originally in cells/messaging instance_update_at_top, it\u0027s set to a reversed routing path:\n\n instance.cell_name \u003d _reverse_path(message.routing_path)\n\nSo it seems like what it does is, when it gets an update at the top from an instance, it sets its cell_name to a routing path describing how to route to it (reversing the path the update came from).\n\n[1] http://logs.openstack.org/75/396775/29/check/gate-tempest-dsvm-cells-ubuntu-xenial/e1fece5/logs/screen-n-cell-child.txt.gz#_2017-01-07_20_40_54_009\n[2] http://logs.openstack.org/75/396775/29/check/gate-tempest-dsvm-cells-ubuntu-xenial/e1fece5/logs/screen-n-cell-region.txt.gz#_2017-01-07_20_29_53_540","commit_id":"1e72bc9a2890eef6230978ac5b3e69b3347b6702"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"804335756cfcc0c7021c7ed272c832de83198196","unresolved":false,"context_lines":[{"line_number":497,"context_line":"            else:"},{"line_number":498,"context_line":"                LOG.debug(\u0027Setting cell_name to %s\u0027 % CONF.cells.name,"},{"line_number":499,"context_line":"                          instance\u003dself)"},{"line_number":500,"context_line":"            updates[\u0027cell_name\u0027] \u003d CONF.cells.name"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"        expected_attrs \u003d [attr for attr in INSTANCE_DEFAULT_FIELDS"},{"line_number":503,"context_line":"                          if attr in updates]"}],"source_content_type":"text/x-python","patch_set":29,"id":"ba5201f7_2ba4eb06","line":500,"range":{"start_line":500,"start_character":35,"end_line":500,"end_character":50},"in_reply_to":"ba5201f7_4dcc0089","updated":"2017-01-09 16:13:25.000000000","message":"Yeah, but interestingly I started trying to repro this locally and never got the same inconsistency report. I wasn\u0027t running tempest, but I can boot/list instances...","commit_id":"1e72bc9a2890eef6230978ac5b3e69b3347b6702"}],"nova/test.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9bcc81020cc86955885c0e2e6a2940c7470c822f","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        # NOTE(danms): Reset the cached list of cells"},{"line_number":234,"context_line":"        from nova.compute import api"},{"line_number":235,"context_line":"        api.CELLS \u003d []"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        self.cell_mappings \u003d {}"},{"line_number":238,"context_line":"        self.host_mappings \u003d {}"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_ae475cba","line":235,"updated":"2017-01-23 15:13:29.000000000","message":"Doesn\u0027t a fixture look better here ?","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f02a69666520b551f6449881dffb35dc4ec846b8","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        # NOTE(danms): Reset the cached list of cells"},{"line_number":234,"context_line":"        from nova.compute import api"},{"line_number":235,"context_line":"        api.CELLS \u003d []"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        self.cell_mappings \u003d {}"},{"line_number":238,"context_line":"        self.host_mappings \u003d {}"}],"source_content_type":"text/x-python","patch_set":40,"id":"5a3905b3_b10181b1","line":235,"in_reply_to":"5a3905b3_ae475cba","updated":"2017-01-23 15:20:48.000000000","message":"No, this is just resetting a global cache before the run, which I think is fine. Kinda like L274, and similar to L228.","commit_id":"ab1428ea4f393c3531218cd34f357fab53695707"}]}
