)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25e37c0180e024c674354fa1865f8e67570663dc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Transform instance.live_migration_force_complete notification"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added 2 legacy notifications to rpc.py:"},{"line_number":10,"context_line":"    compute.instance.live.migration.force.complete.start"},{"line_number":11,"context_line":"    compute.instance.live.migration.force.complete.end"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As they weren\u0027t added to the whitelist. I had to add them, because"},{"line_number":14,"context_line":"I also added a functional test which sends the legacy notifications"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9f5c4f37_3c245bc6","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":54},"updated":"2017-09-21 10:47:33.000000000","message":"This is now proposed separately as a bugfix in https://review.openstack.org/#/c/506104/ so please rebase this top of that.","commit_id":"99b3ba4af72a769a3088cc14afe9eff7928d6ece"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d7a93195d623429703bd7033b7b6aff8349a503f","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"            migration_id \u003d None"},{"line_number":98,"context_line":"            retries \u003d 0"},{"line_number":99,"context_line":"            while retries \u003c 20:"},{"line_number":100,"context_line":"                retries +\u003d 1"},{"line_number":101,"context_line":"                migrations \u003d self.admin_api.get_active_migrations(server[\u0027id\u0027])"},{"line_number":102,"context_line":"                if (len(migrations) \u003e 0 and"},{"line_number":103,"context_line":"                            migrations[0][\u0027status\u0027] !\u003d \u0027preparing\u0027):"},{"line_number":104,"context_line":"                    migration_id \u003d migrations[0][\u0027id\u0027]"},{"line_number":105,"context_line":"                    break"},{"line_number":106,"context_line":"                if retries \u003d\u003d 20:"},{"line_number":107,"context_line":"                    self.fail(\u0027The migration table left empty.\u0027)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"            self.admin_api.post_force_migrations(server[\u0027id\u0027], migration_id)"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_e510c202","line":107,"range":{"start_line":99,"start_character":0,"end_line":107,"end_character":64},"updated":"2017-07-18 16:55:00.000000000","message":"I\u0027m sure we have similar code in other live migration notification transformation (e.g. abort). Could you propose a patch with this code as a utility method and then update the multiple migration patches to depend on that utility patch? This way you will avoid code duplication","commit_id":"5708cfeab33bc99c88c5fb38c254d9580446d5ab"}]}
