)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"24bb53b9b74fd8a59bd121340225797da6c11d3e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add ``user_id`` and ``project_id`` to the ``GET /os-migrations``"},{"line_number":10,"context_line":"API, and it can called ``--user-id \u003cuser_id\u003e`` and/or"},{"line_number":11,"context_line":"``--project-id \u003cproject_id\u003e`` by ``nova migration-list`` CLI."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":14,"context_line":"Change-Id: I11343ca265ab2b6b6f46877897d8223ef340c258"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5faad753_f0c0162d","line":12,"updated":"2019-09-10 06:12:00.000000000","message":"Depends-On: https://review.opendev.org/#/c/674243/","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add ``user_id`` and ``project_id`` to the ``GET /os-migrations``"},{"line_number":10,"context_line":"API, and it can called ``--user-id \u003cuser_id\u003e`` and/or"},{"line_number":11,"context_line":"``--project-id \u003cproject_id\u003e`` by ``nova migration-list`` CLI."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":14,"context_line":"Change-Id: I11343ca265ab2b6b6f46877897d8223ef340c258"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5faad753_075fb20e","line":12,"in_reply_to":"5faad753_f0c0162d","updated":"2019-09-10 09:35:28.000000000","message":"Done","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add ``user_id`` and ``project_id`` to the ``GET /os-migrations``"},{"line_number":10,"context_line":"API, and it can called ``--user-id \u003cuser_id\u003e`` and/or"},{"line_number":11,"context_line":"``--project-id \u003cproject_id\u003e`` by ``nova migration-list`` CLI."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/#/c/674243/"},{"line_number":14,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3fa7e38b_23cd81b6","line":12,"updated":"2019-10-14 15:53:20.000000000","message":"What about showing the user_id and project_id when using \u003e\u003d2.80 with the server-migration-list or server-migration-show APIs?","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add ``user_id`` and ``project_id`` to the ``GET /os-migrations``"},{"line_number":10,"context_line":"API, and it can called ``--user-id \u003cuser_id\u003e`` and/or"},{"line_number":11,"context_line":"``--project-id \u003cproject_id\u003e`` by ``nova migration-list`` CLI."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/#/c/674243/"},{"line_number":14,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3fa7e38b_f4eab60c","line":12,"in_reply_to":"3fa7e38b_23cd81b6","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d6be0340d0da3c78d0007d013b85594904984877","unresolved":false,"context_lines":[{"line_number":11,"context_line":"``--project-id \u003cproject_id\u003e`` by ``nova migration-list`` CLI."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Showing the ``user_id`` and ``project_id`` when using api_version\u003e\u003d2.80"},{"line_number":14,"context_line":"with the server-migration-list or server-migration-show APIs."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Depends-On: https://review.opendev.org/#/c/674243/"},{"line_number":17,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"3fa7e38b_7569ce22","line":14,"range":{"start_line":14,"start_character":56,"end_line":14,"end_character":60},"updated":"2019-10-16 05:56:58.000000000","message":"CLIs","commit_id":"f0ed6b6ae823e9ab9fae0ceffa126204d00cac0e"}],"doc/source/cli/nova.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":2568,"context_line":"                              [--limit \u003climit\u003e]"},{"line_number":2569,"context_line":"                              [--changes-since \u003cchanges_since\u003e]"},{"line_number":2570,"context_line":"                              [--changes-before \u003cchanges_before\u003e]"},{"line_number":2571,"context_line":"                              [--project-id \u003cproject_id\u003e] [--user-id \u003cuser_id\u003e]"},{"line_number":2572,"context_line":""},{"line_number":2573,"context_line":"Print a list of migrations."},{"line_number":2574,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fa7e38b_83bd5503","line":2571,"range":{"start_line":2571,"start_character":58,"end_line":2571,"end_character":79},"updated":"2019-10-14 15:53:20.000000000","message":"Put this on its own line since that is the pattern here.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":2568,"context_line":"                              [--limit \u003climit\u003e]"},{"line_number":2569,"context_line":"                              [--changes-since \u003cchanges_since\u003e]"},{"line_number":2570,"context_line":"                              [--changes-before \u003cchanges_before\u003e]"},{"line_number":2571,"context_line":"                              [--project-id \u003cproject_id\u003e] [--user-id \u003cuser_id\u003e]"},{"line_number":2572,"context_line":""},{"line_number":2573,"context_line":"Print a list of migrations."},{"line_number":2574,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fa7e38b_34528edf","line":2571,"range":{"start_line":2571,"start_character":58,"end_line":2571,"end_character":79},"in_reply_to":"3fa7e38b_83bd5503","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":2624,"context_line":"  e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)"},{"line_number":2625,"context_line":""},{"line_number":2626,"context_line":"``--project-id \u003cproject_id\u003e``"},{"line_number":2627,"context_line":"  Fetch migrations for the given project."},{"line_number":2628,"context_line":"  (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":2629,"context_line":""},{"line_number":2630,"context_line":"``--user-id \u003cuser_id\u003e``"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fa7e38b_4362fdaf","line":2627,"updated":"2019-10-14 15:53:20.000000000","message":"Use the same description as the API reference:\n\n\"Filter the migrations by the given project ID.\"","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":2624,"context_line":"  e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)"},{"line_number":2625,"context_line":""},{"line_number":2626,"context_line":"``--project-id \u003cproject_id\u003e``"},{"line_number":2627,"context_line":"  Fetch migrations for the given project."},{"line_number":2628,"context_line":"  (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":2629,"context_line":""},{"line_number":2630,"context_line":"``--user-id \u003cuser_id\u003e``"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fa7e38b_f46156aa","line":2627,"in_reply_to":"3fa7e38b_4362fdaf","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":2628,"context_line":"  (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":2629,"context_line":""},{"line_number":2630,"context_line":"``--user-id \u003cuser_id\u003e``"},{"line_number":2631,"context_line":"  Fetch migrations for the given operator."},{"line_number":2632,"context_line":"  (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":2633,"context_line":""},{"line_number":2634,"context_line":".. _nova_pause:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fa7e38b_a34df13b","line":2631,"range":{"start_line":2631,"start_character":33,"end_line":2631,"end_character":41},"updated":"2019-10-14 15:53:20.000000000","message":"This is making assumptions and mixing words (the API defaults to admin and we usually say admin but because of policy it doesn\u0027t necessarily have to be an admin, e.g. a user can resize their server and generate a migration record).\n\nJust use the same description as in the API reference:\n\n\"Filter the migrations by the given user ID.\"","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":2628,"context_line":"  (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":2629,"context_line":""},{"line_number":2630,"context_line":"``--user-id \u003cuser_id\u003e``"},{"line_number":2631,"context_line":"  Fetch migrations for the given operator."},{"line_number":2632,"context_line":"  (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":2633,"context_line":""},{"line_number":2634,"context_line":".. _nova_pause:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fa7e38b_d45a1af0","line":2631,"range":{"start_line":2631,"start_character":33,"end_line":2631,"end_character":41},"in_reply_to":"3fa7e38b_a34df13b","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f9dc7bd843ba4d4ca343755c5c843a19015b4717","unresolved":false,"context_lines":[{"line_number":3182,"context_line":"Get the migrations list of specified server. (Supported by API versions \u00272.23\u0027"},{"line_number":3183,"context_line":"- \u00272.latest\u0027) [hint: use \u0027--os-compute-api-version\u0027 flag to show help message"},{"line_number":3184,"context_line":"for proper version]"},{"line_number":3185,"context_line":""},{"line_number":3186,"context_line":".. versionadded:: 3.3.0"},{"line_number":3187,"context_line":""},{"line_number":3188,"context_line":"**Positional arguments:**"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_2c422c3f","line":3185,"updated":"2019-10-16 14:08:53.000000000","message":"I\u0027m not sure if there is value in mentioning that --os-compute-api-version 2.80 or greater can be used to show the project id and user id for each migration.","commit_id":"8744bea0e3ebe5bc4d0d899189bfa0bcdcb0a08f"}],"novaclient/tests/unit/v2/fakes.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":2442,"context_line":"    def post_servers_1234_migrations_1_action(self, body):"},{"line_number":2443,"context_line":"        return (202, {}, None)"},{"line_number":2444,"context_line":""},{"line_number":2445,"context_line":"    @api_versions.wraps(start_version\u003d\"2.23\")"},{"line_number":2446,"context_line":"    def get_servers_1234_migrations_1(self, **kw):"},{"line_number":2447,"context_line":"        migration \u003d {\"migration\": {"},{"line_number":2448,"context_line":"            \"created_at\": \"2016-01-29T13:42:02.000000\","},{"line_number":2449,"context_line":"            \"dest_compute\": \"compute2\","},{"line_number":2450,"context_line":"            \"dest_host\": \"1.2.3.4\","},{"line_number":2451,"context_line":"            \"dest_node\": \"node2\","},{"line_number":2452,"context_line":"            \"id\": 1,"},{"line_number":2453,"context_line":"            \"server_uuid\": \"4cfba335-03d8-49b2-8c52-e69043d1e8fe\","},{"line_number":2454,"context_line":"            \"source_compute\": \"compute1\","},{"line_number":2455,"context_line":"            \"source_node\": \"node1\","},{"line_number":2456,"context_line":"            \"status\": \"running\","},{"line_number":2457,"context_line":"            \"memory_total_bytes\": 123456,"},{"line_number":2458,"context_line":"            \"memory_processed_bytes\": 12345,"},{"line_number":2459,"context_line":"            \"memory_remaining_bytes\": 120000,"},{"line_number":2460,"context_line":"            \"disk_total_bytes\": 234567,"},{"line_number":2461,"context_line":"            \"disk_processed_bytes\": 23456,"},{"line_number":2462,"context_line":"            \"disk_remaining_bytes\": 230000,"},{"line_number":2463,"context_line":"            \"updated_at\": \"2016-01-29T13:42:02.000000\""},{"line_number":2464,"context_line":"        }}"},{"line_number":2465,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migration)"},{"line_number":2466,"context_line":""},{"line_number":2467,"context_line":"    @api_versions.wraps(start_version\u003d\"2.23\")"},{"line_number":2468,"context_line":"    def get_servers_1234_migrations(self, **kw):"},{"line_number":2469,"context_line":"        migrations \u003d {\u0027migrations\u0027: ["},{"line_number":2470,"context_line":"            {"},{"line_number":2471,"context_line":"                \"created_at\": \"2016-01-29T13:42:02.000000\","},{"line_number":2472,"context_line":"                \"dest_compute\": \"compute2\","},{"line_number":2473,"context_line":"                \"dest_host\": \"1.2.3.4\","},{"line_number":2474,"context_line":"                \"dest_node\": \"node2\","},{"line_number":2475,"context_line":"                \"id\": 1,"},{"line_number":2476,"context_line":"                \"server_uuid\": \"4cfba335-03d8-49b2-8c52-e69043d1e8fe\","},{"line_number":2477,"context_line":"                \"source_compute\": \"compute1\","},{"line_number":2478,"context_line":"                \"source_node\": \"node1\","},{"line_number":2479,"context_line":"                \"status\": \"running\","},{"line_number":2480,"context_line":"                \"memory_total_bytes\": 123456,"},{"line_number":2481,"context_line":"                \"memory_processed_bytes\": 12345,"},{"line_number":2482,"context_line":"                \"memory_remaining_bytes\": 120000,"},{"line_number":2483,"context_line":"                \"disk_total_bytes\": 234567,"},{"line_number":2484,"context_line":"                \"disk_processed_bytes\": 23456,"},{"line_number":2485,"context_line":"                \"disk_remaining_bytes\": 230000,"},{"line_number":2486,"context_line":"                \"updated_at\": \"2016-01-29T13:42:02.000000\""},{"line_number":2487,"context_line":"            }]}"},{"line_number":2488,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migrations)"},{"line_number":2489,"context_line":""},{"line_number":2490,"context_line":"    def delete_servers_1234_migrations_1(self):"},{"line_number":2491,"context_line":"        return (202, {}, None)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_e370c974","line":2488,"range":{"start_line":2445,"start_character":0,"end_line":2488,"end_character":55},"updated":"2019-10-14 15:53:20.000000000","message":"Why wouldn\u0027t these also be updated for 2.80?","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":2442,"context_line":"    def post_servers_1234_migrations_1_action(self, body):"},{"line_number":2443,"context_line":"        return (202, {}, None)"},{"line_number":2444,"context_line":""},{"line_number":2445,"context_line":"    @api_versions.wraps(start_version\u003d\"2.23\")"},{"line_number":2446,"context_line":"    def get_servers_1234_migrations_1(self, **kw):"},{"line_number":2447,"context_line":"        migration \u003d {\"migration\": {"},{"line_number":2448,"context_line":"            \"created_at\": \"2016-01-29T13:42:02.000000\","},{"line_number":2449,"context_line":"            \"dest_compute\": \"compute2\","},{"line_number":2450,"context_line":"            \"dest_host\": \"1.2.3.4\","},{"line_number":2451,"context_line":"            \"dest_node\": \"node2\","},{"line_number":2452,"context_line":"            \"id\": 1,"},{"line_number":2453,"context_line":"            \"server_uuid\": \"4cfba335-03d8-49b2-8c52-e69043d1e8fe\","},{"line_number":2454,"context_line":"            \"source_compute\": \"compute1\","},{"line_number":2455,"context_line":"            \"source_node\": \"node1\","},{"line_number":2456,"context_line":"            \"status\": \"running\","},{"line_number":2457,"context_line":"            \"memory_total_bytes\": 123456,"},{"line_number":2458,"context_line":"            \"memory_processed_bytes\": 12345,"},{"line_number":2459,"context_line":"            \"memory_remaining_bytes\": 120000,"},{"line_number":2460,"context_line":"            \"disk_total_bytes\": 234567,"},{"line_number":2461,"context_line":"            \"disk_processed_bytes\": 23456,"},{"line_number":2462,"context_line":"            \"disk_remaining_bytes\": 230000,"},{"line_number":2463,"context_line":"            \"updated_at\": \"2016-01-29T13:42:02.000000\""},{"line_number":2464,"context_line":"        }}"},{"line_number":2465,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migration)"},{"line_number":2466,"context_line":""},{"line_number":2467,"context_line":"    @api_versions.wraps(start_version\u003d\"2.23\")"},{"line_number":2468,"context_line":"    def get_servers_1234_migrations(self, **kw):"},{"line_number":2469,"context_line":"        migrations \u003d {\u0027migrations\u0027: ["},{"line_number":2470,"context_line":"            {"},{"line_number":2471,"context_line":"                \"created_at\": \"2016-01-29T13:42:02.000000\","},{"line_number":2472,"context_line":"                \"dest_compute\": \"compute2\","},{"line_number":2473,"context_line":"                \"dest_host\": \"1.2.3.4\","},{"line_number":2474,"context_line":"                \"dest_node\": \"node2\","},{"line_number":2475,"context_line":"                \"id\": 1,"},{"line_number":2476,"context_line":"                \"server_uuid\": \"4cfba335-03d8-49b2-8c52-e69043d1e8fe\","},{"line_number":2477,"context_line":"                \"source_compute\": \"compute1\","},{"line_number":2478,"context_line":"                \"source_node\": \"node1\","},{"line_number":2479,"context_line":"                \"status\": \"running\","},{"line_number":2480,"context_line":"                \"memory_total_bytes\": 123456,"},{"line_number":2481,"context_line":"                \"memory_processed_bytes\": 12345,"},{"line_number":2482,"context_line":"                \"memory_remaining_bytes\": 120000,"},{"line_number":2483,"context_line":"                \"disk_total_bytes\": 234567,"},{"line_number":2484,"context_line":"                \"disk_processed_bytes\": 23456,"},{"line_number":2485,"context_line":"                \"disk_remaining_bytes\": 230000,"},{"line_number":2486,"context_line":"                \"updated_at\": \"2016-01-29T13:42:02.000000\""},{"line_number":2487,"context_line":"            }]}"},{"line_number":2488,"context_line":"        return (200, FAKE_RESPONSE_HEADERS, migrations)"},{"line_number":2489,"context_line":""},{"line_number":2490,"context_line":"    def delete_servers_1234_migrations_1(self):"},{"line_number":2491,"context_line":"        return (202, {}, None)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_c2cc9cbc","line":2488,"range":{"start_line":2445,"start_character":0,"end_line":2488,"end_character":55},"in_reply_to":"3fa7e38b_e370c974","updated":"2019-10-15 06:01:54.000000000","message":"Add the user_id/project_id to the migrations while the request api version \u003e\u003d2.80.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"}],"novaclient/tests/unit/v2/test_migrations.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"24bb53b9b74fd8a59bd121340225797da6c11d3e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                              \u0027/os-migrations?project_id\u003d%s\u0026user_id\u003d%s\u0027"},{"line_number":149,"context_line":"                              % (project_id, user_id))"},{"line_number":150,"context_line":"        for m in ms:"},{"line_number":151,"context_line":"            self.assertIsInstance(m, migrations.Migration)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_b3794894","line":151,"updated":"2019-09-10 06:12:00.000000000","message":"Add microversion 2.79 tests asserting TypeError with user_id or project_id.","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                              \u0027/os-migrations?project_id\u003d%s\u0026user_id\u003d%s\u0027"},{"line_number":149,"context_line":"                              % (project_id, user_id))"},{"line_number":150,"context_line":"        for m in ms:"},{"line_number":151,"context_line":"            self.assertIsInstance(m, migrations.Migration)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_6184560d","line":151,"in_reply_to":"5faad753_b3794894","updated":"2019-09-10 09:35:28.000000000","message":"Done","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"}],"novaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"24bb53b9b74fd8a59bd121340225797da6c11d3e","unresolved":false,"context_lines":[{"line_number":4052,"context_line":"        self.assertRaises(SystemExit, self.run_command, cmd,"},{"line_number":4053,"context_line":"                          api_version\u003d\u00272.65\u0027)"},{"line_number":4054,"context_line":""},{"line_number":4055,"context_line":"    def test_migration_list_with_user_id_v280(self):"},{"line_number":4056,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"},{"line_number":4057,"context_line":"        self.run_command(\u0027migration-list --user-id %s\u0027 % user_id,"},{"line_number":4058,"context_line":"                         api_version\u003d\u00272.80\u0027)"},{"line_number":4059,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?user_id\u003d%s\u0027 % user_id)"},{"line_number":4060,"context_line":""},{"line_number":4061,"context_line":"    def test_migration_list_with_project_id_v280(self):"},{"line_number":4062,"context_line":"        project_id \u003d \u0027b59c18e5-fa28-4fd3-8498-7c5cb25a1853\u0027"},{"line_number":4063,"context_line":"        self.run_command(\u0027migration-list --project-id %s\u0027 % project_id,"},{"line_number":4064,"context_line":"                         api_version\u003d\u00272.80\u0027)"},{"line_number":4065,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?project_id\u003d%s\u0027 % project_id)"},{"line_number":4066,"context_line":""},{"line_number":4067,"context_line":"    def test_migration_list_with_user_and_project_id_v280(self):"},{"line_number":4068,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"},{"line_number":4069,"context_line":"        project_id \u003d \u0027b59c18e5-fa28-4fd3-8498-7c5cb25a1853\u0027"},{"line_number":4070,"context_line":"        self.run_command(\u0027migration-list --project-id %(project_id)s \u0027"},{"line_number":4071,"context_line":"                         \u0027--user-id %(user_id)s\u0027"},{"line_number":4072,"context_line":"                         % {\u0027user_id\u0027: user_id, \u0027project_id\u0027: project_id},"},{"line_number":4073,"context_line":"                         api_version\u003d\u00272.80\u0027)"},{"line_number":4074,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?project_id\u003d%s\u0026user_id\u003d%s\u0027"},{"line_number":4075,"context_line":"                           % (project_id, user_id))"},{"line_number":4076,"context_line":""},{"line_number":4077,"context_line":"    def test_migration_list_with_user_id_pre_v280_not_allowed(self):"},{"line_number":4078,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_d3e64445","line":4075,"range":{"start_line":4055,"start_character":0,"end_line":4075,"end_character":51},"updated":"2019-09-10 06:12:00.000000000","message":"Assert whether the output has \u0027Project ID\u0027 and/or \u0027User ID\u0027 columns.","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":4052,"context_line":"        self.assertRaises(SystemExit, self.run_command, cmd,"},{"line_number":4053,"context_line":"                          api_version\u003d\u00272.65\u0027)"},{"line_number":4054,"context_line":""},{"line_number":4055,"context_line":"    def test_migration_list_with_user_id_v280(self):"},{"line_number":4056,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"},{"line_number":4057,"context_line":"        self.run_command(\u0027migration-list --user-id %s\u0027 % user_id,"},{"line_number":4058,"context_line":"                         api_version\u003d\u00272.80\u0027)"},{"line_number":4059,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?user_id\u003d%s\u0027 % user_id)"},{"line_number":4060,"context_line":""},{"line_number":4061,"context_line":"    def test_migration_list_with_project_id_v280(self):"},{"line_number":4062,"context_line":"        project_id \u003d \u0027b59c18e5-fa28-4fd3-8498-7c5cb25a1853\u0027"},{"line_number":4063,"context_line":"        self.run_command(\u0027migration-list --project-id %s\u0027 % project_id,"},{"line_number":4064,"context_line":"                         api_version\u003d\u00272.80\u0027)"},{"line_number":4065,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?project_id\u003d%s\u0027 % project_id)"},{"line_number":4066,"context_line":""},{"line_number":4067,"context_line":"    def test_migration_list_with_user_and_project_id_v280(self):"},{"line_number":4068,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"},{"line_number":4069,"context_line":"        project_id \u003d \u0027b59c18e5-fa28-4fd3-8498-7c5cb25a1853\u0027"},{"line_number":4070,"context_line":"        self.run_command(\u0027migration-list --project-id %(project_id)s \u0027"},{"line_number":4071,"context_line":"                         \u0027--user-id %(user_id)s\u0027"},{"line_number":4072,"context_line":"                         % {\u0027user_id\u0027: user_id, \u0027project_id\u0027: project_id},"},{"line_number":4073,"context_line":"                         api_version\u003d\u00272.80\u0027)"},{"line_number":4074,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?project_id\u003d%s\u0026user_id\u003d%s\u0027"},{"line_number":4075,"context_line":"                           % (project_id, user_id))"},{"line_number":4076,"context_line":""},{"line_number":4077,"context_line":"    def test_migration_list_with_user_id_pre_v280_not_allowed(self):"},{"line_number":4078,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_41f59a82","line":4075,"range":{"start_line":4055,"start_character":0,"end_line":4075,"end_character":51},"in_reply_to":"5faad753_d3e64445","updated":"2019-09-10 09:35:28.000000000","message":"Done","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"af0779a62f875328f537df12a6970eb97ac6ab94","unresolved":false,"context_lines":[{"line_number":4075,"context_line":"                           % (project_id, user_id))"},{"line_number":4076,"context_line":""},{"line_number":4077,"context_line":"    def test_migration_list_with_user_id_pre_v280_not_allowed(self):"},{"line_number":4078,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"},{"line_number":4079,"context_line":"        cmd \u003d \u0027migration-list --user-id %s\u0027 % user_id"},{"line_number":4080,"context_line":"        self.assertRaises(SystemExit, self.run_command, cmd,"},{"line_number":4081,"context_line":"                          api_version\u003d\u00272.79\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_73ed108a","line":4078,"range":{"start_line":4078,"start_character":19,"end_line":4078,"end_character":55},"updated":"2019-09-10 06:43:01.000000000","message":"It is different from a real format.\n\n  stack@devstack-master:/opt/devstack$ openstack project list\n  +----------------------------------+--------------------+\n  | ID                               | Name               |\n  +----------------------------------+--------------------+\n  | 16e47454602a4423a8381ed09d49c639 | admin              |\n  | 40210503854a410ea4a730d58f0987ab | service            |\n  | 9eb901dc0cb74ea1a95c82ed3df05872 | demo               |\n  | ad14b6cb1e0e463f9fce3fcf938243a9 | invisible_to_admin |\n  | fd9f84da8a4948c781ae79b215c8a91b | alt_demo           |\n  +----------------------------------+--------------------+\n  stack@devstack-master:/opt/devstack$ openstack user list\n  +----------------------------------+-----------+\n  | ID                               | Name      |\n  +----------------------------------+-----------+\n  | fa566f5b9fc34b46bdc208e461434dcc | admin     |\n  | 5656cccfdb5e473fb420dd0078c847a9 | demo      |\n  | c9fce3d47b354a2caca859a12274e81a | alt_demo  |\n  | d921fc59471e47b9a236924c6ff6b235 | nova      |\n  | 923617dcc91d4514945d6933b26221c7 | glance    |\n  | 9908c6669dc8493d9fc6a3a13a7884c6 | cinder    |\n  | e0dffd2365ad47f99be46d2e68d2a970 | neutron   |\n  | 78d5d1db8d2b41ea9d33d4a5add3be1b | placement |\n  +----------------------------------+-----------+","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":4075,"context_line":"                           % (project_id, user_id))"},{"line_number":4076,"context_line":""},{"line_number":4077,"context_line":"    def test_migration_list_with_user_id_pre_v280_not_allowed(self):"},{"line_number":4078,"context_line":"        user_id \u003d \u002713cc0930-d27c-4be0-acc1-4d7c47a3e1f7\u0027"},{"line_number":4079,"context_line":"        cmd \u003d \u0027migration-list --user-id %s\u0027 % user_id"},{"line_number":4080,"context_line":"        self.assertRaises(SystemExit, self.run_command, cmd,"},{"line_number":4081,"context_line":"                          api_version\u003d\u00272.79\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_01e00296","line":4078,"range":{"start_line":4078,"start_character":19,"end_line":4078,"end_character":55},"in_reply_to":"5faad753_73ed108a","updated":"2019-09-10 09:35:28.000000000","message":"Done","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"24bb53b9b74fd8a59bd121340225797da6c11d3e","unresolved":false,"context_lines":[{"line_number":4085,"context_line":"        cmd \u003d \u0027migration-list --project-id %s\u0027 % project_id"},{"line_number":4086,"context_line":"        self.assertRaises(SystemExit, self.run_command, cmd,"},{"line_number":4087,"context_line":"                          api_version\u003d\u00272.79\u0027)"},{"line_number":4088,"context_line":""},{"line_number":4089,"context_line":"    @mock.patch(\u0027novaclient.v2.shell._find_server\u0027)"},{"line_number":4090,"context_line":"    @mock.patch(\u0027os.system\u0027)"},{"line_number":4091,"context_line":"    def test_ssh(self, mock_system, mock_find_server):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_93d20c5c","line":4088,"updated":"2019-09-10 06:12:00.000000000","message":"Add a microversion 2.79 test without project_id and user_id to assert that the output does not have the \u0027Project ID\u0027 and \u0027User ID\u0027 columns.","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":4085,"context_line":"        cmd \u003d \u0027migration-list --project-id %s\u0027 % project_id"},{"line_number":4086,"context_line":"        self.assertRaises(SystemExit, self.run_command, cmd,"},{"line_number":4087,"context_line":"                          api_version\u003d\u00272.79\u0027)"},{"line_number":4088,"context_line":""},{"line_number":4089,"context_line":"    @mock.patch(\u0027novaclient.v2.shell._find_server\u0027)"},{"line_number":4090,"context_line":"    @mock.patch(\u0027os.system\u0027)"},{"line_number":4091,"context_line":"    def test_ssh(self, mock_system, mock_find_server):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_c1666a2a","line":4088,"in_reply_to":"5faad753_93d20c5c","updated":"2019-09-10 09:35:28.000000000","message":"Done","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":4057,"context_line":"        out \u003d self.run_command(\u0027migration-list --user-id %s\u0027 % user_id,"},{"line_number":4058,"context_line":"                               api_version\u003d\u00272.80\u0027)[0]"},{"line_number":4059,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?user_id\u003d%s\u0027 % user_id)"},{"line_number":4060,"context_line":"        self.assertIn(\u0027User ID\u0027, out)"},{"line_number":4061,"context_line":""},{"line_number":4062,"context_line":"    def test_migration_list_with_project_id_v280(self):"},{"line_number":4063,"context_line":"        project_id \u003d \u0027b59c18e5fa284fd384987c5cb25a1853\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_43075dcb","line":4060,"updated":"2019-10-14 15:53:20.000000000","message":"Wouldn\u0027t \"Project ID\" also be in the output?","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":4057,"context_line":"        out \u003d self.run_command(\u0027migration-list --user-id %s\u0027 % user_id,"},{"line_number":4058,"context_line":"                               api_version\u003d\u00272.80\u0027)[0]"},{"line_number":4059,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?user_id\u003d%s\u0027 % user_id)"},{"line_number":4060,"context_line":"        self.assertIn(\u0027User ID\u0027, out)"},{"line_number":4061,"context_line":""},{"line_number":4062,"context_line":"    def test_migration_list_with_project_id_v280(self):"},{"line_number":4063,"context_line":"        project_id \u003d \u0027b59c18e5fa284fd384987c5cb25a1853\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_d499ba6c","line":4060,"in_reply_to":"3fa7e38b_43075dcb","updated":"2019-10-15 06:01:54.000000000","message":"Of course, \"Project ID\" also in.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":4064,"context_line":"        out \u003d self.run_command(\u0027migration-list --project-id %s\u0027 % project_id,"},{"line_number":4065,"context_line":"                               api_version\u003d\u00272.80\u0027)[0]"},{"line_number":4066,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?project_id\u003d%s\u0027 % project_id)"},{"line_number":4067,"context_line":"        self.assertIn(\u0027Project ID\u0027, out)"},{"line_number":4068,"context_line":""},{"line_number":4069,"context_line":"    def test_migration_list_with_user_and_project_id_v280(self):"},{"line_number":4070,"context_line":"        user_id \u003d \u002713cc0930d27c4be0acc14d7c47a3e1f7\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_030de5e6","line":4067,"updated":"2019-10-14 15:53:20.000000000","message":"Wouldn\u0027t \"User ID\" also be in the output?","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":4064,"context_line":"        out \u003d self.run_command(\u0027migration-list --project-id %s\u0027 % project_id,"},{"line_number":4065,"context_line":"                               api_version\u003d\u00272.80\u0027)[0]"},{"line_number":4066,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-migrations?project_id\u003d%s\u0027 % project_id)"},{"line_number":4067,"context_line":"        self.assertIn(\u0027Project ID\u0027, out)"},{"line_number":4068,"context_line":""},{"line_number":4069,"context_line":"    def test_migration_list_with_user_and_project_id_v280(self):"},{"line_number":4070,"context_line":"        user_id \u003d \u002713cc0930d27c4be0acc14d7c47a3e1f7\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_949fc24e","line":4067,"in_reply_to":"3fa7e38b_030de5e6","updated":"2019-10-15 06:01:54.000000000","message":"\"User ID\" also in.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"78614e12015a70d5771f53c4642db37213d32c22","unresolved":false,"context_lines":[{"line_number":2955,"context_line":"                         api_version\u003d\u00272.23\u0027)"},{"line_number":2956,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/1234/migrations\u0027)"},{"line_number":2957,"context_line":""},{"line_number":2958,"context_line":"    def test_list_migrations_pre_v280(self):"},{"line_number":2959,"context_line":"        out \u003d self.run_command(\u0027server-migration-list sample-server\u0027,"},{"line_number":2960,"context_line":"                               api_version\u003d\u00272.79\u0027)[0]"},{"line_number":2961,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/1234/migrations\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_71b55b7d","line":2958,"range":{"start_line":2958,"start_character":13,"end_line":2958,"end_character":28},"updated":"2019-10-16 14:02:02.000000000","message":"nit: I know this is following the name of the tests above but I\u0027d name this test_server_migration_list_* to match the command used because below we have tests that sound very similar like test_migration_list for the migration-list command.","commit_id":"f0ed6b6ae823e9ab9fae0ceffa126204d00cac0e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"78614e12015a70d5771f53c4642db37213d32c22","unresolved":false,"context_lines":[{"line_number":2974,"context_line":"                         api_version\u003d\u00272.23\u0027)"},{"line_number":2975,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/1234/migrations/1\u0027)"},{"line_number":2976,"context_line":""},{"line_number":2977,"context_line":"    def test_get_migration_pre_v280(self):"},{"line_number":2978,"context_line":"        out \u003d self.run_command(\u0027server-migration-show sample-server 1\u0027,"},{"line_number":2979,"context_line":"                               api_version\u003d\u00272.79\u0027)[0]"},{"line_number":2980,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/1234/migrations/1\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_f1a86b20","line":2977,"range":{"start_line":2977,"start_character":8,"end_line":2977,"end_character":35},"updated":"2019-10-16 14:02:02.000000000","message":"same: test_server_migration_show_*","commit_id":"f0ed6b6ae823e9ab9fae0ceffa126204d00cac0e"}],"novaclient/v2/shell.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"87048dabede1d294f4516e1d9811051af4f87941","unresolved":false,"context_lines":[{"line_number":5444,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":5445,"context_line":""},{"line_number":5446,"context_line":"    if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":5447,"context_line":"        fields.insert(len(fields) - 2, \"Project ID\")"},{"line_number":5448,"context_line":"        fields.insert(len(fields) - 2, \"User ID\")"},{"line_number":5449,"context_line":""},{"line_number":5450,"context_line":"    utils.print_list(migrations, fields, formatters)"},{"line_number":5451,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_5314944e","line":5448,"range":{"start_line":5447,"start_character":0,"end_line":5448,"end_character":49},"updated":"2019-09-10 06:47:56.000000000","message":"\"Project ID\" and \"User ID\" are located between \"Created At\" and \"Updated At\". IMO, it is better to locate \"Updated At\" just after \"Project ID\" and \"User ID\", isn\u0027t it?\n\nhttp://paste.openstack.org/show/774667/","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":5444,"context_line":"        formatters.update({\"Type\": migration_type})"},{"line_number":5445,"context_line":""},{"line_number":5446,"context_line":"    if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":5447,"context_line":"        fields.insert(len(fields) - 2, \"Project ID\")"},{"line_number":5448,"context_line":"        fields.insert(len(fields) - 2, \"User ID\")"},{"line_number":5449,"context_line":""},{"line_number":5450,"context_line":"    utils.print_list(migrations, fields, formatters)"},{"line_number":5451,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_9ce9b91b","line":5448,"range":{"start_line":5447,"start_character":0,"end_line":5448,"end_character":49},"in_reply_to":"5faad753_5314944e","updated":"2019-09-10 09:35:28.000000000","message":"I just want to format the display, I think like \"Type\" field use fields.append(\"Project ID\")/fields.append(\"User ID\") is ok.","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"24bb53b9b74fd8a59bd121340225797da6c11d3e","unresolved":false,"context_lines":[{"line_number":5636,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-before value: %s\u0027)"},{"line_number":5637,"context_line":"                                          % args.changes_before)"},{"line_number":5638,"context_line":""},{"line_number":5639,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status,"},{"line_number":5640,"context_line":"                                    instance_uuid\u003dargs.instance_uuid,"},{"line_number":5641,"context_line":"                                    marker\u003dargs.marker, limit\u003dargs.limit,"},{"line_number":5642,"context_line":"                                    changes_since\u003dargs.changes_since,"},{"line_number":5643,"context_line":"                                    changes_before\u003dargs.changes_before,"},{"line_number":5644,"context_line":"                                    migration_type\u003dargs.migration_type,"},{"line_number":5645,"context_line":"                                    source_compute\u003dargs.source_compute)"},{"line_number":5646,"context_line":"    _print_migrations(cs, migrations)"},{"line_number":5647,"context_line":""},{"line_number":5648,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_10db72ed","line":5645,"range":{"start_line":5639,"start_character":0,"end_line":5645,"end_character":71},"updated":"2019-09-10 06:12:00.000000000","message":"It can be:\n\n    if cs.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):\n        migrations \u003d cs.migrations.list(args.host, args.status,\n                                        instance_uuid\u003dargs.instance_uuid,\n                                        marker\u003dargs.marker, limit\u003dargs.limit,\n                                        changes_since\u003dargs.changes_since,\n                                        changes_before\u003dargs.changes_before,\n                                        migration_type\u003dargs.migration_type,\n                                        source_compute\u003dargs.source_compute,\n                                        user_id\u003dargs.user_id,\n                                        project_id\u003dargs.project_id)\n    else:\n        migrations \u003d cs.migrations.list(args.host, args.status,\n                                        instance_uuid\u003dargs.instance_uuid,\n                                        marker\u003dargs.marker, limit\u003dargs.limit,\n                                        changes_since\u003dargs.changes_since,\n                                        changes_before\u003dargs.changes_before,\n                                        migration_type\u003dargs.migration_type,\n                                        source_compute\u003dargs.source_compute)\n\nor kwargs dict can be used.\n\ne.g.\nhttps://github.com/openstack/python-novaclient/blob/cd396b8b61ed7496f4166a2237b27aa0a138f6e5/novaclient/v2/shell.py#L2142-L2149","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":5636,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-before value: %s\u0027)"},{"line_number":5637,"context_line":"                                          % args.changes_before)"},{"line_number":5638,"context_line":""},{"line_number":5639,"context_line":"    migrations \u003d cs.migrations.list(args.host, args.status,"},{"line_number":5640,"context_line":"                                    instance_uuid\u003dargs.instance_uuid,"},{"line_number":5641,"context_line":"                                    marker\u003dargs.marker, limit\u003dargs.limit,"},{"line_number":5642,"context_line":"                                    changes_since\u003dargs.changes_since,"},{"line_number":5643,"context_line":"                                    changes_before\u003dargs.changes_before,"},{"line_number":5644,"context_line":"                                    migration_type\u003dargs.migration_type,"},{"line_number":5645,"context_line":"                                    source_compute\u003dargs.source_compute)"},{"line_number":5646,"context_line":"    _print_migrations(cs, migrations)"},{"line_number":5647,"context_line":""},{"line_number":5648,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_9c2bf9e9","line":5645,"range":{"start_line":5639,"start_character":0,"end_line":5645,"end_character":71},"in_reply_to":"5faad753_10db72ed","updated":"2019-09-10 09:35:28.000000000","message":"Yeah, there is not new parameter added in microversion 2.80, I thinks add kwargs is better.\n\n...\n    kwargs \u003d dict(\n        instance_uuid\u003dargs.instance_uuid,\n        marker\u003dargs.marker,\n        limit\u003dargs.limit,\n        changes_since\u003dargs.changes_since,\n        changes_before\u003dargs.changes_before,\n        migration_type\u003dargs.migration_type,\n        source_compute\u003dargs.source_compute)\n\n    if cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.80\u0027):\n        kwargs[\u0027project_id\u0027] \u003d args.project_id\n        kwargs[\u0027user_id\u0027] \u003d args.user_id\n\n    migrations \u003d cs.migrations.list(args.host, args.status, **kwargs)","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":3598,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3599,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3600,"context_line":""},{"line_number":3601,"context_line":"    fields \u003d [\u0027Id\u0027, \u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027,"},{"line_number":3602,"context_line":"              \u0027Dest Compute\u0027, \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027,"},{"line_number":3603,"context_line":"              \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3604,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_23b341eb","line":3601,"updated":"2019-10-14 15:53:20.000000000","message":"What about the new fields here if using \u003e\u003d2.80?","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":3598,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3599,"context_line":"    migrations \u003d cs.server_migrations.list(server)"},{"line_number":3600,"context_line":""},{"line_number":3601,"context_line":"    fields \u003d [\u0027Id\u0027, \u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027,"},{"line_number":3602,"context_line":"              \u0027Dest Compute\u0027, \u0027Dest Host\u0027, \u0027Status\u0027, \u0027Server UUID\u0027,"},{"line_number":3603,"context_line":"              \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":3604,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_14f51257","line":3601,"in_reply_to":"3fa7e38b_23b341eb","updated":"2019-10-15 06:01:54.000000000","message":"Added \u0027User ID\u0027 and \u0027Project ID\u0027.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":3624,"context_line":"    \"\"\"Get the migration of specified server.\"\"\""},{"line_number":3625,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3626,"context_line":"    migration \u003d cs.server_migrations.get(server, args.migration)"},{"line_number":3627,"context_line":"    utils.print_dict(migration.to_dict())"},{"line_number":3628,"context_line":""},{"line_number":3629,"context_line":""},{"line_number":3630,"context_line":"@api_versions.wraps(\"2.24\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_83c31538","line":3627,"updated":"2019-10-14 15:53:20.000000000","message":"Same - since this isn\u0027t filtering the result if you\u0027re using 2.80 you\u0027ll get the user_id and project_id output here. There isn\u0027t really much to do for this except test it.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":3624,"context_line":"    \"\"\"Get the migration of specified server.\"\"\""},{"line_number":3625,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":3626,"context_line":"    migration \u003d cs.server_migrations.get(server, args.migration)"},{"line_number":3627,"context_line":"    utils.print_dict(migration.to_dict())"},{"line_number":3628,"context_line":""},{"line_number":3629,"context_line":""},{"line_number":3630,"context_line":"@api_versions.wraps(\"2.24\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_228fb075","line":3627,"in_reply_to":"3fa7e38b_83c31538","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":5560,"context_line":""},{"line_number":5561,"context_line":"@api_versions.wraps(\"2.66\")"},{"line_number":5562,"context_line":"@utils.arg("},{"line_number":5563,"context_line":"    \u0027--project-id\u0027,"},{"line_number":5564,"context_line":"    # nova db searches by project_id"},{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_03a9658e","line":5563,"updated":"2019-10-14 15:53:20.000000000","message":"Define these new options toward the end, note that --changes-before is new in 2.66 and appears at the end of the list of options.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":5560,"context_line":""},{"line_number":5561,"context_line":"@api_versions.wraps(\"2.66\")"},{"line_number":5562,"context_line":"@utils.arg("},{"line_number":5563,"context_line":"    \u0027--project-id\u0027,"},{"line_number":5564,"context_line":"    # nova db searches by project_id"},{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_74056645","line":5563,"in_reply_to":"3fa7e38b_03a9658e","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":5561,"context_line":"@api_versions.wraps(\"2.66\")"},{"line_number":5562,"context_line":"@utils.arg("},{"line_number":5563,"context_line":"    \u0027--project-id\u0027,"},{"line_number":5564,"context_line":"    # nova db searches by project_id"},{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"},{"line_number":5567,"context_line":"    default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_23290136","line":5564,"updated":"2019-10-14 15:53:20.000000000","message":"I\u0027m not sure that this comment is helpful.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":5561,"context_line":"@api_versions.wraps(\"2.66\")"},{"line_number":5562,"context_line":"@utils.arg("},{"line_number":5563,"context_line":"    \u0027--project-id\u0027,"},{"line_number":5564,"context_line":"    # nova db searches by project_id"},{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"},{"line_number":5567,"context_line":"    default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_94002236","line":5564,"in_reply_to":"3fa7e38b_23290136","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"},{"line_number":5567,"context_line":"    default\u003dNone,"},{"line_number":5568,"context_line":"    help\u003d_(\u0027ID of the project to display the migrations (Admin only).\u0027),"},{"line_number":5569,"context_line":"    start_version\u003d\u00272.80\u0027)"},{"line_number":5570,"context_line":"@utils.arg("},{"line_number":5571,"context_line":"    \u0027--user-id\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_43d51d1b","line":5568,"range":{"start_line":5568,"start_character":12,"end_line":5568,"end_character":55},"updated":"2019-10-14 15:53:20.000000000","message":"Use the same description as in the API reference.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"},{"line_number":5567,"context_line":"    default\u003dNone,"},{"line_number":5568,"context_line":"    help\u003d_(\u0027ID of the project to display the migrations (Admin only).\u0027),"},{"line_number":5569,"context_line":"    start_version\u003d\u00272.80\u0027)"},{"line_number":5570,"context_line":"@utils.arg("},{"line_number":5571,"context_line":"    \u0027--user-id\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_23dee13d","line":5568,"range":{"start_line":5568,"start_character":56,"end_line":5568,"end_character":68},"updated":"2019-10-14 15:53:20.000000000","message":"You don\u0027t need to mention this is admin-only because the filter parameter is not enforced by policy, the API itself is.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"},{"line_number":5567,"context_line":"    default\u003dNone,"},{"line_number":5568,"context_line":"    help\u003d_(\u0027ID of the project to display the migrations (Admin only).\u0027),"},{"line_number":5569,"context_line":"    start_version\u003d\u00272.80\u0027)"},{"line_number":5570,"context_line":"@utils.arg("},{"line_number":5571,"context_line":"    \u0027--user-id\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_f49636f0","line":5568,"range":{"start_line":5568,"start_character":56,"end_line":5568,"end_character":68},"in_reply_to":"3fa7e38b_23dee13d","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":5565,"context_line":"    dest\u003d\u0027project_id\u0027,"},{"line_number":5566,"context_line":"    metavar\u003d\u0027\u003cproject_id\u003e\u0027,"},{"line_number":5567,"context_line":"    default\u003dNone,"},{"line_number":5568,"context_line":"    help\u003d_(\u0027ID of the project to display the migrations (Admin only).\u0027),"},{"line_number":5569,"context_line":"    start_version\u003d\u00272.80\u0027)"},{"line_number":5570,"context_line":"@utils.arg("},{"line_number":5571,"context_line":"    \u0027--user-id\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_149af212","line":5568,"range":{"start_line":5568,"start_character":12,"end_line":5568,"end_character":55},"in_reply_to":"3fa7e38b_43d51d1b","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":5572,"context_line":"    dest\u003d\u0027user_id\u0027,"},{"line_number":5573,"context_line":"    metavar\u003d\u0027\u003cuser_id\u003e\u0027,"},{"line_number":5574,"context_line":"    default\u003dNone,"},{"line_number":5575,"context_line":"    help\u003d_(\u0027ID of the operator to display the migrations (Admin only).\u0027),"},{"line_number":5576,"context_line":"    start_version\u003d\u00272.80\u0027)"},{"line_number":5577,"context_line":"@utils.arg("},{"line_number":5578,"context_line":"    \u0027--instance-uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_e3e3e903","line":5575,"updated":"2019-10-14 15:53:20.000000000","message":"same","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":5572,"context_line":"    dest\u003d\u0027user_id\u0027,"},{"line_number":5573,"context_line":"    metavar\u003d\u0027\u003cuser_id\u003e\u0027,"},{"line_number":5574,"context_line":"    default\u003dNone,"},{"line_number":5575,"context_line":"    help\u003d_(\u0027ID of the operator to display the migrations (Admin only).\u0027),"},{"line_number":5576,"context_line":"    start_version\u003d\u00272.80\u0027)"},{"line_number":5577,"context_line":"@utils.arg("},{"line_number":5578,"context_line":"    \u0027--instance-uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_b49c3e0e","line":5575,"in_reply_to":"3fa7e38b_e3e3e903","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"}],"releasenotes/notes/microversion-v2_80-c2394316f9212865.yaml":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"24bb53b9b74fd8a59bd121340225797da6c11d3e","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    * The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    * The ``project_id`` and ``user_id`` fields will be added to the"},{"line_number":11,"context_line":"      ``GET /os-migrations`` API."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    .. _microversion 2.80: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id72"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5faad753_f01c96c2","line":11,"range":{"start_line":10,"start_character":65,"end_line":11,"end_character":33},"updated":"2019-09-10 06:12:00.000000000","message":"It should be Python API bindings instead of the Nova API.\n\n* novaclient.v2.migrations.MigrationManager.list","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"579655748c4f07bc0735e5cecf8be5b5177bc8ec","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    * The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    * The ``project_id`` and ``user_id`` fields will be added to the"},{"line_number":11,"context_line":"      ``GET /os-migrations`` API."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    .. _microversion 2.80: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id72"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5faad753_3c8445b1","line":11,"range":{"start_line":10,"start_character":65,"end_line":11,"end_character":33},"in_reply_to":"5faad753_f01c96c2","updated":"2019-09-10 09:35:28.000000000","message":"Done","commit_id":"6d8638dcbefa35760be11411e50b38192455bef5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added support for `microversion 2.80`_ which adds ``user_id``"},{"line_number":5,"context_line":"    and ``project_id`` parameters to the ``GET /os-migrations`` API."},{"line_number":6,"context_line":"    That can fetch the migrations by ``user_id`` and/or ``project_id``."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_23858107","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":33},"updated":"2019-10-14 15:53:20.000000000","message":"filter parameters","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added support for `microversion 2.80`_ which adds ``user_id``"},{"line_number":5,"context_line":"    and ``project_id`` parameters to the ``GET /os-migrations`` API."},{"line_number":6,"context_line":"    That can fetch the migrations by ``user_id`` and/or ``project_id``."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_3474cefd","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":33},"in_reply_to":"3fa7e38b_23858107","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added support for `microversion 2.80`_ which adds ``user_id``"},{"line_number":5,"context_line":"    and ``project_id`` parameters to the ``GET /os-migrations`` API."},{"line_number":6,"context_line":"    That can fetch the migrations by ``user_id`` and/or ``project_id``."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_e37a0922","line":6,"updated":"2019-10-14 15:53:20.000000000","message":"I think you can remove this sentence.","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added support for `microversion 2.80`_ which adds ``user_id``"},{"line_number":5,"context_line":"    and ``project_id`` parameters to the ``GET /os-migrations`` API."},{"line_number":6,"context_line":"    That can fetch the migrations by ``user_id`` and/or ``project_id``."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_546f0a27","line":6,"in_reply_to":"3fa7e38b_e37a0922","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    - New kwarg called ``project_id`` and ``user_id`` fields added to"},{"line_number":11,"context_line":"      the python API binding."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_a3a5f1a0","line":10,"range":{"start_line":10,"start_character":61,"end_line":10,"end_character":66},"updated":"2019-10-14 15:53:20.000000000","message":"have been added to","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    - New kwarg called ``project_id`` and ``user_id`` fields added to"},{"line_number":11,"context_line":"      the python API binding."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_e39f694d","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":22},"updated":"2019-10-14 15:53:20.000000000","message":"kwargs","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a067a140c5f4cede37d34e4f738548ebe8e48ff7","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    - New kwarg called ``project_id`` and ``user_id`` fields added to"},{"line_number":11,"context_line":"      the python API binding."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_83aa356e","line":10,"range":{"start_line":10,"start_character":54,"end_line":10,"end_character":60},"updated":"2019-10-14 15:53:20.000000000","message":"nix \"fields\"","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    - New kwarg called ``project_id`` and ``user_id`` fields added to"},{"line_number":11,"context_line":"      the python API binding."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_1467524f","line":10,"range":{"start_line":10,"start_character":54,"end_line":10,"end_character":60},"in_reply_to":"3fa7e38b_83aa356e","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    - New kwarg called ``project_id`` and ``user_id`` fields added to"},{"line_number":11,"context_line":"      the python API binding."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_b4599e8e","line":10,"range":{"start_line":10,"start_character":61,"end_line":10,"end_character":66},"in_reply_to":"3fa7e38b_a3a5f1a0","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f2fd9aa1e2c62af9a1625afe249666b3278dd80","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":9,"context_line":"      ``nova migration-list`` CLI."},{"line_number":10,"context_line":"    - New kwarg called ``project_id`` and ``user_id`` fields added to"},{"line_number":11,"context_line":"      the python API binding."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_d45c5a7e","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":22},"in_reply_to":"3fa7e38b_e39f694d","updated":"2019-10-15 06:01:54.000000000","message":"Done","commit_id":"608d804dc0a981417edfa46c9344e5acf3b5cdea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"78614e12015a70d5771f53c4642db37213d32c22","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Added support for `microversion 2.80`_ which adds ``user_id``"},{"line_number":5,"context_line":"    and ``project_id`` filter parameters to the ``GET /os-migrations`` API."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":8,"context_line":"      ``nova migration-list`` CLI."},{"line_number":9,"context_line":"    - New kwargs ``project_id`` and ``user_id`` have been added to"},{"line_number":10,"context_line":"      the python API binding."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_117987c3","line":7,"updated":"2019-10-16 14:02:02.000000000","message":"The release note should also mention that the ``nova server-migration-list`` and ``nova server-migration-show`` commands will output the ``Project ID`` and ``User ID`` when using microversion 2.80 or greater, correct?","commit_id":"f0ed6b6ae823e9ab9fae0ceffa126204d00cac0e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d6be0340d0da3c78d0007d013b85594904984877","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    - The ``--project-id`` and ``--user-id`` options are added to the"},{"line_number":8,"context_line":"      ``nova migration-list`` CLI."},{"line_number":9,"context_line":"    - New kwargs ``project_id`` and ``user_id`` have been added to"},{"line_number":10,"context_line":"      the python API binding."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"      - novaclient.v2.migrations.MigrationManager.list"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_f58e1e2c","line":10,"range":{"start_line":10,"start_character":6,"end_line":10,"end_character":10},"updated":"2019-10-16 05:56:58.000000000","message":"nit: the following?","commit_id":"f0ed6b6ae823e9ab9fae0ceffa126204d00cac0e"}]}
