)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jgupta \u003cjayadityagupta11@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-09-16 11:33:51 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Provide support for live-migration-force-complete command in openstackclient"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic4dc639afa16cdf8c5a46774895e850d92985292"},{"line_number":10,"context_line":"Task: 39293"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_10a5cc03","line":7,"range":{"start_line":7,"start_character":57,"end_line":7,"end_character":76},"updated":"2020-10-06 10:46:31.000000000","message":"this is redundant","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jgupta \u003cjayadityagupta11@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-09-16 11:33:51 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Provide support for live-migration-force-complete command in openstackclient"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic4dc639afa16cdf8c5a46774895e850d92985292"},{"line_number":10,"context_line":"Task: 39293"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_30a290fd","line":7,"range":{"start_line":7,"start_character":20,"end_line":7,"end_character":49},"updated":"2020-10-06 10:46:31.000000000","message":"this isn\u0027t the name of the command now","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jgupta \u003cjayadityagupta11@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-09-16 11:33:51 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Provide support for live-migration-force-complete command in openstackclient"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic4dc639afa16cdf8c5a46774895e850d92985292"},{"line_number":10,"context_line":"Task: 39293"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f6b1bfe_f9e5133a","line":7,"range":{"start_line":7,"start_character":20,"end_line":7,"end_character":49},"in_reply_to":"9f560f44_30a290fd","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":1850,"context_line":"                raise SystemExit"},{"line_number":1851,"context_line":""},{"line_number":1852,"context_line":""},{"line_number":1853,"context_line":"class ForceMigrationComplete(command.Command):"},{"line_number":1854,"context_line":"    _description \u003d _(\"\"\"Force on-going live migration to complete."},{"line_number":1855,"context_line":"    Usage --live-migration-force-complete \u003cmigration_ID\u003e.\"\"\")"},{"line_number":1856,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b0e34034","line":1853,"range":{"start_line":1853,"start_character":6,"end_line":1853,"end_character":28},"updated":"2020-10-06 10:46:31.000000000","message":"These are all named \u0027\u003caction\u003e\u003cresource\u003e\u0027, so this should probably be \u0027ForceCompleteMigration\u0027","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":1850,"context_line":"                raise SystemExit"},{"line_number":1851,"context_line":""},{"line_number":1852,"context_line":""},{"line_number":1853,"context_line":"class ForceMigrationComplete(command.Command):"},{"line_number":1854,"context_line":"    _description \u003d _(\"\"\"Force on-going live migration to complete."},{"line_number":1855,"context_line":"    Usage --live-migration-force-complete \u003cmigration_ID\u003e.\"\"\")"},{"line_number":1856,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_d9e2d72f","line":1853,"range":{"start_line":1853,"start_character":6,"end_line":1853,"end_character":28},"in_reply_to":"9f560f44_b0e34034","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":1852,"context_line":""},{"line_number":1853,"context_line":"class ForceMigrationComplete(command.Command):"},{"line_number":1854,"context_line":"    _description \u003d _(\"\"\"Force on-going live migration to complete."},{"line_number":1855,"context_line":"    Usage --live-migration-force-complete \u003cmigration_ID\u003e.\"\"\")"},{"line_number":1856,"context_line":""},{"line_number":1857,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1858,"context_line":"        parser \u003d super(ForceMigrationComplete, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_10578c03","line":1855,"updated":"2020-10-06 10:46:31.000000000","message":"This doesn\u0027t match what the command says. Maybe drop the second line?\n\nAlso, this requires API microversion 2.22+. You need to (a) add a check for that in \u0027take_action\u0027 below and (b) reference this requirement here. Something like:\n\n  This command requires ``--os-compute-api-version`` 2.22 or greater.","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":1852,"context_line":""},{"line_number":1853,"context_line":"class ForceMigrationComplete(command.Command):"},{"line_number":1854,"context_line":"    _description \u003d _(\"\"\"Force on-going live migration to complete."},{"line_number":1855,"context_line":"    Usage --live-migration-force-complete \u003cmigration_ID\u003e.\"\"\")"},{"line_number":1856,"context_line":""},{"line_number":1857,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1858,"context_line":"        parser \u003d super(ForceMigrationComplete, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_39d14b59","line":1855,"in_reply_to":"9f560f44_10578c03","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":1855,"context_line":"    Usage --live-migration-force-complete \u003cmigration_ID\u003e.\"\"\")"},{"line_number":1856,"context_line":""},{"line_number":1857,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1858,"context_line":"        parser \u003d super(ForceMigrationComplete, self).get_parser(prog_name)"},{"line_number":1859,"context_line":"        parser.add_argument("},{"line_number":1860,"context_line":"            \u0027server\u0027,"},{"line_number":1861,"context_line":"            metavar\u003d\u0027\u003cserver\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b06060d1","line":1858,"range":{"start_line":1858,"start_character":23,"end_line":1858,"end_character":51},"updated":"2020-10-06 10:46:31.000000000","message":"nit: you don\u0027t need this in a Python 3-only world","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":1864,"context_line":"        parser.add_argument("},{"line_number":1865,"context_line":"            \u0027migration\u0027,"},{"line_number":1866,"context_line":"            metavar\u003d\u0027\u003cmigration_id\u003e\u0027,"},{"line_number":1867,"context_line":"            help\u003d_(\u0027migration id\u0027)"},{"line_number":1868,"context_line":"        )"},{"line_number":1869,"context_line":"        return parser"},{"line_number":1870,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_506104d4","line":1867,"range":{"start_line":1867,"start_character":20,"end_line":1867,"end_character":21},"updated":"2020-10-06 10:46:31.000000000","message":"M","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":1864,"context_line":"        parser.add_argument("},{"line_number":1865,"context_line":"            \u0027migration\u0027,"},{"line_number":1866,"context_line":"            metavar\u003d\u0027\u003cmigration_id\u003e\u0027,"},{"line_number":1867,"context_line":"            help\u003d_(\u0027migration id\u0027)"},{"line_number":1868,"context_line":"        )"},{"line_number":1869,"context_line":"        return parser"},{"line_number":1870,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_59d08751","line":1867,"range":{"start_line":1867,"start_character":20,"end_line":1867,"end_character":21},"in_reply_to":"9f560f44_506104d4","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":3532,"context_line":"    def test_live_migration_force_complete(self):"},{"line_number":3533,"context_line":"        body \u003d {\u0027force_complete\u0027: None}"},{"line_number":3534,"context_line":"        self.servers_mock.server_migrations.live_migrate_force_complete("},{"line_number":3535,"context_line":"            1234, 1)"},{"line_number":3536,"context_line":"        self.servers_mock.post.assert_called"},{"line_number":3537,"context_line":"        (\u0027POST\u0027, \u0027/servers/1234/migrations/1/action\u0027, body)"},{"line_number":3538,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f0e5b83f","line":3535,"updated":"2020-10-06 10:46:31.000000000","message":"You\u0027re testing the fake client, not the command itself here","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":3532,"context_line":"    def test_live_migration_force_complete(self):"},{"line_number":3533,"context_line":"        body \u003d {\u0027force_complete\u0027: None}"},{"line_number":3534,"context_line":"        self.servers_mock.server_migrations.live_migrate_force_complete("},{"line_number":3535,"context_line":"            1234, 1)"},{"line_number":3536,"context_line":"        self.servers_mock.post.assert_called"},{"line_number":3537,"context_line":"        (\u0027POST\u0027, \u0027/servers/1234/migrations/1/action\u0027, body)"},{"line_number":3538,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_59452717","line":3535,"in_reply_to":"9f560f44_f0e5b83f","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":3534,"context_line":"        self.servers_mock.server_migrations.live_migrate_force_complete("},{"line_number":3535,"context_line":"            1234, 1)"},{"line_number":3536,"context_line":"        self.servers_mock.post.assert_called"},{"line_number":3537,"context_line":"        (\u0027POST\u0027, \u0027/servers/1234/migrations/1/action\u0027, body)"},{"line_number":3538,"context_line":""},{"line_number":3539,"context_line":""},{"line_number":3540,"context_line":"class TestServerPause(TestServer):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_d0835454","line":3537,"range":{"start_line":3537,"start_character":7,"end_line":3537,"end_character":9},"updated":"2020-10-06 10:46:31.000000000","message":"You need to bring this up a line. As this is, you\u0027re simply creating a tuple.","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":3534,"context_line":"        self.servers_mock.server_migrations.live_migrate_force_complete("},{"line_number":3535,"context_line":"            1234, 1)"},{"line_number":3536,"context_line":"        self.servers_mock.post.assert_called"},{"line_number":3537,"context_line":"        (\u0027POST\u0027, \u0027/servers/1234/migrations/1/action\u0027, body)"},{"line_number":3538,"context_line":""},{"line_number":3539,"context_line":""},{"line_number":3540,"context_line":"class TestServerPause(TestServer):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_f95353e1","line":3537,"range":{"start_line":3537,"start_character":7,"end_line":3537,"end_character":9},"in_reply_to":"9f560f44_d0835454","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[{"line_number":3535,"context_line":"            1234, 1)"},{"line_number":3536,"context_line":"        self.servers_mock.post.assert_called"},{"line_number":3537,"context_line":"        (\u0027POST\u0027, \u0027/servers/1234/migrations/1/action\u0027, body)"},{"line_number":3538,"context_line":""},{"line_number":3539,"context_line":""},{"line_number":3540,"context_line":"class TestServerPause(TestServer):"},{"line_number":3541,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_107e6c69","line":3538,"updated":"2020-10-06 10:46:31.000000000","message":"You\u0027ll need a test here to validate behavior on API microversion \u003c 2.22 when you add that check","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[{"line_number":3535,"context_line":"            1234, 1)"},{"line_number":3536,"context_line":"        self.servers_mock.post.assert_called"},{"line_number":3537,"context_line":"        (\u0027POST\u0027, \u0027/servers/1234/migrations/1/action\u0027, body)"},{"line_number":3538,"context_line":""},{"line_number":3539,"context_line":""},{"line_number":3540,"context_line":"class TestServerPause(TestServer):"},{"line_number":3541,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_19644fb9","line":3538,"in_reply_to":"9f560f44_107e6c69","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"}],"releasenotes/notes/live-migration-force-complete-0cb73ad09cd336ac.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3c56400b3da152f9ba6e15f1515949cfba46bdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9f560f44_f0493866","line":5,"updated":"2020-10-06 10:46:31.000000000","message":"This doesn\u0027t match what you\u0027ve actually done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ee0fc02ce6cbcfb454a37d7888b87f8962cd92bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7f6b1bfe_996fbf91","line":5,"in_reply_to":"9f560f44_f0493866","updated":"2020-10-13 14:14:34.000000000","message":"Done","commit_id":"497e22756f1b9f696d8705fc753df77db4bd7d8a"}]}
