)]}'
{"nova/scheduler/filter_scheduler.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a4aee002fb1e4bd2b0959bfe95bf0b1022785919","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                                      for alt in alternatives]"},{"line_number":85,"context_line":"                                      if alternatives else [])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        dests \u003d [_dictify_hoststate(host, alternatives)"},{"line_number":88,"context_line":"                 for (host, alternatives) in selected_hosts]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        self.notifier.info("}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_088901c9","line":87,"range":{"start_line":87,"start_character":42,"end_line":87,"end_character":54},"updated":"2017-05-16 22:31:27.000000000","message":"This is a kwarg and should be called as such.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e317336fea5ebb75844d07e89a574e5528bb9afc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                                      for alt in alternatives]"},{"line_number":85,"context_line":"                                      if alternatives else [])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        dests \u003d [_dictify_hoststate(host, alternatives)"},{"line_number":88,"context_line":"                 for (host, alternatives) in selected_hosts]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        self.notifier.info("}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_eb3fdd22","line":87,"range":{"start_line":87,"start_character":42,"end_line":87,"end_character":54},"in_reply_to":"1f013ff3_088901c9","updated":"2017-05-17 09:56:46.000000000","message":"Ack.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a4aee002fb1e4bd2b0959bfe95bf0b1022785919","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        # host, we virtually consume resources on it so subsequent"},{"line_number":104,"context_line":"        # selections can adjust accordingly."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        # Note: remember, we are using an iterator here. So only"},{"line_number":107,"context_line":"        # traverse this list once. This can bite you if the hosts"},{"line_number":108,"context_line":"        # are being scanned in a filter or weighing function."},{"line_number":109,"context_line":"        hosts \u003d self._get_all_host_states(elevated, spec_obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_0877c1d6","line":106,"updated":"2017-05-16 22:31:27.000000000","message":"Hmm, I wonder if we\u0027re breaking this restriction below?","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e317336fea5ebb75844d07e89a574e5528bb9afc","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        # host, we virtually consume resources on it so subsequent"},{"line_number":104,"context_line":"        # selections can adjust accordingly."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        # Note: remember, we are using an iterator here. So only"},{"line_number":107,"context_line":"        # traverse this list once. This can bite you if the hosts"},{"line_number":108,"context_line":"        # are being scanned in a filter or weighing function."},{"line_number":109,"context_line":"        hosts \u003d self._get_all_host_states(elevated, spec_obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_6b2ced01","line":106,"in_reply_to":"1f013ff3_0877c1d6","updated":"2017-05-17 09:56:46.000000000","message":"_get_all_host_states() returns an iterator, but get_filtered_hosts returns a full list... :(\nThat\u0027s the problem I showed up in IRC yesterday, and I\u0027d like to see it fixed before we have important folks using Cells V2 with a very large list of computes.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"}],"nova/scheduler/rpcapi.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c4b99e5a281aded73bb1e0bf53b018d71d850df7","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        cctxt \u003d self.client.prepare(version\u003dversion)"},{"line_number":137,"context_line":"        ret \u003d cctxt.call(ctxt, \u0027select_destinations\u0027, **msg_args)"},{"line_number":138,"context_line":"        if not supports_alternatives:"},{"line_number":139,"context_line":"            import pdb; pdb.set_trace()"},{"line_number":140,"context_line":"            del ret[\u0027alternatives\u0027]"},{"line_number":141,"context_line":"        return ret"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f013ff3_85be1c63","line":139,"updated":"2017-05-16 21:44:53.000000000","message":"-1!! :)","commit_id":"9b76b20e139ffa6022b0d612097ddcde3211051a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67cd708d5947f4459402e6d52fa53258c644ed66","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        cctxt \u003d self.client.prepare(version\u003dversion)"},{"line_number":137,"context_line":"        ret \u003d cctxt.call(ctxt, \u0027select_destinations\u0027, **msg_args)"},{"line_number":138,"context_line":"        if not supports_alternatives:"},{"line_number":139,"context_line":"            import pdb; pdb.set_trace()"},{"line_number":140,"context_line":"            del ret[\u0027alternatives\u0027]"},{"line_number":141,"context_line":"        return ret"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f013ff3_4841490b","line":139,"in_reply_to":"1f013ff3_85be1c63","updated":"2017-05-16 21:59:46.000000000","message":"Doh.","commit_id":"9b76b20e139ffa6022b0d612097ddcde3211051a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a4aee002fb1e4bd2b0959bfe95bf0b1022785919","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        ret \u003d cctxt.call(ctxt, \u0027select_destinations\u0027, **msg_args)"},{"line_number":138,"context_line":"        if not supports_alternatives:"},{"line_number":139,"context_line":"            del ret[\u0027alternatives\u0027]"},{"line_number":140,"context_line":"        return ret"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def update_aggregates(self, ctxt, aggregates):"},{"line_number":143,"context_line":"        # NOTE(sbauza): Yes, it\u0027s a fanout, we need to update all schedulers"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_28495d8a","line":140,"updated":"2017-05-16 22:31:27.000000000","message":"Yeah, it doesn\u0027t work like this :)\n\nOlder nodes will be running older rpcapi code and won\u0027t snip out the result. So you need to pass a flag that says \"give me the alternatives\" if we\u0027re new enough, and default that to false in the manager. Then, if not true, you have to alter the result in the _manager_.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e317336fea5ebb75844d07e89a574e5528bb9afc","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        ret \u003d cctxt.call(ctxt, \u0027select_destinations\u0027, **msg_args)"},{"line_number":138,"context_line":"        if not supports_alternatives:"},{"line_number":139,"context_line":"            del ret[\u0027alternatives\u0027]"},{"line_number":140,"context_line":"        return ret"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def update_aggregates(self, ctxt, aggregates):"},{"line_number":143,"context_line":"        # NOTE(sbauza): Yes, it\u0027s a fanout, we need to update all schedulers"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_6b150d9c","line":140,"in_reply_to":"1f013ff3_28495d8a","updated":"2017-05-17 09:56:46.000000000","message":"Ack.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"}],"nova/tests/unit/scheduler/test_filter_scheduler.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a4aee002fb1e4bd2b0959bfe95bf0b1022785919","unresolved":false,"context_lines":[{"line_number":216,"context_line":"            return weighed"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        self.stub_out(\u0027nova.scheduler.weights.HostWeightHandler.\u0027"},{"line_number":219,"context_line":"                \u0027get_weighed_objects\u0027, _fake_weigh_objects)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        spec_obj \u003d objects.RequestSpec("},{"line_number":222,"context_line":"            num_instances\u003d1,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_c82e79a4","line":219,"updated":"2017-05-16 22:31:27.000000000","message":"Can\u0027t we use mock for this?","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e317336fea5ebb75844d07e89a574e5528bb9afc","unresolved":false,"context_lines":[{"line_number":216,"context_line":"            return weighed"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        self.stub_out(\u0027nova.scheduler.weights.HostWeightHandler.\u0027"},{"line_number":219,"context_line":"                \u0027get_weighed_objects\u0027, _fake_weigh_objects)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        spec_obj \u003d objects.RequestSpec("},{"line_number":222,"context_line":"            num_instances\u003d1,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_ab22f5fe","line":219,"in_reply_to":"1f013ff3_c82e79a4","updated":"2017-05-17 09:56:46.000000000","message":"I just copied the existing pattern but we can surely mock that out, yup.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a4aee002fb1e4bd2b0959bfe95bf0b1022785919","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                \u0027get_weighed_objects\u0027, _fake_weigh_objects)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        spec_obj \u003d objects.RequestSpec("},{"line_number":222,"context_line":"            num_instances\u003d1,"},{"line_number":223,"context_line":"            project_id\u003d1,"},{"line_number":224,"context_line":"            os_type\u003d\u0027Linux\u0027,"},{"line_number":225,"context_line":"            uuid\u003duuids.instance,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_8831910e","line":222,"updated":"2017-05-16 22:31:27.000000000","message":"I definitely think this test should be num_instances\u003e1","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e317336fea5ebb75844d07e89a574e5528bb9afc","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                \u0027get_weighed_objects\u0027, _fake_weigh_objects)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        spec_obj \u003d objects.RequestSpec("},{"line_number":222,"context_line":"            num_instances\u003d1,"},{"line_number":223,"context_line":"            project_id\u003d1,"},{"line_number":224,"context_line":"            os_type\u003d\u0027Linux\u0027,"},{"line_number":225,"context_line":"            uuid\u003duuids.instance,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_6b7aadf1","line":222,"in_reply_to":"1f013ff3_8831910e","updated":"2017-05-17 09:56:46.000000000","message":"Ack.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5028ab0f8773ca6add1d92cb81734f478efdc4ad","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        self.assertEqual(1, len(hosts))"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        (host, alternatives) \u003d hosts[0]"},{"line_number":244,"context_line":"        # Verify that given we have 3 retries, we have 2 alternatives"},{"line_number":245,"context_line":"        self.assertEqual(expected_nb_alternatives, len(alternatives))"},{"line_number":246,"context_line":"        # Verify that they share the same cell with the found target"},{"line_number":247,"context_line":"        for alt in alternatives:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_680885d8","line":244,"updated":"2017-05-16 22:00:45.000000000","message":"well, I\u0027ll remove that comment in the next PS.","commit_id":"d4c579f2e9ada4ab5e6ba85fd75490ec615a96cf"}]}
