)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27acf471c5532b8097cbca4cb0f5b6d3ee4f45b4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Matt Riedemann \u003cmriedem.os@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-09-20 14:24:44 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ignore original retried hosts when live migrating"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When we originally create an instance, if we rescheduled"},{"line_number":10,"context_line":"the request spec will track how many retry attempts we"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f515b1d_b5c4ea41","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":49},"updated":"2017-09-21 21:50:37.000000000","message":"Pointed out in the mailing list that this should be \"Don\u0027t ignore\".","commit_id":"77de214fa3e89f7fe71c0878dab4ec77915fcec4"}],"nova/conductor/tasks/live_migrate.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a6ef9df145e6f9784236d08e4e753d53373238f7","unresolved":false,"context_lines":[{"line_number":252,"context_line":"            # NOTE(sbauza): Force_hosts/nodes needs to be reset"},{"line_number":253,"context_line":"            # if we want to make sure that the next destination"},{"line_number":254,"context_line":"            # is not forced to be the original host"},{"line_number":255,"context_line":"            request_spec.reset_forced_destinations()"},{"line_number":256,"context_line":"            # Reset the retry field since we handle retries locally for live"},{"line_number":257,"context_line":"            # migration."},{"line_number":258,"context_line":"            request_spec.retry \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf57530f_b345061a","line":255,"updated":"2017-09-20 19:34:00.000000000","message":"instead of unsetting the fields below, you should just amend the above method and do the necessary resets in there (and rename it). That way, it would solve the problem for all move ops.","commit_id":"77de214fa3e89f7fe71c0878dab4ec77915fcec4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"404a8bcb907155ee39a0b39ec8f3f14bb458bb79","unresolved":false,"context_lines":[{"line_number":252,"context_line":"            # NOTE(sbauza): Force_hosts/nodes needs to be reset"},{"line_number":253,"context_line":"            # if we want to make sure that the next destination"},{"line_number":254,"context_line":"            # is not forced to be the original host"},{"line_number":255,"context_line":"            request_spec.reset_forced_destinations()"},{"line_number":256,"context_line":"            # Reset the retry field since we handle retries locally for live"},{"line_number":257,"context_line":"            # migration."},{"line_number":258,"context_line":"            request_spec.retry \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_1a68d2b6","line":255,"in_reply_to":"bf57530f_33c6b669","updated":"2017-10-16 20:54:44.000000000","message":"Thinking about this again, we want to backport the fix, so I don\u0027t think we should rename it in the same change. So options are:\n\n1. Handle this outside of reset_forced_destinations for cold migrate, live migrate, unshelve and evacuate and backport that fix. Then move it into reset_forced_destinations and rename it in a master-only change.\n\n2. Add this change to reset_forced_destinations in this patch and rename it in a follow up which would not be backported.","commit_id":"77de214fa3e89f7fe71c0878dab4ec77915fcec4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"969607977c3ddc0f5f4e091384f7f7f6aaa0d5e9","unresolved":false,"context_lines":[{"line_number":252,"context_line":"            # NOTE(sbauza): Force_hosts/nodes needs to be reset"},{"line_number":253,"context_line":"            # if we want to make sure that the next destination"},{"line_number":254,"context_line":"            # is not forced to be the original host"},{"line_number":255,"context_line":"            request_spec.reset_forced_destinations()"},{"line_number":256,"context_line":"            # Reset the retry field since we handle retries locally for live"},{"line_number":257,"context_line":"            # migration."},{"line_number":258,"context_line":"            request_spec.retry \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf57530f_33c6b669","line":255,"in_reply_to":"bf57530f_b345061a","updated":"2017-09-20 19:39:25.000000000","message":"Yeah, that was my idea in IRC, I\u0027ll deal with that tomorrow, and add tests for the other flows (cold migrate/evacuate/unshelve).","commit_id":"77de214fa3e89f7fe71c0878dab4ec77915fcec4"}],"nova/objects/request_spec.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"67997163645ea0e7760ae9e34c3e08e70e1486c0","unresolved":false,"context_lines":[{"line_number":531,"context_line":"        # evacuate or resize, we do not want to filter out any hosts that were"},{"line_number":532,"context_line":"        # tried (and failed) during the initial build since those might be"},{"line_number":533,"context_line":"        # available now for scheduling during the move operation."},{"line_number":534,"context_line":"        self.retry \u003d None"},{"line_number":535,"context_line":"        # NOTE(sbauza): Make sure we don\u0027t persist this, we need to keep the"},{"line_number":536,"context_line":"        # original request for the forced hosts"},{"line_number":537,"context_line":"        self.obj_reset_changes([\u0027force_hosts\u0027, \u0027force_nodes\u0027, \u0027retry\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_4131e359","line":534,"updated":"2017-11-02 19:55:33.000000000","message":"Hmm, does this mess up retries during resize/cold migrate?\n\nhttps://github.com/openstack/nova/blob/9ed0838da3556425b75d5e041a5236c04386bac4/nova/conductor/tasks/migrate.py#L49\n\nProbably not right now because the compute doesn\u0027t pass the request spec back to the conductor during a reschedule:\n\nhttps://github.com/openstack/nova/blob/9ed0838da3556425b75d5e041a5236c04386bac4/nova/compute/manager.py#L3933\n\nIt eventually should though, and at that point we\u0027d likely need to consider this, and have a functional test for it:\n\n1. start 3 computes and weigh them: A\u003eB\u003eC\n2. create a server where the first compute chosen (A) fails and the build is rescheduled to another compute (B)\n3. cold migrate the instance and make the first host chosen fail (A) to trigger a reschedule, where it should end up on the final remaining host (C)","commit_id":"646f8b9d4d050c42da5135f81c64225226fd87aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"565599646c573419b64fb586a51af75eab8839cf","unresolved":false,"context_lines":[{"line_number":531,"context_line":"        # evacuate or resize, we do not want to filter out any hosts that were"},{"line_number":532,"context_line":"        # tried (and failed) during the initial build since those might be"},{"line_number":533,"context_line":"        # available now for scheduling during the move operation."},{"line_number":534,"context_line":"        self.retry \u003d None"},{"line_number":535,"context_line":"        # NOTE(sbauza): Make sure we don\u0027t persist this, we need to keep the"},{"line_number":536,"context_line":"        # original request for the forced hosts"},{"line_number":537,"context_line":"        self.obj_reset_changes([\u0027force_hosts\u0027, \u0027force_nodes\u0027, \u0027retry\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_7c8b6467","line":534,"in_reply_to":"3f4b6375_4131e359","updated":"2017-11-02 20:02:49.000000000","message":"Although, if we reset retry\u003dNone before we start the resize, we won\u0027t reschedule because of this:\n\nhttps://github.com/openstack/nova/blob/9ed0838da3556425b75d5e041a5236c04386bac4/nova/compute/manager.py#L1308\n\nSo what this should probably be doing is set:\n\nself.retry.num_attempts \u003d 0\nself.retry.hosts \u003d objects.ComputeNodeHost()","commit_id":"646f8b9d4d050c42da5135f81c64225226fd87aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"28f44353f6e45f42d25366c5246ba2b35d8817ef","unresolved":false,"context_lines":[{"line_number":531,"context_line":"        # evacuate or resize, we do not want to filter out any hosts that were"},{"line_number":532,"context_line":"        # tried (and failed) during the initial build since those might be"},{"line_number":533,"context_line":"        # available now for scheduling during the move operation."},{"line_number":534,"context_line":"        self.retry \u003d None"},{"line_number":535,"context_line":"        # NOTE(sbauza): Make sure we don\u0027t persist this, we need to keep the"},{"line_number":536,"context_line":"        # original request for the forced hosts"},{"line_number":537,"context_line":"        self.obj_reset_changes([\u0027force_hosts\u0027, \u0027force_nodes\u0027, \u0027retry\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_c049a032","line":534,"in_reply_to":"3f4b6375_7c8b6467","updated":"2018-04-06 19:18:38.000000000","message":"Another scenario we should test:\n\n1. 3 computes, weighed A\u003eB\u003eC\n2. initial build fails on A, reschedules to B\n3. admin live migrates to A directly (no force), it should work","commit_id":"646f8b9d4d050c42da5135f81c64225226fd87aa"}],"nova/tests/functional/regressions/test_bug_1718512.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"49a278a45923e3ac50bafafff4e7cee7bc0668f9","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class TestRequestSpecRetryReschedule(test.TestCase,"},{"line_number":33,"context_line":"                                     integrated_helpers.InstanceHelperMixin):"},{"line_number":34,"context_line":"    \"\"\"Regression test for bug 1718512 introduced in Mitaka."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    Contains a test for a regression where an instance builds on one host,"},{"line_number":37,"context_line":"    then is resized. During the resize, the first attempted host fails and"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_bc461021","line":34,"range":{"start_line":34,"start_character":53,"end_line":34,"end_character":59},"updated":"2018-04-07 13:37:01.000000000","message":"Newton.","commit_id":"eaabb0932dc6c27bed155bcb3d6fb84f100f5082"}]}
