)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"17b04ff28b63615a30dca941556c6fef85a53a8d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"live-mig: Mark migration as failed on fail to schedule"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In case we reach maximum retires to schedule - we want to mark the"},{"line_number":10,"context_line":"migration record as failed, since the whole operation will be aborted at"},{"line_number":11,"context_line":"that point."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a7e1126_beac2136","line":9,"range":{"start_line":9,"start_character":25,"end_line":9,"end_character":32},"updated":"2015-12-17 14:48:43.000000000","message":"s/retires/retries/","commit_id":"5a8ba1d69dffa6943ca3cbf9e16c19191982c0a6"}],"nova/conductor/tasks/live_migrate.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"29665c6b739057c3996b4ab32641a5a7c6c62844","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        retries \u003d len(attempted_hosts) - 1"},{"line_number":185,"context_line":"        if retries \u003e CONF.migrate_max_retries:"},{"line_number":186,"context_line":"            if self.migration:"},{"line_number":187,"context_line":"                self.migration.status \u003d \u0027failed\u0027"},{"line_number":188,"context_line":"                self.migration.save()"},{"line_number":189,"context_line":"            msg \u003d (_(\u0027Exceeded max scheduling retries %(max_retries)d for \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_19c3ba39","line":186,"updated":"2015-11-18 16:54:24.000000000","message":"Why is this check needed? This is called from _find_destination(), and the code that calls that assumes that there is a migration object. Either this check isn\u0027t needed, or it should be done earlier in _execute().","commit_id":"5a8ba1d69dffa6943ca3cbf9e16c19191982c0a6"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2121a2e1826bf065b69d5250402a310a2bb63eb","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        retries \u003d len(attempted_hosts) - 1"},{"line_number":185,"context_line":"        if retries \u003e CONF.migrate_max_retries:"},{"line_number":186,"context_line":"            if self.migration:"},{"line_number":187,"context_line":"                self.migration.status \u003d \u0027failed\u0027"},{"line_number":188,"context_line":"                self.migration.save()"},{"line_number":189,"context_line":"            msg \u003d (_(\u0027Exceeded max scheduling retries %(max_retries)d for \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_1646f94e","line":186,"in_reply_to":"7a740942_e222b2a2","updated":"2015-12-08 14:41:44.000000000","message":"I have a feeling you are correct, we don\u0027t need the if.\n\nBut we can fix that up in a follow up patch, so happy to over look that for now, so we keep moving forward on this important series.","commit_id":"5a8ba1d69dffa6943ca3cbf9e16c19191982c0a6"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"ea7f95b63685a68e2a6236c14646611decbdf365","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        retries \u003d len(attempted_hosts) - 1"},{"line_number":185,"context_line":"        if retries \u003e CONF.migrate_max_retries:"},{"line_number":186,"context_line":"            if self.migration:"},{"line_number":187,"context_line":"                self.migration.status \u003d \u0027failed\u0027"},{"line_number":188,"context_line":"                self.migration.save()"},{"line_number":189,"context_line":"            msg \u003d (_(\u0027Exceeded max scheduling retries %(max_retries)d for \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_e222b2a2","line":186,"in_reply_to":"9a8ffd7b_8747cc4a","updated":"2015-12-07 21:25:13.000000000","message":"I think that the pattern is from the transitional state where some code had been updated to use objects. I don\u0027t believe that\u0027s needed any more.","commit_id":"5a8ba1d69dffa6943ca3cbf9e16c19191982c0a6"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"a93e9f0b0f49a91bbfb40a81edb803e9354c2a9c","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        retries \u003d len(attempted_hosts) - 1"},{"line_number":185,"context_line":"        if retries \u003e CONF.migrate_max_retries:"},{"line_number":186,"context_line":"            if self.migration:"},{"line_number":187,"context_line":"                self.migration.status \u003d \u0027failed\u0027"},{"line_number":188,"context_line":"                self.migration.save()"},{"line_number":189,"context_line":"            msg \u003d (_(\u0027Exceeded max scheduling retries %(max_retries)d for \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_8747cc4a","line":186,"in_reply_to":"ba8a016a_19c3ba39","updated":"2015-12-07 17:45:39.000000000","message":"I think Ed is right. The code in _live_migrate() builds the migration object and then calls though eventually to this method.\n\nI see this pattern every where else (like the earlier one in the series). Is this pattern expected for consistency?\n\nI\u0027m assuming that so I\u0027ll give a +1 - so I\u0027ll note this as a nit at worst.","commit_id":"5a8ba1d69dffa6943ca3cbf9e16c19191982c0a6"}]}
