)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"789404b699d3638f7ee2dac5e883128eddd113d6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"WIP: Allocate instance by the conductor"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"WHAT ? We discussed about doing that in the scheduler, but why am I providing"},{"line_number":10,"context_line":"it in the conductor then ? Because I just remembered that we only provide"},{"line_number":11,"context_line":"one RequestSpec object to the scheduler (the first one in case of a multiple"},{"line_number":12,"context_line":"instances request) and then the scheduler only knows the first instance UUID."},{"line_number":13,"context_line":"There was a long consensus between alaski and me about not having the scheduler"},{"line_number":14,"context_line":"knowing more than it needs given all requests are similar."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We *could* change that but it would mean to change the RPC scheduler interface."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5ff73747_9d825fff","line":14,"range":{"start_line":10,"start_character":27,"end_line":14,"end_character":58},"updated":"2017-05-01 12:55:23.000000000","message":"\"Similar\" is key here. They are not the same.\n\nI\u0027m sure that in your prior discussions the possibility of the scheduler making claims in the placement engine never came up. Had that been part of the discussion, I think you may have arrived at a different consensus.","commit_id":"6cf47468d74ab914ad60595d2b401059356a6339"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"789404b699d3638f7ee2dac5e883128eddd113d6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"There was a long consensus between alaski and me about not having the scheduler"},{"line_number":14,"context_line":"knowing more than it needs given all requests are similar."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We *could* change that but it would mean to change the RPC scheduler interface."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"I\u0027m providing that change for discussing with you folks, and in case we change"},{"line_number":19,"context_line":"the consensus, then I\u0027ll abandon this one."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5ff73747_3d7b4b28","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":78},"updated":"2017-05-01 12:55:23.000000000","message":"Understood, but if the original assumptions are no longer correct, it would make more sense to correct the design rather than make workarounds to accomodate it.","commit_id":"6cf47468d74ab914ad60595d2b401059356a6339"}],"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e0d56f72e345d04aa0ba475878a52d5420e6d203","unresolved":false,"context_lines":[{"line_number":642,"context_line":"        # scheduler.utils methods to directly use the RequestSpec object"},{"line_number":643,"context_line":"        spec_obj \u003d objects.RequestSpec.from_primitives("},{"line_number":644,"context_line":"            context, request_spec, filter_properties)"},{"line_number":645,"context_line":"        hosts \u003d self.scheduler_client.select_destinations(context, spec_obj)"},{"line_number":646,"context_line":"        return hosts"},{"line_number":647,"context_line":""},{"line_number":648,"context_line":"    @targets_cell"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_08c4eff3","line":645,"range":{"start_line":645,"start_character":38,"end_line":645,"end_character":57},"updated":"2017-04-28 13:16:36.000000000","message":"We should change select_destinations to return the full host list from the scheduler so we can retry on the original host list in conductor, which was the primary reason we talked about doing this in the scheduler - was because we had the list of filtered hosts and retries there might be faster. We get the same optimization if we return those hosts from the scheduler to conductor and use them for retries here.","commit_id":"b3635df80c2bbc6944c25e39201b1ce62a959f36"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"42789fe4dfad3a2ede6bfb685ebdf9e70de7dc09","unresolved":false,"context_lines":[{"line_number":926,"context_line":"        # for the instance to be spawned in the compute node."},{"line_number":927,"context_line":"        cn \u003d objects.ComputeNode.get_by_host_and_nodename("},{"line_number":928,"context_line":"            context, host[\u0027host\u0027], host[\u0027nodename\u0027])"},{"line_number":929,"context_line":"        self.scheduler_client.reportclient._allocate_for_instance("},{"line_number":930,"context_line":"            cn.uuid, instance)"},{"line_number":931,"context_line":""},{"line_number":932,"context_line":"    def schedule_and_build_instances(self, context, build_requests,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_1d1bef72","line":929,"updated":"2017-05-01 12:00:18.000000000","message":"I guess at some point we\u0027ll want to make this method public?","commit_id":"6cf47468d74ab914ad60595d2b401059356a6339"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"42789fe4dfad3a2ede6bfb685ebdf9e70de7dc09","unresolved":false,"context_lines":[{"line_number":944,"context_line":"            return"},{"line_number":945,"context_line":"        # NOTE(sbauza): Pike compute nodes verify correctly the allocations"},{"line_number":946,"context_line":"        # while older versions don\u0027t do that correctly, so we prefer to only"},{"line_number":947,"context_line":"        # allocate the instance here if all the computes are now."},{"line_number":948,"context_line":"        service_version \u003d objects.Service.get_minimum_version("},{"line_number":949,"context_line":"            context, \u0027nova-compute\u0027)"},{"line_number":950,"context_line":"        allocate \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_dd010707","line":947,"updated":"2017-05-01 12:00:18.000000000","message":"s/now/pike/ ?","commit_id":"6cf47468d74ab914ad60595d2b401059356a6339"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c4055ad705087666c41ab8f32a9c80d4af44b501","unresolved":false,"context_lines":[{"line_number":920,"context_line":"        cn \u003d objects.ComputeNode.get_by_host_and_nodename("},{"line_number":921,"context_line":"            context, host[\u0027host\u0027], host[\u0027nodename\u0027])"},{"line_number":922,"context_line":"        self.scheduler_client.reportclient._allocate_for_instance("},{"line_number":923,"context_line":"            cn.uuid, instance)"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    def schedule_and_build_instances(self, context, build_requests,"},{"line_number":926,"context_line":"                                     request_specs, image,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f013ff3_e87a7e86","line":923,"updated":"2017-05-15 18:19:14.000000000","message":"If this fails, we need to fail. The code as it is here just ignores it and sends the instance to the compute anyway, which will definitely fail when it gets there (since we just did).","commit_id":"312dd405193105c63e61bcd8c40ef57fa4673844"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c4055ad705087666c41ab8f32a9c80d4af44b501","unresolved":false,"context_lines":[{"line_number":949,"context_line":""},{"line_number":950,"context_line":"        host_mapping_cache \u003d {}"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"        for (build_request, request_spec, host) in six.moves.zip("},{"line_number":953,"context_line":"                build_requests, request_specs, hosts):"},{"line_number":954,"context_line":"            filter_props \u003d request_spec.to_legacy_filter_properties_dict()"},{"line_number":955,"context_line":"            instance \u003d build_request.get_new_instance(context)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f013ff3_e8883e72","line":952,"updated":"2017-05-15 18:19:14.000000000","message":"We need to refactor this loop to actually try another host if we fail to claim. If we just keep it the way it is, we\u0027ll move on to the next host _and_ the next instance, once we\u0027re checking for failure that is.","commit_id":"312dd405193105c63e61bcd8c40ef57fa4673844"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"01bf13087a55047ff503b18f16ee84ba4aa4b516","unresolved":false,"context_lines":[{"line_number":920,"context_line":"        # NOTE(sbauza): Claiming the resources by creating new allocations"},{"line_number":921,"context_line":"        # for the instance to be spawned in the compute node."},{"line_number":922,"context_line":"        cn \u003d objects.ComputeNode.get_by_host_and_nodename("},{"line_number":923,"context_line":"            context, host[\u0027host\u0027], host[\u0027nodename\u0027])"},{"line_number":924,"context_line":"        allocated \u003d self.scheduler_client.reportclient.allocate_for_instance("},{"line_number":925,"context_line":"            cn.uuid, instance)"},{"line_number":926,"context_line":"        if not allocated:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ff0f0b1f_bd358e48","line":923,"updated":"2017-05-22 10:06:40.000000000","message":"meh, I stupidly forgot that I need to target the cell...","commit_id":"9583224f7372d836bb2adced6f5b339b7313f28d"}]}
