)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"53181d0366b96bd9c0ec97f6b85a9f8f73a2f180","unresolved":false,"context_lines":[{"line_number":9,"context_line":"1. Add two new commands"},{"line_number":10,"context_line":"Add nova client server-migration-list and server-migration-show"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2. Bump and old command"},{"line_number":13,"context_line":"Add migration_type field for migration-list command"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Partially implements blueprint live-migration-progress-report"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"9aed3d3a_70a719bd","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":11},"updated":"2016-03-01 04:19:11.000000000","message":"an","commit_id":"90bac3996209e0712ddffcbc5c048f82e8532aa1"}],"novaclient/tests/unit/fixture_data/server_migrations.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"35e22fe701c77aea0462274e1be6e419aa27454d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                \"disk_total\": 20971520,"},{"line_number":46,"context_line":"                \"disk_processed\": 20880384,"},{"line_number":47,"context_line":"                \"disk_remaining\": 91136,"},{"line_number":48,"context_line":"                \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":49,"context_line":"            }]}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        url \u003d self.url(\u00271234\u0027, \u0027migrations\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_095b8388","line":48,"updated":"2016-02-26 18:33:00.000000000","message":"I think the values in this data structure have changed since this was written. See https://review.openstack.org/#/c/258771/38/doc/api_samples/server-migrations/v2.23/migrations-index.json","commit_id":"cbffe93e64288e491478bcb4f311d478faf16a1b"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"78f79d9ded95f4e43070d7ba1e20037eb4ebbc21","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                \"disk_total\": 20971520,"},{"line_number":46,"context_line":"                \"disk_processed\": 20880384,"},{"line_number":47,"context_line":"                \"disk_remaining\": 91136,"},{"line_number":48,"context_line":"                \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":49,"context_line":"            }]}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        url \u003d self.url(\u00271234\u0027, \u0027migrations\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_8cbfa1fa","line":48,"in_reply_to":"9aed3d3a_095b8388","updated":"2016-02-26 18:42:24.000000000","message":"Done","commit_id":"cbffe93e64288e491478bcb4f311d478faf16a1b"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"35e22fe701c77aea0462274e1be6e419aa27454d","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            \"disk_total\": 20971520,"},{"line_number":73,"context_line":"            \"disk_processed\": 20880384,"},{"line_number":74,"context_line":"            \"disk_remaining\": 91136,"},{"line_number":75,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":76,"context_line":"        }"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        url \u003d self.url(\u00271234\u0027, \u0027migrations\u0027, \u00271\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_894f93bc","line":75,"updated":"2016-02-26 18:33:00.000000000","message":"Same here","commit_id":"cbffe93e64288e491478bcb4f311d478faf16a1b"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"78f79d9ded95f4e43070d7ba1e20037eb4ebbc21","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            \"disk_total\": 20971520,"},{"line_number":73,"context_line":"            \"disk_processed\": 20880384,"},{"line_number":74,"context_line":"            \"disk_remaining\": 91136,"},{"line_number":75,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":76,"context_line":"        }"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        url \u003d self.url(\u00271234\u0027, \u0027migrations\u0027, \u00271\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_cc37e9ae","line":75,"in_reply_to":"9aed3d3a_894f93bc","updated":"2016-02-26 18:42:24.000000000","message":"Done","commit_id":"cbffe93e64288e491478bcb4f311d478faf16a1b"}],"novaclient/tests/unit/v2/fakes.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"b3ca82bb0745d619391b3f70d5a91fcf09dda438","unresolved":false,"context_lines":[{"line_number":2454,"context_line":"            \"disk_total\": 20971520,"},{"line_number":2455,"context_line":"            \"disk_processed\": 20880384,"},{"line_number":2456,"context_line":"            \"disk_remaining\": 91136,"},{"line_number":2457,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2458,"context_line":"        }"},{"line_number":2459,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migration)"},{"line_number":2460,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_2c85b5ac","line":2457,"updated":"2016-02-26 18:51:06.000000000","message":"ah, and again.... looking more carefully now","commit_id":"2c6cb9ee7f477e900c3f30e77a98fefb8b76f098"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"b29aaf7cc709dc47c03eac906ee1801523bbf473","unresolved":false,"context_lines":[{"line_number":2454,"context_line":"            \"disk_total\": 20971520,"},{"line_number":2455,"context_line":"            \"disk_processed\": 20880384,"},{"line_number":2456,"context_line":"            \"disk_remaining\": 91136,"},{"line_number":2457,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2458,"context_line":"        }"},{"line_number":2459,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migration)"},{"line_number":2460,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_0f58a331","line":2457,"in_reply_to":"9aed3d3a_2c85b5ac","updated":"2016-02-26 18:54:31.000000000","message":"Done","commit_id":"2c6cb9ee7f477e900c3f30e77a98fefb8b76f098"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"b3ca82bb0745d619391b3f70d5a91fcf09dda438","unresolved":false,"context_lines":[{"line_number":2478,"context_line":"                \"disk_total\": 20971520,"},{"line_number":2479,"context_line":"                \"disk_processed\": 20880384,"},{"line_number":2480,"context_line":"                \"disk_remaining\": 91136,"},{"line_number":2481,"context_line":"                \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2482,"context_line":"            }]}"},{"line_number":2483,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migrations)"},{"line_number":2484,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_ccbc096f","line":2481,"updated":"2016-02-26 18:51:06.000000000","message":"here too","commit_id":"2c6cb9ee7f477e900c3f30e77a98fefb8b76f098"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"b29aaf7cc709dc47c03eac906ee1801523bbf473","unresolved":false,"context_lines":[{"line_number":2478,"context_line":"                \"disk_total\": 20971520,"},{"line_number":2479,"context_line":"                \"disk_processed\": 20880384,"},{"line_number":2480,"context_line":"                \"disk_remaining\": 91136,"},{"line_number":2481,"context_line":"                \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2482,"context_line":"            }]}"},{"line_number":2483,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migrations)"},{"line_number":2484,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_ef5a9f29","line":2481,"in_reply_to":"9aed3d3a_ccbc096f","updated":"2016-02-26 18:54:31.000000000","message":"Done","commit_id":"2c6cb9ee7f477e900c3f30e77a98fefb8b76f098"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"f98127cb7dfd13b3bd04320cdaea1e72ad9c7892","unresolved":false,"context_lines":[{"line_number":2436,"context_line":"        return (202, {}, None)"},{"line_number":2437,"context_line":""},{"line_number":2438,"context_line":"    def get_servers_1234_migrations_1(self, **kw):"},{"line_number":2439,"context_line":"        migration \u003d {"},{"line_number":2440,"context_line":"            \"created_at\": \"2016-01-29T13:42:02.000000\","},{"line_number":2441,"context_line":"            \"dest_compute\": \"compute2\","},{"line_number":2442,"context_line":"            \"dest_host\": \"1.2.3.4\","}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_e3243361","line":2439,"range":{"start_line":2439,"start_character":8,"end_line":2439,"end_character":21},"updated":"2016-02-29 13:47:06.000000000","message":"We  also change the  singular return. \n\nWe need to update the spec.","commit_id":"aff225aa4d0aacd8fec124b66dea1cffa335509c"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"d59a1676ac681bc6cfb2ca6f162e57d097a099d5","unresolved":false,"context_lines":[{"line_number":2385,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2386,"context_line":"        }"},{"line_number":2387,"context_line":""},{"line_number":2388,"context_line":"        if self.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":2389,"context_line":"            migration.update({\"migration_type\": \"live-migration\"})"},{"line_number":2390,"context_line":""},{"line_number":2391,"context_line":"        migrations \u003d {\u0027migrations\u0027: [migration]}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aed3d3a_465511f8","line":2388,"updated":"2016-02-29 21:04:23.000000000","message":"I didn\u0027t figure out how to check api_version here. Unfortunately FakeSessionMockClient does not have api_version attribute set.","commit_id":"2b3f6e82500c5a051a7bdd0265ae5bd5956eca3e"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"70270da41ab542250fd5e510e3d4df93aca2cb0a","unresolved":false,"context_lines":[{"line_number":2385,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2386,"context_line":"        }"},{"line_number":2387,"context_line":""},{"line_number":2388,"context_line":"        if self.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":2389,"context_line":"            migration.update({\"migration_type\": \"live-migration\"})"},{"line_number":2390,"context_line":""},{"line_number":2391,"context_line":"        migrations \u003d {\u0027migrations\u0027: [migration]}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aed3d3a_ff2784b3","line":2388,"in_reply_to":"9aed3d3a_3c3f3a88","updated":"2016-02-29 22:09:01.000000000","message":"I thought there must be a better way to do that, but, well, it works! Thanks ;)","commit_id":"2b3f6e82500c5a051a7bdd0265ae5bd5956eca3e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"c5b46f061ed596e0820277cde9c072d67f47b36e","unresolved":false,"context_lines":[{"line_number":2385,"context_line":"            \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":2386,"context_line":"        }"},{"line_number":2387,"context_line":""},{"line_number":2388,"context_line":"        if self.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":2389,"context_line":"            migration.update({\"migration_type\": \"live-migration\"})"},{"line_number":2390,"context_line":""},{"line_number":2391,"context_line":"        migrations \u003d {\u0027migrations\u0027: [migration]}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aed3d3a_3c3f3a88","line":2388,"in_reply_to":"9aed3d3a_465511f8","updated":"2016-02-29 21:50:41.000000000","message":"see my comments bellow","commit_id":"2b3f6e82500c5a051a7bdd0265ae5bd5956eca3e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"c5b46f061ed596e0820277cde9c072d67f47b36e","unresolved":false,"context_lines":[{"line_number":2494,"context_line":"                               \u0027project_id\u0027, \u0027auth_url\u0027,"},{"line_number":2495,"context_line":"                               extensions\u003dkwargs.get(\u0027extensions\u0027),"},{"line_number":2496,"context_line":"                               api_version\u003dapi_version, direct_use\u003dFalse)"},{"line_number":2497,"context_line":"        self.client \u003d FakeSessionMockClient(**kwargs)"},{"line_number":2498,"context_line":""},{"line_number":2499,"context_line":""},{"line_number":2500,"context_line":"class FakeSessionMockClient(base_client.SessionClient, FakeHTTPClient):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aed3d3a_5cdcbe72","line":2497,"range":{"start_line":2497,"start_character":8,"end_line":2497,"end_character":53},"updated":"2016-02-29 21:50:41.000000000","message":"you need to transmit api_version in kwargs","commit_id":"2b3f6e82500c5a051a7bdd0265ae5bd5956eca3e"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"c5b46f061ed596e0820277cde9c072d67f47b36e","unresolved":false,"context_lines":[{"line_number":2512,"context_line":"        self.interface \u003d None"},{"line_number":2513,"context_line":"        self.region_name \u003d None"},{"line_number":2514,"context_line":"        self.version \u003d None"},{"line_number":2515,"context_line":""},{"line_number":2516,"context_line":"        self.auth.get_auth_ref.return_value.project_id \u003d \u0027tenant_id\u0027"},{"line_number":2517,"context_line":""},{"line_number":2518,"context_line":"    def request(self, url, method, **kwargs):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aed3d3a_1ccd16b7","line":2515,"updated":"2016-02-29 21:50:41.000000000","message":"copy-paste L96","commit_id":"2b3f6e82500c5a051a7bdd0265ae5bd5956eca3e"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"89e5fdd6d41ad104a92ea4548e4d8efd5e57aa8d","unresolved":false,"context_lines":[{"line_number":2470,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migration)"},{"line_number":2471,"context_line":""},{"line_number":2472,"context_line":"    def get_servers_1234_migrations(self, **kw):"},{"line_number":2473,"context_line":"        # TODO(Shaohe Feng) this condition check can be a decorator"},{"line_number":2474,"context_line":"        if self.api_version \u003c api_versions.APIVersion(\"2.23\"):"},{"line_number":2475,"context_line":"            raise exceptions.UnsupportedVersion(_(\"Unsupport version %s\")"},{"line_number":2476,"context_line":"                                                % self.api_version)"},{"line_number":2477,"context_line":"        migrations \u003d {\u0027migrations\u0027: ["},{"line_number":2478,"context_line":"            {"},{"line_number":2479,"context_line":"                \"created_at\": \"2016-01-29T13:42:02.000000\","}],"source_content_type":"text/x-python","patch_set":15,"id":"9aed3d3a_61663252","line":2476,"range":{"start_line":2473,"start_character":0,"end_line":2476,"end_character":67},"updated":"2016-03-01 03:26:09.000000000","message":"@Andrey Kurilin\n\nafter, we discuss on IRC.\nI have do a test, I find we don not check the api_versions in all of the nova client. \n\nAnd you know the reason.\n\nSo I add a check here.","commit_id":"90bac3996209e0712ddffcbc5c048f82e8532aa1"}],"novaclient/tests/unit/v2/test_server_migrations.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"3415fe52b52fd62889e24017430a3463c6df07e4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \"disk_total\": 20971520,"},{"line_number":56,"context_line":"        \"disk_processed\": 20880384,"},{"line_number":57,"context_line":"        \"disk_remaining\": 91136,"},{"line_number":58,"context_line":"        \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":59,"context_line":"    }"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_c94a3b83","line":58,"updated":"2016-02-26 18:34:42.000000000","message":"Again here - missed this in the last comment I posted.","commit_id":"cbffe93e64288e491478bcb4f311d478faf16a1b"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"78f79d9ded95f4e43070d7ba1e20037eb4ebbc21","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \"disk_total\": 20971520,"},{"line_number":56,"context_line":"        \"disk_processed\": 20880384,"},{"line_number":57,"context_line":"        \"disk_remaining\": 91136,"},{"line_number":58,"context_line":"        \"updated_at\": \"2012-10-29T13:42:02.000000\""},{"line_number":59,"context_line":"    }"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_6cedfdee","line":58,"in_reply_to":"9aed3d3a_c94a3b83","updated":"2016-02-26 18:42:24.000000000","message":"Done","commit_id":"cbffe93e64288e491478bcb4f311d478faf16a1b"}],"novaclient/v2/contrib/migrations.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"88a74a77ce4382fd5d4adb94077d6c3e7ba779f7","unresolved":false,"context_lines":[{"line_number":66,"context_line":"def _do_migration_list(cs, args):"},{"line_number":67,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status, args.cell_name)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    _print_migrations(migrations, api_versions.APIVersion(\"2.3\"))"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_48cc0a6a","line":69,"updated":"2016-02-29 17:43:04.000000000","message":"isn\u0027t that 2.23?","commit_id":"55ebde823b80df16c99d5cf3b12b47ddc830af48"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"51b3a6601a285e5ed6f653ca3ca22dafcecb29c4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return self._list(\"/os-migrations%s\" % query_string, \"migrations\")"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"@api_versions.wraps(\"2.0\", \"2.22\")"},{"line_number":59,"context_line":"def _do_migration_list(cs, args):"},{"line_number":60,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status, args.cell_name)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    _print_migrations(migrations)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"@api_versions.wraps(\"2.23\")"},{"line_number":66,"context_line":"def _do_migration_list(cs, args):"},{"line_number":67,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status, args.cell_name)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    _print_migrations(migrations, api_versions.APIVersion(\"2.23\"))"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_63a81178","line":69,"range":{"start_line":58,"start_character":0,"end_line":69,"end_character":66},"updated":"2016-02-29 18:05:45.000000000","message":"it is not needed","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"885f9c4af7b3c4afb98cb9fb62c174acb8e84590","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return self._list(\"/os-migrations%s\" % query_string, \"migrations\")"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"@api_versions.wraps(\"2.0\", \"2.22\")"},{"line_number":59,"context_line":"def _do_migration_list(cs, args):"},{"line_number":60,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status, args.cell_name)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    _print_migrations(migrations)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"@api_versions.wraps(\"2.23\")"},{"line_number":66,"context_line":"def _do_migration_list(cs, args):"},{"line_number":67,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status, args.cell_name)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    _print_migrations(migrations, api_versions.APIVersion(\"2.23\"))"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_722450c4","line":69,"range":{"start_line":58,"start_character":0,"end_line":69,"end_character":66},"in_reply_to":"9aed3d3a_63a81178","updated":"2016-02-29 21:03:16.000000000","message":"Done","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"51b3a6601a285e5ed6f653ca3ca22dafcecb29c4","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    _do_migration_list(cs, args)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def _print_migrations(migrations, api_version\u003dapi_versions.APIVersion(\"2.0\")):"},{"line_number":93,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":94,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Instance UUID\u0027, \u0027Old Flavor\u0027,"},{"line_number":95,"context_line":"              \u0027New Flavor\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_e3e9c1b8","line":92,"updated":"2016-02-29 18:05:45.000000000","message":"let\u0027s transmit cs here instead of api_version","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"885f9c4af7b3c4afb98cb9fb62c174acb8e84590","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    _do_migration_list(cs, args)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def _print_migrations(migrations, api_version\u003dapi_versions.APIVersion(\"2.0\")):"},{"line_number":93,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":94,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Instance UUID\u0027, \u0027Old Flavor\u0027,"},{"line_number":95,"context_line":"              \u0027New Flavor\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_b22a588e","line":92,"in_reply_to":"9aed3d3a_e3e9c1b8","updated":"2016-02-29 21:03:16.000000000","message":"Done","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"51b3a6601a285e5ed6f653ca3ca22dafcecb29c4","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    def new_flavor(migration):"},{"line_number":101,"context_line":"        return migration.new_instance_type_id"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def new_flavor(migration):"},{"line_number":104,"context_line":"        return migration.new_instance_type_id"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def migration_type(migration):"},{"line_number":107,"context_line":"        return migration.migration_type"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_037ae576","line":104,"range":{"start_line":103,"start_character":4,"end_line":104,"end_character":45},"updated":"2016-02-29 18:05:45.000000000","message":"the same as 100-101","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"885f9c4af7b3c4afb98cb9fb62c174acb8e84590","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    def new_flavor(migration):"},{"line_number":101,"context_line":"        return migration.new_instance_type_id"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def new_flavor(migration):"},{"line_number":104,"context_line":"        return migration.new_instance_type_id"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def migration_type(migration):"},{"line_number":107,"context_line":"        return migration.migration_type"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_f21ea06e","line":104,"range":{"start_line":103,"start_character":4,"end_line":104,"end_character":45},"in_reply_to":"9aed3d3a_037ae576","updated":"2016-02-29 21:03:16.000000000","message":"Done","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"51b3a6601a285e5ed6f653ca3ca22dafcecb29c4","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    formatters \u003d {\u0027Old Flavor\u0027: old_flavor, \u0027New Flavor\u0027: new_flavor}"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":112,"context_line":"        fields.append(\"Type\")"},{"line_number":113,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_e300a168","line":111,"range":{"start_line":111,"start_character":4,"end_line":111,"end_character":54},"updated":"2016-02-29 18:05:45.000000000","message":"if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"885f9c4af7b3c4afb98cb9fb62c174acb8e84590","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    formatters \u003d {\u0027Old Flavor\u0027: old_flavor, \u0027New Flavor\u0027: new_flavor}"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":112,"context_line":"        fields.append(\"Type\")"},{"line_number":113,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_52102c59","line":111,"range":{"start_line":111,"start_character":4,"end_line":111,"end_character":54},"in_reply_to":"9aed3d3a_e300a168","updated":"2016-02-29 21:03:16.000000000","message":"Done","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"55827970dc8380002d569240109ee0094c2440ef","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    formatters \u003d {\u0027Old Flavor\u0027: old_flavor, \u0027New Flavor\u0027: new_flavor}"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":96,"context_line":"        fields.append(\"Type\")"},{"line_number":97,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    utils.print_list(migrations, fields, formatters)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7af24918_41cad450","line":96,"range":{"start_line":96,"start_character":8,"end_line":96,"end_character":29},"updated":"2016-03-01 11:03:58.000000000","message":"@Shaohe, we should add new column at here. Keep the old version same as before","commit_id":"6039f4281b74abf591fb99488274ccb0c107f3cd"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"8b0962d2e6a1b17432c52dcb4ddace05bec15add","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    formatters \u003d {\u0027Old Flavor\u0027: old_flavor, \u0027New Flavor\u0027: new_flavor}"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":96,"context_line":"        fields.append(\"Type\")"},{"line_number":97,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    utils.print_list(migrations, fields, formatters)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7af24918_24f51683","line":96,"range":{"start_line":96,"start_character":8,"end_line":96,"end_character":29},"in_reply_to":"7af24918_41cad450","updated":"2016-03-01 11:19:48.000000000","message":"oh...","commit_id":"6039f4281b74abf591fb99488274ccb0c107f3cd"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"23bee2bf1507564361c3b6e0fa1aa0b480b5a712","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    formatters \u003d {\u0027Old Flavor\u0027: old_flavor, \u0027New Flavor\u0027: new_flavor}"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":96,"context_line":"        fields.insert(0, \"d\")"},{"line_number":97,"context_line":"        fields.append(\"Type\")"},{"line_number":98,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7af24918_52f8e47c","line":96,"range":{"start_line":96,"start_character":25,"end_line":96,"end_character":28},"updated":"2016-03-01 11:50:08.000000000","message":"Id","commit_id":"294d29f1c6a32937d1a93ce1598fc4c511762192"}],"novaclient/v2/server_migrations.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    def __repr__(self):"},{"line_number":22,"context_line":"        return \"\u003cServerMigration\u003e\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# class Migration(base.Resource):"},{"line_number":25,"context_line":"#     def __repr__(self):"},{"line_number":26,"context_line":"#         return \"\u003cMigration: %s\u003e\" % self.id"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class ServerMigrationsManager(base.Manager):"},{"line_number":29,"context_line":"    resource_class \u003d ServerMigration"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_4cfedeae","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":44},"updated":"2016-02-17 16:33:16.000000000","message":"I suppose it is not required ;)","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return self.convert_into_with_meta(body, resp)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @api_versions.wraps(\"2.23\")"},{"line_number":48,"context_line":"    def get_migration(self, server, migration):"},{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        Get a migration of a specified server"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_8c32a6a5","line":48,"range":{"start_line":48,"start_character":8,"end_line":48,"end_character":21},"updated":"2016-02-17 16:33:16.000000000","message":"rename to just \"get\"","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        return self.convert_into_with_meta(body, resp)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    @api_versions.wraps(\"2.23\")"},{"line_number":63,"context_line":"    def list_migrations(self, server):"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        Get a migrations list of a specified server"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_4c153ee3","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":23},"updated":"2016-02-17 16:33:16.000000000","message":"just \"list\"","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"032c6090a75ca727de8c34abb9888d55dafa19e1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from novaclient import base"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ServerMigration(base.Resource):"},{"line_number":21,"context_line":"    def __repr__(self):"},{"line_number":22,"context_line":"        return \"\u003cServerMigration\u003e\""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_92d94b86","line":20,"updated":"2016-02-22 18:58:07.000000000","message":"Since there wasn\u0027t \"get\" method in 2.22, there was no need to extend resource class with `live_migrate_force_complete`. Now we have such method, so, please add `live_migrate_force_complete` to ServerMigration cls(something like: https://github.com/openstack/python-novaclient/blob/4e2761d6b9a31228780a6bef898cfb0684ed39f8/novaclient/v2/servers.py#L248-L257 )\n\nIt will allow users to do something like:\n\n    migration \u003d nova.server_migrations.get(server, migration_id)\n    migration.live_migrate_force_complete()","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"31e21678a96d79fab06a00dc3982bbb3f57be8c5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from novaclient import base"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ServerMigration(base.Resource):"},{"line_number":21,"context_line":"    def __repr__(self):"},{"line_number":22,"context_line":"        return \"\u003cServerMigration\u003e\""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_459d7158","line":20,"in_reply_to":"bae84128_92d94b86","updated":"2016-02-26 18:08:39.000000000","message":"I am not sure I got you correctly, we are close to the freeze for library so I am going to put a new PS adressing the other comments and this one, as it is an improvement, can go in a followup patch","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a949af91117dc1840c9238b5713c05b9e6477ccc","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        :param migration: Migration id that will be gotten."},{"line_number":51,"context_line":"        :returns: An instance of novaclient.base.DictWithMeta"},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":"        resp, body \u003d self.api.client.get("},{"line_number":54,"context_line":"            \u0027/servers/%s/migrations/%s\u0027 %"},{"line_number":55,"context_line":"            (base.getid(server), base.getid(migration)))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return self.convert_into_with_meta(body, resp)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @api_versions.wraps(\"2.23\")"},{"line_number":60,"context_line":"    def list(self, server):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_4a16d4f1","line":57,"range":{"start_line":53,"start_character":8,"end_line":57,"end_character":54},"updated":"2016-02-29 13:04:03.000000000","message":"why not just:\n\n    return self._get(\u0027/servers/%s/migrations/%s\u0027 % base.getid(server), base.getid(migration)))\n\n?","commit_id":"aff225aa4d0aacd8fec124b66dea1cffa335509c"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"51b3a6601a285e5ed6f653ca3ca22dafcecb29c4","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        :param migration: Migration id that will be gotten."},{"line_number":51,"context_line":"        :returns: An instance of novaclient.base.DictWithMeta"},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":"        resp, body \u003d self.api.client.get("},{"line_number":54,"context_line":"            \u0027/servers/%s/migrations/%s\u0027 %"},{"line_number":55,"context_line":"            (base.getid(server), base.getid(migration)))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return self.convert_into_with_meta(body, resp)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @api_versions.wraps(\"2.23\")"},{"line_number":60,"context_line":"    def list(self, server):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_7e49c45f","line":57,"range":{"start_line":53,"start_character":8,"end_line":57,"end_character":54},"updated":"2016-02-29 18:05:45.000000000","message":"I prefer to use `self._get(url)` instead. It will return a ServerMigration object with all properties which is more familiar to return values of all other methods.","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"885f9c4af7b3c4afb98cb9fb62c174acb8e84590","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        :param migration: Migration id that will be gotten."},{"line_number":51,"context_line":"        :returns: An instance of novaclient.base.DictWithMeta"},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":"        resp, body \u003d self.api.client.get("},{"line_number":54,"context_line":"            \u0027/servers/%s/migrations/%s\u0027 %"},{"line_number":55,"context_line":"            (base.getid(server), base.getid(migration)))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return self.convert_into_with_meta(body, resp)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @api_versions.wraps(\"2.23\")"},{"line_number":60,"context_line":"    def list(self, server):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_3215a848","line":57,"range":{"start_line":53,"start_character":8,"end_line":57,"end_character":54},"in_reply_to":"9aed3d3a_7e49c45f","updated":"2016-02-29 21:03:16.000000000","message":"Done","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"c9ed8dfac4800a2e3a80590d5674bdbb47f45709","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        :param migration: Migration id that will be gotten."},{"line_number":51,"context_line":"        :returns: An instance of novaclient.base.DictWithMeta"},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":"        resp, body \u003d self.api.client.get("},{"line_number":54,"context_line":"            \u0027/servers/%s/migrations/%s\u0027 %"},{"line_number":55,"context_line":"            (base.getid(server), base.getid(migration)))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return self.convert_into_with_meta(body, resp)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @api_versions.wraps(\"2.23\")"},{"line_number":60,"context_line":"    def list(self, server):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_70027e0b","line":57,"range":{"start_line":53,"start_character":8,"end_line":57,"end_character":54},"in_reply_to":"9aed3d3a_7e49c45f","updated":"2016-03-01 01:28:44.000000000","message":"I understand why you prefer self._get.\n\nI like it too. \n\nThough it does not return a DictWithMeta, inconsistency with list(return ListWithMeta)","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"26067b3722d8f270cef7929e8a3226205dd3b284","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param server: The :class:`Server` (or its ID)"},{"line_number":50,"context_line":"        :param migration: Migration id that will be gotten."},{"line_number":51,"context_line":"        :returns: An instance of novaclient.base.DictWithMeta"},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":"        return self._get(\u0027/servers/%s/migrations/%s\u0027 %"},{"line_number":54,"context_line":"                         (base.getid(server), base.getid(migration)),"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aed3d3a_2d81c18f","line":51,"range":{"start_line":51,"start_character":33,"end_line":51,"end_character":61},"updated":"2016-03-01 01:52:33.000000000","message":"no longer novaclient.base.DictWithMeta.\n\nwill update it.","commit_id":"9743222b10bc56739bb5f9bce4318fcfee82a768"}],"novaclient/v2/shell.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":3849,"context_line":""},{"line_number":3850,"context_line":"@api_versions.wraps(\"2.23\")"},{"line_number":3851,"context_line":"@cliutils.arg(\u0027server\u0027, metavar\u003d\u0027\u003cserver\u003e\u0027, help\u003d_(\u0027Name or ID of server.\u0027))"},{"line_number":3852,"context_line":"def do_list_migrations(cs, args):"},{"line_number":3853,"context_line":"    \"\"\"Get the migrations list of spicified server.\"\"\""},{"line_number":3854,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3855,"context_line":"    cs.server_migrations.list_migrations(server)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_2c043a48","line":3852,"range":{"start_line":3852,"start_character":4,"end_line":3852,"end_character":22},"updated":"2016-02-17 16:33:16.000000000","message":"\"do_migration_list\" has the same name format(do_\u003cRESOURCE_NAME\u003e_\u003cACTION_NAME\u003e) as other commands","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":3852,"context_line":"def do_list_migrations(cs, args):"},{"line_number":3853,"context_line":"    \"\"\"Get the migrations list of spicified server.\"\"\""},{"line_number":3854,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3855,"context_line":"    cs.server_migrations.list_migrations(server)"},{"line_number":3856,"context_line":""},{"line_number":3857,"context_line":""},{"line_number":3858,"context_line":"@api_versions.wraps(\"2.23\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_ac2cca02","line":3855,"range":{"start_line":3855,"start_character":4,"end_line":3855,"end_character":48},"updated":"2016-02-17 16:33:16.000000000","message":"you should print something:)\n\n    migrations \u003d cs.server_migra...\n    utils.print_list(migrations, [\"Column Name 1\", \"Column Name 2\"])\n\nNOTE: column names will automaticaly transformed to \"\".lower().replace(\" \", \"_\") and this transformed name will be used as a attribute name of ServerMigration resource","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":3858,"context_line":"@api_versions.wraps(\"2.23\")"},{"line_number":3859,"context_line":"@cliutils.arg(\u0027server\u0027, metavar\u003d\u0027\u003cserver\u003e\u0027, help\u003d_(\u0027Name or ID of server.\u0027))"},{"line_number":3860,"context_line":"@cliutils.arg(\u0027migration\u0027, metavar\u003d\u0027\u003cmigration\u003e\u0027, help\u003d_(\u0027ID of migration.\u0027))"},{"line_number":3861,"context_line":"def do_get_migration(cs, args):"},{"line_number":3862,"context_line":"    \"\"\"Get the migration of spicified server.\"\"\""},{"line_number":3863,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3864,"context_line":"    cs.server_migrations.get_migration(server, args.migration)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_4cf7fe58","line":3861,"range":{"start_line":3861,"start_character":4,"end_line":3861,"end_character":20},"updated":"2016-02-17 16:33:16.000000000","message":"Same here - do_migration_show","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"23c076b30c0666b73affc77bda77b3f84fe9487b","unresolved":false,"context_lines":[{"line_number":3861,"context_line":"def do_get_migration(cs, args):"},{"line_number":3862,"context_line":"    \"\"\"Get the migration of spicified server.\"\"\""},{"line_number":3863,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3864,"context_line":"    cs.server_migrations.get_migration(server, args.migration)"},{"line_number":3865,"context_line":""},{"line_number":3866,"context_line":""},{"line_number":3867,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_6ca80221","line":3864,"updated":"2016-02-17 16:33:16.000000000","message":"Something like:\n\n    migration \u003d ...\n    utils.print_dict(migration)","commit_id":"bd9f39c87b90b94fbc1926633cd3fbbd84e46455"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"87468a5cc9121672d300da02284f2832a46dac4d","unresolved":false,"context_lines":[{"line_number":3855,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3856,"context_line":""},{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_724904b7","line":3858,"range":{"start_line":3858,"start_character":38,"end_line":3858,"end_character":49},"updated":"2016-02-23 12:44:11.000000000","message":"I have a feeling that it should be called Instance UUID","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"8c16d06ebf4a25cc60ab1d0be6706f757aa9828b","unresolved":false,"context_lines":[{"line_number":3855,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3856,"context_line":""},{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_d8d3c6d3","line":3858,"range":{"start_line":3858,"start_character":38,"end_line":3858,"end_character":49},"in_reply_to":"bae84128_724904b7","updated":"2016-02-23 15:25:40.000000000","message":"what on earth, Server or Instance?","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"3a82d672f49135d76b8355ee0e605a94273bbbcd","unresolved":false,"context_lines":[{"line_number":3855,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3856,"context_line":""},{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_cf8d97d4","line":3858,"range":{"start_line":3858,"start_character":38,"end_line":3858,"end_character":49},"in_reply_to":"bae84128_d8d3c6d3","updated":"2016-02-24 07:52:57.000000000","message":"To be clear, both are fine, you can keep \"Server UUID\", its just my personal feeling.","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"87468a5cc9121672d300da02284f2832a46dac4d","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_95b75239","line":3860,"range":{"start_line":3860,"start_character":36,"end_line":3860,"end_character":50},"updated":"2016-02-23 12:44:11.000000000","message":"Processed Memory","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"87468a5cc9121672d300da02284f2832a46dac4d","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_d5839a54","line":3860,"range":{"start_line":3860,"start_character":54,"end_line":3860,"end_character":67},"updated":"2016-02-23 12:44:11.000000000","message":"Remaining Memory","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"31e21678a96d79fab06a00dc3982bbb3f57be8c5","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_252dcd46","line":3860,"range":{"start_line":3860,"start_character":36,"end_line":3860,"end_character":50},"in_reply_to":"bae84128_95b75239","updated":"2016-02-26 18:08:39.000000000","message":"Done","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"31e21678a96d79fab06a00dc3982bbb3f57be8c5","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_0530899d","line":3860,"range":{"start_line":3860,"start_character":54,"end_line":3860,"end_character":67},"in_reply_to":"bae84128_d5839a54","updated":"2016-02-26 18:08:39.000000000","message":"Done","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"87468a5cc9121672d300da02284f2832a46dac4d","unresolved":false,"context_lines":[{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""},{"line_number":3864,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_157a2277","line":3861,"range":{"start_line":3861,"start_character":34,"end_line":3861,"end_character":46},"updated":"2016-02-23 12:44:11.000000000","message":"Processed Disk","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"87468a5cc9121672d300da02284f2832a46dac4d","unresolved":false,"context_lines":[{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""},{"line_number":3864,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_3595a686","line":3861,"range":{"start_line":3861,"start_character":50,"end_line":3861,"end_character":61},"updated":"2016-02-23 12:44:11.000000000","message":"Remaining Disk","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"31e21678a96d79fab06a00dc3982bbb3f57be8c5","unresolved":false,"context_lines":[{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""},{"line_number":3864,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_6527d564","line":3861,"range":{"start_line":3861,"start_character":34,"end_line":3861,"end_character":46},"in_reply_to":"bae84128_157a2277","updated":"2016-02-26 18:08:39.000000000","message":"Done","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"31e21678a96d79fab06a00dc3982bbb3f57be8c5","unresolved":false,"context_lines":[{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Process Memory\", \"Remain Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Process Disk\", \"Remain Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""},{"line_number":3864,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_a521dd4f","line":3861,"range":{"start_line":3861,"start_character":50,"end_line":3861,"end_character":61},"in_reply_to":"bae84128_3595a686","updated":"2016-02-26 18:08:39.000000000","message":"Done","commit_id":"30c52103fe4d28062a3d6a28376c0d36f71e8bd1"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"794a41a1ca96014c2c60cd16a6291572c3cc519e","unresolved":false,"context_lines":[{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Processed Memory\", \"Remaining Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Processed Disk\", \"Remaining Disk\","},{"line_number":3862,"context_line":"                   \"Old Flavor\", \"New Flavor\"]"},{"line_number":3863,"context_line":""},{"line_number":3864,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","},{"line_number":3865,"context_line":"                  \"disk_total\", \"disk_processed\", \"disk_remaining\","}],"source_content_type":"text/x-python","patch_set":6,"id":"9aed3d3a_c71f8906","line":3862,"range":{"start_line":3862,"start_character":19,"end_line":3862,"end_character":45},"updated":"2016-02-29 09:39:08.000000000","message":"remove \"Old Flavor\" and \"New Flavor\"","commit_id":"3c6a3097a4adb91366d969657b941c56852eab7d"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"3646d629185a8c360f21d954e1d0f4696df2180e","unresolved":false,"context_lines":[{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Processed Memory\", \"Remaining Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Processed Disk\", \"Remaining Disk\"]"},{"line_number":3862,"context_line":""},{"line_number":3863,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","},{"line_number":3864,"context_line":"                  \"disk_total\", \"disk_processed\", \"disk_remaining\"]"},{"line_number":3865,"context_line":""},{"line_number":3866,"context_line":"    formatters \u003d map(lambda field: utils._make_field_formatter(field)[1],"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aed3d3a_c76ca937","line":3863,"range":{"start_line":3863,"start_character":19,"end_line":3863,"end_character":31},"updated":"2016-02-29 09:46:28.000000000","message":".*_bytes","commit_id":"0fd276e1a354c3c3b2234f19361e41f04ca9d74d"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"253ddfd4f5c50daab8b76027845f76fd894db51f","unresolved":false,"context_lines":[{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Processed Memory\", \"Remaining Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Processed Disk\", \"Remaining Disk\"]"},{"line_number":3862,"context_line":""},{"line_number":3863,"context_line":"    format_key \u003d [\"memory_total\", \"memory_processed\", \"memory_remaining\","},{"line_number":3864,"context_line":"                  \"disk_total\", \"disk_processed\", \"disk_remaining\"]"},{"line_number":3865,"context_line":""},{"line_number":3866,"context_line":"    formatters \u003d map(lambda field: utils._make_field_formatter(field)[1],"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aed3d3a_9dfcae73","line":3863,"range":{"start_line":3863,"start_character":19,"end_line":3863,"end_character":31},"in_reply_to":"9aed3d3a_c76ca937","updated":"2016-02-29 10:24:49.000000000","message":"Good catch","commit_id":"0fd276e1a354c3c3b2234f19361e41f04ca9d74d"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"62cc70682e29fe258352f8783b98a88f08ce03a0","unresolved":false,"context_lines":[{"line_number":3878,"context_line":"    \"\"\"Get the migration of spicified server.\"\"\""},{"line_number":3879,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3880,"context_line":"    migration \u003d cs.server_migrations.get(server, args.migration)"},{"line_number":3881,"context_line":"    utils.print_dict(migration)"},{"line_number":3882,"context_line":""},{"line_number":3883,"context_line":""},{"line_number":3884,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_0a985177","line":3881,"range":{"start_line":3881,"start_character":21,"end_line":3881,"end_character":30},"updated":"2016-02-29 11:32:43.000000000","message":"Migration details are now nested in dictionary:\n{\"migration\": {...}}\nThis code will not work, or, it will work, but the table will be corrupted","commit_id":"aff225aa4d0aacd8fec124b66dea1cffa335509c"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"a355859b240037fca80b342b3a7695ec4e6fcaf0","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"    fields \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027, \u0027Dest Compute\u0027,"},{"line_number":3858,"context_line":"              \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027, \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3859,"context_line":""},{"line_number":3860,"context_line":"    format_name \u003d [\"Total Memory\", \"Processed Memory\", \"Remaining Memory\","},{"line_number":3861,"context_line":"                   \"Total Disk\", \"Processed Disk\", \"Remaining Disk\"]"},{"line_number":3862,"context_line":""},{"line_number":3863,"context_line":"    format_key \u003d [\"memory_total_bytes\", \"memory_processed_bytes\","},{"line_number":3864,"context_line":"                  \"memory_remaining_bytes\", \"disk_total_bytes\","}],"source_content_type":"text/x-python","patch_set":11,"id":"9aed3d3a_c3759d98","line":3861,"range":{"start_line":3860,"start_character":19,"end_line":3861,"end_character":67},"updated":"2016-02-29 18:06:12.000000000","message":"This probably should include unit, so operator is aware what it really means","commit_id":"29ce8bac292de31c95cbe6aeaea3d42f4b7391f2"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"dfdb2297754f2f46ed39ada623f0caa4076e4fc0","unresolved":false,"context_lines":[{"line_number":3850,"context_line":"@api_versions.wraps(\"2.23\")"},{"line_number":3851,"context_line":"@cliutils.arg(\u0027server\u0027, metavar\u003d\u0027\u003cserver\u003e\u0027, help\u003d_(\u0027Name or ID of server.\u0027))"},{"line_number":3852,"context_line":"def do_server_migration_list(cs, args):"},{"line_number":3853,"context_line":"    \"\"\"Get the migrations list of spicified server.\"\"\""},{"line_number":3854,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3855,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3856,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7af24918_4dd165fb","line":3853,"range":{"start_line":3853,"start_character":34,"end_line":3853,"end_character":43},"updated":"2016-03-01 12:05:12.000000000","message":"nit:s/spicified/specified","commit_id":"967b756d35489cded253990dc5cce7dde3fde021"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"a2bd9409efdb35793f3779f22a25fc129878ee4e","unresolved":false,"context_lines":[{"line_number":3850,"context_line":"@api_versions.wraps(\"2.23\")"},{"line_number":3851,"context_line":"@cliutils.arg(\u0027server\u0027, metavar\u003d\u0027\u003cserver\u003e\u0027, help\u003d_(\u0027Name or ID of server.\u0027))"},{"line_number":3852,"context_line":"def do_server_migration_list(cs, args):"},{"line_number":3853,"context_line":"    \"\"\"Get the migrations list of spicified server.\"\"\""},{"line_number":3854,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3855,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3856,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7af24918_f3ce52b3","line":3853,"range":{"start_line":3853,"start_character":34,"end_line":3853,"end_character":43},"in_reply_to":"7af24918_4dd165fb","updated":"2016-03-01 12:28:29.000000000","message":"Done","commit_id":"967b756d35489cded253990dc5cce7dde3fde021"}]}
