)]}'
{"nova/tests/functional/regressions/test_bug_1781710.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f033b62590c4a903fb51cbbcdcf98b3248332a55","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            selected_hosts.add(server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        # Assert that each server is on a separate host."},{"line_number":107,"context_line":"        self.assertEqual(2, len(selected_hosts))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d62d6b90","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":48},"updated":"2018-07-18 19:51:40.000000000","message":"so i have not figured this out entirly but what i have fould so far is as follows.\n\nstepping through the code in a debugger the sechduler is correctly filtering and weighing host and initially selecting host1 for both instances and host2 as an alternte host for both instances.\n\nthen later in the conductor a reschduler happens for the second host and it uses host2 which is why this is passing.\n\ni have not found why the conductor is rescduling however.\nthe reschedule is why this regression test is passing.","commit_id":"6aac44ee602fa60c81bfadf6c2f8beeb75478de9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"037d3a4993e2256f0698e5e082ecd827d17565c5","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            selected_hosts.add(server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Assert that each server is on a separate host."},{"line_number":110,"context_line":"        # FIXME(sean-k-mooney): we should be asserteing len is 2"},{"line_number":111,"context_line":"        # however until bug 1781710 is resolved we assert incorrect"},{"line_number":112,"context_line":"        # behavior to match reality. This assertion and fixme should"},{"line_number":113,"context_line":"        # be corrected as part of  closing the bug."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_39bff0fc","line":110,"range":{"start_line":110,"start_character":45,"end_line":110,"end_character":55},"updated":"2018-07-18 20:46:44.000000000","message":"asserting","commit_id":"9560359102eb584aba69c1602dc15685f7b2711c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"037d3a4993e2256f0698e5e082ecd827d17565c5","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        # FIXME(sean-k-mooney): we should be asserteing len is 2"},{"line_number":111,"context_line":"        # however until bug 1781710 is resolved we assert incorrect"},{"line_number":112,"context_line":"        # behavior to match reality. This assertion and fixme should"},{"line_number":113,"context_line":"        # be corrected as part of  closing the bug."},{"line_number":114,"context_line":"        self.assertEqual(1, len(selected_hosts))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_d9b7dc21","line":113,"range":{"start_line":113,"start_character":34,"end_line":113,"end_character":35},"updated":"2018-07-18 20:46:44.000000000","message":"nix","commit_id":"9560359102eb584aba69c1602dc15685f7b2711c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0468bdeed2dc94c9c442f2040cd3f7176d08c9c8","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            # FIXME(mriedem): Similarly, this should be 2 once the bug is"},{"line_number":117,"context_line":"            # fixed."},{"line_number":118,"context_line":"            self.assertEqual(1, len(hosts), hosts)"},{"line_number":119,"context_line":"            return selections_to_return"},{"line_number":120,"context_line":"        self.stub_out(\u0027nova.scheduler.filter_scheduler.FilterScheduler.\u0027"},{"line_number":121,"context_line":"                      \u0027_get_alternate_hosts\u0027, stub_get_alternate_hosts)"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ee52d167","line":119,"updated":"2018-07-20 19:02:20.000000000","message":"took me a little while to remember how the alternate hosts structure works, but yes, the above is correct(ly asserting the bug)","commit_id":"5e262d673b9ec20c33060d2d2ebf9f191f185bcd"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bbd798463e06994765999fe05b616f083a031ee","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            # FIXME(mriedem): Similarly, this should be 2 once the bug is"},{"line_number":117,"context_line":"            # fixed."},{"line_number":118,"context_line":"            self.assertEqual(1, len(hosts), hosts)"},{"line_number":119,"context_line":"            return selections_to_return"},{"line_number":120,"context_line":"        self.stub_out(\u0027nova.scheduler.filter_scheduler.FilterScheduler.\u0027"},{"line_number":121,"context_line":"                      \u0027_get_alternate_hosts\u0027, stub_get_alternate_hosts)"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_d957a1f4","line":119,"in_reply_to":"5f7c97a3_ee52d167","updated":"2018-07-20 19:24:39.000000000","message":"\u003e took me a little while to remember how the alternate hosts structure works\n\nI have to re-learn the code every time I have to deal with alternates, the list of lists is confusing.","commit_id":"5e262d673b9ec20c33060d2d2ebf9f191f185bcd"}]}
