)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74a085080b0dff9832b8d737880919b6f734a3f0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Since cellsv2 has required host mappings to be present, we have lost"},{"line_number":10,"context_line":"our automatic host registration behavior. This is a conscious choice,"},{"line_number":11,"context_line":"given that we do not want to have upcalls from the cells to the API"},{"line_number":12,"context_line":"database. This adds a periodic test to have the scheduler do the"},{"line_number":13,"context_line":"discovery routine, which for small deployments may be an acceptable"},{"line_number":14,"context_line":"amount of background overhead in exchange for the automatic behavior."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a461143_9b04a94a","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":35},"updated":"2017-01-30 18:07:21.000000000","message":"task?","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74a085080b0dff9832b8d737880919b6f734a3f0","unresolved":false,"context_lines":[{"line_number":19,"context_line":"it run periodically gives us some coverage, given where we are in"},{"line_number":20,"context_line":"the current cycle."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Related to bp/cells-scheduler-integration"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: Iab5f172cdef35645bae56b9b384e032f3160e826"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a461143_3b9c950e","line":22,"range":{"start_line":22,"start_character":11,"end_line":22,"end_character":14},"updated":"2017-01-30 18:07:21.000000000","message":"nit: Change to \"blueprint cells-scheduler-integration\" or something else the link doesn\u0027t work.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"}],"nova/conf/scheduler.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74a085080b0dff9832b8d737880919b6f734a3f0","unresolved":false,"context_lines":[{"line_number":132,"context_line":"Periodic task interval."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"This value controls how often (in seconds) the scheduler should attept to"},{"line_number":135,"context_line":"discover new hosts that have been added to cells. If zero, no automatic"},{"line_number":136,"context_line":"discovery will occur."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Small deployments may want this periodic task enabled, as surveying the"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_dba8f122","line":135,"range":{"start_line":135,"start_character":53,"end_line":135,"end_character":57},"updated":"2017-01-30 18:07:21.000000000","message":"Can you set it to 0 if the min is 30?","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a0cc0260ec05eb95f28f100418ac838882a5f295","unresolved":false,"context_lines":[{"line_number":132,"context_line":"Periodic task interval."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"This value controls how often (in seconds) the scheduler should attept to"},{"line_number":135,"context_line":"discover new hosts that have been added to cells. If zero, no automatic"},{"line_number":136,"context_line":"discovery will occur."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Small deployments may want this periodic task enabled, as surveying the"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_268f1c2b","line":135,"range":{"start_line":135,"start_character":53,"end_line":135,"end_character":57},"in_reply_to":"3a461143_dba8f122","updated":"2017-01-30 18:17:51.000000000","message":"Heh, prolly not.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74a085080b0dff9832b8d737880919b6f734a3f0","unresolved":false,"context_lines":[{"line_number":139,"context_line":"cells for new hosts is likely to be lightweight enough to not cause undue"},{"line_number":140,"context_line":"burdon to the scheduler. However, larger clouds (and those that are not"},{"line_number":141,"context_line":"adding hosts regularly) will likely want to disable this automatic"},{"line_number":142,"context_line":"behavior and instead use the `nova-manage cell_v2 discover_hosts` command"},{"line_number":143,"context_line":"when hosts have been added to a cell."},{"line_number":144,"context_line":"\"\"\"),"},{"line_number":145,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_fb2a0d8f","line":142,"range":{"start_line":142,"start_character":30,"end_line":142,"end_character":64},"updated":"2017-01-30 18:07:21.000000000","message":"I could see value in mentioning this config option / automated way of doing the host discovery in the cells v2 setup guide:\n\nhttp://docs.openstack.org/developer/nova/cells.html#first-time-setup","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1af26a7116ff8c79a5983f4be44ef82c87514702","unresolved":false,"context_lines":[{"line_number":132,"context_line":"Periodic task interval."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"This value controls how often (in seconds) the scheduler should attept to"},{"line_number":135,"context_line":"discover new hosts that have been added to cells. If zero, no automatic"},{"line_number":136,"context_line":"discovery will occur."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Small deployments may want this periodic task enabled, as surveying the"},{"line_number":139,"context_line":"cells for new hosts is likely to be lightweight enough to not cause undue"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_b37217af","line":136,"range":{"start_line":135,"start_character":50,"end_line":136,"end_character":21},"updated":"2017-02-01 15:48:05.000000000","message":"nit: This should probably be in a \u0027Possible values:\u0027 section","commit_id":"26a1a9451d3b8bb82eaa5f19e8f56f1642b4902a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d10d244d4dd48c97f30ae3bfe98f93e32d8a7f7","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  attempts that can be made when scheduling an instance."},{"line_number":127,"context_line":"        \"\"\"),"},{"line_number":128,"context_line":"    cfg.IntOpt(\"discover_hosts_in_cells_interval\","},{"line_number":129,"context_line":"               default\u003d-1,"},{"line_number":130,"context_line":"               min\u003d-1,"},{"line_number":131,"context_line":"               help\u003d\"\"\""},{"line_number":132,"context_line":"Periodic task interval."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"This value controls how often (in seconds) the scheduler should attept"},{"line_number":135,"context_line":"to discover new hosts that have been added to cells. If negative (the"},{"line_number":136,"context_line":"default), no automatic discovery will occur."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Small deployments may want this periodic task enabled, as surveying the"},{"line_number":139,"context_line":"cells for new hosts is likely to be lightweight enough to not cause undue"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_b8ecae93","line":136,"range":{"start_line":129,"start_character":0,"end_line":136,"end_character":44},"updated":"2017-02-01 18:40:26.000000000","message":"Good catch on the defaults:\n\nhttps://github.com/openstack/oslo.service/blob/master/oslo_service/periodic_task.py#L108-L123","commit_id":"9bd0955083055ca1205061785454cebf71e9773f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9699154d95ec08cb5908735c51eff92c7de9d245","unresolved":false,"context_lines":[{"line_number":131,"context_line":"               help\u003d\"\"\""},{"line_number":132,"context_line":"Periodic task interval."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"This value controls how often (in seconds) the scheduler should attept"},{"line_number":135,"context_line":"to discover new hosts that have been added to cells. If negative (the"},{"line_number":136,"context_line":"default), no automatic discovery will occur."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a461143_f461d312","line":134,"range":{"start_line":134,"start_character":64,"end_line":134,"end_character":70},"updated":"2017-02-02 02:40:33.000000000","message":"typo","commit_id":"9eb7bcea05ce2447496f6561caa1ae46b800f85d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"62e69ba286935dcd7c2dd935dcbd3173b8e52f92","unresolved":false,"context_lines":[{"line_number":131,"context_line":"               help\u003d\"\"\""},{"line_number":132,"context_line":"Periodic task interval."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"This value controls how often (in seconds) the scheduler should attept"},{"line_number":135,"context_line":"to discover new hosts that have been added to cells. If negative (the"},{"line_number":136,"context_line":"default), no automatic discovery will occur."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a461143_ca19927b","line":134,"range":{"start_line":134,"start_character":64,"end_line":134,"end_character":70},"in_reply_to":"3a461143_f461d312","updated":"2017-02-02 03:54:46.000000000","message":"Nice catch.\n\nhttps://review.openstack.org/#/c/427997/","commit_id":"9eb7bcea05ce2447496f6561caa1ae46b800f85d"}],"nova/objects/host_mapping.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74a085080b0dff9832b8d737880919b6f734a3f0","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        if cm.is_cell0():"},{"line_number":190,"context_line":"            status_fn(_(\u0027Skipping cell0 since it does not contain hosts.\u0027))"},{"line_number":191,"context_line":"            continue"},{"line_number":192,"context_line":"            if \u0027name\u0027 in cm and cm.name:"},{"line_number":193,"context_line":"                status_fn(_(\"Getting compute nodes from cell \u0027%(name)s\u0027: \""},{"line_number":194,"context_line":"                            \"%(uuid)s\") % {\u0027name\u0027: cm.name,"},{"line_number":195,"context_line":"                                       \u0027uuid\u0027: cm.uuid})"},{"line_number":196,"context_line":"            else:"},{"line_number":197,"context_line":"                status_fn(_(\"Getting compute nodes from cell: %(uuid)s\") %"},{"line_number":198,"context_line":"                          {\u0027uuid\u0027: cell_mapping.uuid})"},{"line_number":199,"context_line":"        with context.target_cell(ctxt, cm):"},{"line_number":200,"context_line":"            compute_nodes \u003d objects.ComputeNodeList.get_all(ctxt)"},{"line_number":201,"context_line":"            status_fn(_(\u0027Found %(num)s computes in cell: %(uuid)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_86153041","line":198,"range":{"start_line":192,"start_character":12,"end_line":198,"end_character":54},"updated":"2017-01-30 18:07:21.000000000","message":"This is dead code because of the continue above.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a0cc0260ec05eb95f28f100418ac838882a5f295","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        if cm.is_cell0():"},{"line_number":190,"context_line":"            status_fn(_(\u0027Skipping cell0 since it does not contain hosts.\u0027))"},{"line_number":191,"context_line":"            continue"},{"line_number":192,"context_line":"            if \u0027name\u0027 in cm and cm.name:"},{"line_number":193,"context_line":"                status_fn(_(\"Getting compute nodes from cell \u0027%(name)s\u0027: \""},{"line_number":194,"context_line":"                            \"%(uuid)s\") % {\u0027name\u0027: cm.name,"},{"line_number":195,"context_line":"                                       \u0027uuid\u0027: cm.uuid})"},{"line_number":196,"context_line":"            else:"},{"line_number":197,"context_line":"                status_fn(_(\"Getting compute nodes from cell: %(uuid)s\") %"},{"line_number":198,"context_line":"                          {\u0027uuid\u0027: cell_mapping.uuid})"},{"line_number":199,"context_line":"        with context.target_cell(ctxt, cm):"},{"line_number":200,"context_line":"            compute_nodes \u003d objects.ComputeNodeList.get_all(ctxt)"},{"line_number":201,"context_line":"            status_fn(_(\u0027Found %(num)s computes in cell: %(uuid)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_26a8fc8c","line":198,"range":{"start_line":192,"start_character":12,"end_line":198,"end_character":54},"in_reply_to":"3a461143_86153041","updated":"2017-01-30 18:17:51.000000000","message":"Oops, this was supposed to be dedented one level.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"17a3a935df8fc9b279b6fb47506e29ba4a7aa512","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    # great error message. Add a check which will raise a useful error"},{"line_number":174,"context_line":"    # message about running this from an API host."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    from nova import objects"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    if not status_fn:"},{"line_number":179,"context_line":"        status_fn \u003d lambda x: None"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_a2574324","line":176,"updated":"2017-01-31 22:05:56.000000000","message":"Why do we import this here rather than at the top of the file?","commit_id":"26a1a9451d3b8bb82eaa5f19e8f56f1642b4902a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1af26a7116ff8c79a5983f4be44ef82c87514702","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    # great error message. Add a check which will raise a useful error"},{"line_number":174,"context_line":"    # message about running this from an API host."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    from nova import objects"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    if not status_fn:"},{"line_number":179,"context_line":"        status_fn \u003d lambda x: None"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_3339c7d9","line":176,"in_reply_to":"3a461143_a2574324","updated":"2017-02-01 15:48:05.000000000","message":"Presumably to prevent circular imports, but I don\u0027t think that\u0027d be an issue if we instead imported the containing modules directly:\n\n  from nova.objects import cell_mapping\n  from nova.objects import compute_node\n\n...one of which we\u0027ve already done","commit_id":"26a1a9451d3b8bb82eaa5f19e8f56f1642b4902a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1af26a7116ff8c79a5983f4be44ef82c87514702","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3a461143_d307a37f","line":220,"updated":"2017-02-01 15:48:05.000000000","message":"This is all copied and pasted from nova/cmd/manage.py, with only print replaced by status_fn","commit_id":"26a1a9451d3b8bb82eaa5f19e8f56f1642b4902a"}],"nova/scheduler/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ecd4bcdcfd4804776c6bb1dcc417a9e2b913627","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def _expire_reservations(self, context):"},{"line_number":63,"context_line":"        QUOTAS.expire(context)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @periodic_task.periodic_task("},{"line_number":66,"context_line":"        spacing\u003dCONF.scheduler.discover_hosts_in_cells_interval)"},{"line_number":67,"context_line":"    def _discover_hosts_in_cells(self, context):"},{"line_number":68,"context_line":"        host_mappings \u003d host_mapping_obj.discover_hosts(context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_c66018d2","line":65,"updated":"2017-01-30 18:09:49.000000000","message":"I suppose we don\u0027t need run_immediately\u003dTrue in here because in a fresh deployment you\u0027re likely to bring up the nova-scheduler service before the computes so nothing would be \"checking in\" anyway.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a0cc0260ec05eb95f28f100418ac838882a5f295","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def _expire_reservations(self, context):"},{"line_number":63,"context_line":"        QUOTAS.expire(context)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @periodic_task.periodic_task("},{"line_number":66,"context_line":"        spacing\u003dCONF.scheduler.discover_hosts_in_cells_interval)"},{"line_number":67,"context_line":"    def _discover_hosts_in_cells(self, context):"},{"line_number":68,"context_line":"        host_mappings \u003d host_mapping_obj.discover_hosts(context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_068a201b","line":65,"in_reply_to":"3a461143_c66018d2","updated":"2017-01-30 18:17:51.000000000","message":"Yeah.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ecd4bcdcfd4804776c6bb1dcc417a9e2b913627","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        host_mappings \u003d host_mapping_obj.discover_hosts(context)"},{"line_number":69,"context_line":"        if host_mappings:"},{"line_number":70,"context_line":"            LOG.info(_LI(\u0027Discovered %(count)i new hosts: %(hosts)s\u0027),"},{"line_number":71,"context_line":"                     count\u003dlen(host_mappings),"},{"line_number":72,"context_line":"                     hosts\u003d\u0027,\u0027.join([\u0027%s:%s\u0027 % (hm.cell_mapping.name,"},{"line_number":73,"context_line":"                                                hm.host)"},{"line_number":74,"context_line":"                                     for hm in host_mappings]))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @periodic_task.periodic_task(spacing\u003dCONF.scheduler.periodic_task_interval,"},{"line_number":77,"context_line":"                                 run_immediately\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_c6b73838","line":74,"range":{"start_line":71,"start_character":21,"end_line":74,"end_character":62},"updated":"2017-01-30 18:09:49.000000000","message":"This doesn\u0027t work for log vars, those need to be in a dict that you pass into the 2nd arg to LOG.info.","commit_id":"176323039d8fcadc8b5b8b8d8b8b2d588f154ea5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"17a3a935df8fc9b279b6fb47506e29ba4a7aa512","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if host_mappings:"},{"line_number":70,"context_line":"            LOG.info(_LI(\u0027Discovered %(count)i new hosts: %(hosts)s\u0027),"},{"line_number":71,"context_line":"                     {\u0027count\u0027: len(host_mappings),"},{"line_number":72,"context_line":"                      \u0027hosts\u0027: \u0027,\u0027.join([\u0027%s:%s\u0027 % (hm.cell_mapping.name,"},{"line_number":73,"context_line":"                                                    hm.host)"},{"line_number":74,"context_line":"                                         for hm in host_mappings])})"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_55e01729","line":72,"range":{"start_line":72,"start_character":68,"end_line":72,"end_character":72},"updated":"2017-01-31 22:05:56.000000000","message":"This is nullable in the CellMapping object, so I was wonderingif we could have issues with this blowing up on a lazy-load, but it looks like if it\u0027s not set in the database when the cell mapping is created, CellMapping._from_db_object will still just set the \u0027name\u0027 field to None.","commit_id":"26a1a9451d3b8bb82eaa5f19e8f56f1642b4902a"}],"nova/tests/unit/scheduler/test_scheduler.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"17a3a935df8fc9b279b6fb47506e29ba4a7aa512","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                                      objects.HostMapping(host\u003d\u0027b\u0027,"},{"line_number":170,"context_line":"                                                          cell_mapping\u003dcm2)]"},{"line_number":171,"context_line":"        self.manager._discover_hosts_in_cells(mock.sentinel.context)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"class SchedulerInitTestCase(test.NoDBTestCase):"},{"line_number":175,"context_line":"    \"\"\"Test case for base scheduler driver initiation.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_55d1f721","line":172,"updated":"2017-01-31 22:05:56.000000000","message":"mock_discover.assert_called_once_with(mock.sentinel.context)?","commit_id":"26a1a9451d3b8bb82eaa5f19e8f56f1642b4902a"}],"releasenotes/notes/scheduler-can-discover-hosts-4b799cbd14dbc7dc.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ee69a601ff2c127cfd81dd80674ea103c9cf324a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    non-automated deployments, there is a new configuration variable"},{"line_number":8,"context_line":"    for the scheduler process which will perform this discovery"},{"line_number":9,"context_line":"    periodically. By setting"},{"line_number":10,"context_line":"    `scheduler.discover_hosts_in_cells_interval` to a nonzero value,"},{"line_number":11,"context_line":"    the scheduler will handle this for you. Note that this process"},{"line_number":12,"context_line":"    involves listing all hosts in all cells, and is likely to be too"},{"line_number":13,"context_line":"    heavyweight for large deployments to run all the time."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a461143_64d0e0f8","line":10,"range":{"start_line":10,"start_character":54,"end_line":10,"end_character":61},"updated":"2017-02-01 19:54:14.000000000","message":"Technically, non-negative...","commit_id":"70ae3800ae4a4b4ea09fd70882df7d2660de5123"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d22783a9cbb40dffba548159e6d256aa75a66469","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    non-automated deployments, there is a new configuration variable"},{"line_number":8,"context_line":"    for the scheduler process which will perform this discovery"},{"line_number":9,"context_line":"    periodically. By setting"},{"line_number":10,"context_line":"    `scheduler.discover_hosts_in_cells_interval` to a positive value,"},{"line_number":11,"context_line":"    the scheduler will handle this for you. Note that this process"},{"line_number":12,"context_line":"    involves listing all hosts in all cells, and is likely to be too"},{"line_number":13,"context_line":"    heavyweight for large deployments to run all the time."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3a461143_04647c47","line":10,"range":{"start_line":10,"start_character":54,"end_line":10,"end_character":62},"updated":"2017-02-01 19:59:19.000000000","message":"0 isn\u0027t positive is it? But setting it to 0 will make it run on the default (every minute) interval. Maybe you don\u0027t want to make that obvious since it\u0027d be running too frequent?","commit_id":"1ac7fd0652c9e747e1630308219979f836bc0345"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f47c3aa54a175a87d67af52ddc9fe2afbabc42a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - As new hosts are added to Nova, the `nova-manage cell_v2"},{"line_number":4,"context_line":"    discover_hosts` command must be run in order to map them into"},{"line_number":5,"context_line":"    their cell. For deployments with proper automation, this is a"},{"line_number":6,"context_line":"    trivial extra step in that process. However, for smaller or"},{"line_number":7,"context_line":"    non-automated deployments, there is a new configuration variable"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3a461143_27e6dae8","line":4,"range":{"start_line":3,"start_character":40,"end_line":4,"end_character":19},"updated":"2017-02-01 20:27:56.000000000","message":"nit: ``code``","commit_id":"9eb7bcea05ce2447496f6561caa1ae46b800f85d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f47c3aa54a175a87d67af52ddc9fe2afbabc42a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    non-automated deployments, there is a new configuration variable"},{"line_number":8,"context_line":"    for the scheduler process which will perform this discovery"},{"line_number":9,"context_line":"    periodically. By setting"},{"line_number":10,"context_line":"    `scheduler.discover_hosts_in_cells_interval` to a positive value,"},{"line_number":11,"context_line":"    the scheduler will handle this for you. Note that this process"},{"line_number":12,"context_line":"    involves listing all hosts in all cells, and is likely to be too"},{"line_number":13,"context_line":"    heavyweight for large deployments to run all the time."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3a461143_47ebe6b0","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":49},"updated":"2017-02-01 20:27:56.000000000","message":"nit: ``code``","commit_id":"9eb7bcea05ce2447496f6561caa1ae46b800f85d"}]}
