)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390f976225febd34b806e78c7549986f97cf35e0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add server migrate list CLI"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``openstack server migrate list`` to fetch the migrations."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":12,"context_line":"Change-Id: I15b4a5aca8d0dee59dd293e7b1c7272cdfbeea20"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5faad753_84762da4","line":10,"updated":"2019-09-10 21:05:26.000000000","message":"Why doesn\u0027t this depend on the novaclient change that adds support for 2.80 (which depends on the compute API change that adds 2.80)?","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0e1736ab787c1545db3651913328e9b4bd16e596","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add server migrate list CLI"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``openstack server migrate list`` to fetch the migrations."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":12,"context_line":"Change-Id: I15b4a5aca8d0dee59dd293e7b1c7272cdfbeea20"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5faad753_540a1e8a","line":10,"in_reply_to":"5faad753_84762da4","updated":"2019-09-11 10:04:54.000000000","message":"Done","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ab9778bdaf38572ae5bc80418f4ce115a58add13","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``openstack server migrate list`` to fetch the migrations."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-On: https://review.opendev.org/#/c/675023/"},{"line_number":12,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I15b4a5aca8d0dee59dd293e7b1c7272cdfbeea20"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_432d1dfc","line":11,"updated":"2019-10-14 15:56:51.000000000","message":"This is going to be insufficient. This OSC change will need to depend on the requirements repo change that bumps upper-constraints for the version of python-novaclient that has https://review.opendev.org/#/c/675023/ merged into it and then you\u0027ll also need to bump the requirements/lower-constraints in OSC as part of this change. Otherwise your new OSC command will not work with older versions of python-novaclient if trying to filter migrations by user/project.\n\nMaybe you want to split the user/project stuff out of this and just start with what is supported in novaclient today, then build the user/project filtering for 2.80 on top of that. Otherwise this patch is really doing a lot of different things (basic support + 2.80) and that makes it complicated and hard to review properly.","commit_id":"883382745796d7f7a3e4c78320adafed9f1a490b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2d3476cd200bdd6606e85d6a69defb3e181c6051","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``openstack server migrate list`` to fetch the migrations."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-On: https://review.opendev.org/#/c/675023/"},{"line_number":12,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I15b4a5aca8d0dee59dd293e7b1c7272cdfbeea20"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_f11ba87d","line":11,"in_reply_to":"3fa7e38b_432d1dfc","updated":"2019-10-15 00:18:13.000000000","message":"Yeah, you pointed out very accurately, add WIP for this patch until the depends this done (Contains requirements and the u-c version bumps.).","commit_id":"883382745796d7f7a3e4c78320adafed9f1a490b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"70d156b9434ef2638c29c348d0a2381d5e12381f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add server migrate list CLI"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``openstack server migrate list`` to fetch the migrations."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"9f560f44_593c882f","line":9,"range":{"start_line":9,"start_character":23,"end_line":9,"end_character":30},"updated":"2020-09-21 09:14:40.000000000","message":"Could we call this \u0027migration\u0027? They\u0027re server \"migrations\", not server \"migrates\". The \u0027migrate confirm\u0027 and \u0027migrate revert\u0027 commands probably should have been the same but no point perpetuating the mistake","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2e1989b60f26f39abc026ad135a83370030d11ce","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add server migrate list CLI"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``openstack server migrate list`` to fetch the migrations."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Part of blueprint add-user-id-field-to-the-migrations-table"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"9f560f44_06361f03","line":9,"range":{"start_line":9,"start_character":23,"end_line":9,"end_character":30},"in_reply_to":"9f560f44_593c882f","updated":"2020-09-22 00:59:02.000000000","message":"Of course, we can.","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"}],"doc/source/cli/command-objects/server-migrate.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390f976225febd34b806e78c7549986f97cf35e0","unresolved":false,"context_lines":[{"line_number":19,"context_line":"        [-- server \u003cserver\u003e] [--host \u003chost\u003e]"},{"line_number":20,"context_line":"        [--status \u003cstatus\u003e] [--marker \u003cmarker\u003e] [--limit \u003climit\u003e]"},{"line_number":21,"context_line":"        [--changes-since \u003cchanges_since\u003e] [--changes-before \u003cchanges_before\u003e]"},{"line_number":22,"context_line":"        [--project \u003cproject\u003e] [--user \u003cuser\u003e]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. option:: --server \u003cserver\u003e"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5faad753_645a112b","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":45},"updated":"2019-09-10 21:05:26.000000000","message":"These don\u0027t exist until the nova API change happens, right? This patch doesn\u0027t even depend on that nor the novaclient change it would use to pass those filters through to the compute API.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0e1736ab787c1545db3651913328e9b4bd16e596","unresolved":false,"context_lines":[{"line_number":19,"context_line":"        [-- server \u003cserver\u003e] [--host \u003chost\u003e]"},{"line_number":20,"context_line":"        [--status \u003cstatus\u003e] [--marker \u003cmarker\u003e] [--limit \u003climit\u003e]"},{"line_number":21,"context_line":"        [--changes-since \u003cchanges_since\u003e] [--changes-before \u003cchanges_before\u003e]"},{"line_number":22,"context_line":"        [--project \u003cproject\u003e] [--user \u003cuser\u003e]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. option:: --server \u003cserver\u003e"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5faad753_141266b2","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":45},"in_reply_to":"5faad753_645a112b","updated":"2019-09-11 10:04:54.000000000","message":"Yeah, it\u0027s my neglect. Added the depends-on the novaclinet.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"70d156b9434ef2638c29c348d0a2381d5e12381f","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Compute v2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"server migrate list"},{"line_number":11,"context_line":"-------------------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Lists migrations."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":".. program:: server migrate list"},{"line_number":16,"context_line":".. code:: bash"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    openstack server migrate list"},{"line_number":19,"context_line":"        [-- server \u003cserver\u003e]"},{"line_number":20,"context_line":"        [--host \u003chost\u003e]"},{"line_number":21,"context_line":"        [--status \u003cstatus\u003e]"},{"line_number":22,"context_line":"        [--marker \u003cmarker\u003e]"},{"line_number":23,"context_line":"        [--limit \u003climit\u003e]"},{"line_number":24,"context_line":"        [--changes-since \u003cchanges_since\u003e]"},{"line_number":25,"context_line":"        [--changes-before \u003cchanges_before\u003e]"},{"line_number":26,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":27,"context_line":"        [--user \u003cuser\u003e]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. option:: --server \u003cserver\u003e"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    Fetch migrations for the given server (ID)."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. option:: --host \u003chost\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Fetch migrations for the given host."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. option:: --status \u003cstatus\u003e"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    Fetch migrations for the given status."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":".. option:: --marker \u003cmarker\u003e"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    The last migration of the previous page; displays list of migrations after"},{"line_number":44,"context_line":"    \"marker\". Note that the marker is the migration UUID."},{"line_number":45,"context_line":"    (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. option:: --limit \u003climit\u003e"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    Maximum number of migrations to display. Note that there is a configurable"},{"line_number":50,"context_line":"    max limit on the server, and the limit that is used will be the minimum of"},{"line_number":51,"context_line":"    what is requested here and what is configured in the server."},{"line_number":52,"context_line":"    (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. option:: --changes-since \u003cchanges-since\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    List only migrations changed later or equal to a certain point of time."},{"line_number":57,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":58,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --changes-before \u003cchanges-before\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    List only migrations changed earlier or equal to a certain point of time."},{"line_number":63,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":64,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    Filter the migrations by the given project ID."},{"line_number":69,"context_line":"    (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. option:: --user \u003cuser\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    Filter the migrations by the given user ID."},{"line_number":74,"context_line":"    (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"}],"source_content_type":"text/x-rst","patch_set":19,"id":"9f560f44_79418ca6","line":74,"range":{"start_line":10,"start_character":0,"end_line":74,"end_character":51},"updated":"2020-09-21 09:14:40.000000000","message":"You can replace this with simply:\n\n  .. autoprogram-cliff:: openstack.compute.v2\n     :command: server migration list","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2e1989b60f26f39abc026ad135a83370030d11ce","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Compute v2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"server migrate list"},{"line_number":11,"context_line":"-------------------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Lists migrations."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":".. program:: server migrate list"},{"line_number":16,"context_line":".. code:: bash"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    openstack server migrate list"},{"line_number":19,"context_line":"        [-- server \u003cserver\u003e]"},{"line_number":20,"context_line":"        [--host \u003chost\u003e]"},{"line_number":21,"context_line":"        [--status \u003cstatus\u003e]"},{"line_number":22,"context_line":"        [--marker \u003cmarker\u003e]"},{"line_number":23,"context_line":"        [--limit \u003climit\u003e]"},{"line_number":24,"context_line":"        [--changes-since \u003cchanges_since\u003e]"},{"line_number":25,"context_line":"        [--changes-before \u003cchanges_before\u003e]"},{"line_number":26,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":27,"context_line":"        [--user \u003cuser\u003e]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. option:: --server \u003cserver\u003e"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    Fetch migrations for the given server (ID)."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. option:: --host \u003chost\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Fetch migrations for the given host."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. option:: --status \u003cstatus\u003e"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    Fetch migrations for the given status."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":".. option:: --marker \u003cmarker\u003e"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    The last migration of the previous page; displays list of migrations after"},{"line_number":44,"context_line":"    \"marker\". Note that the marker is the migration UUID."},{"line_number":45,"context_line":"    (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. option:: --limit \u003climit\u003e"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    Maximum number of migrations to display. Note that there is a configurable"},{"line_number":50,"context_line":"    max limit on the server, and the limit that is used will be the minimum of"},{"line_number":51,"context_line":"    what is requested here and what is configured in the server."},{"line_number":52,"context_line":"    (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. option:: --changes-since \u003cchanges-since\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    List only migrations changed later or equal to a certain point of time."},{"line_number":57,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":58,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --changes-before \u003cchanges-before\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    List only migrations changed earlier or equal to a certain point of time."},{"line_number":63,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":64,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    Filter the migrations by the given project ID."},{"line_number":69,"context_line":"    (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. option:: --user \u003cuser\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    Filter the migrations by the given user ID."},{"line_number":74,"context_line":"    (Supported by API versions \u00272.80\u0027 - \u00272.latest\u0027)"}],"source_content_type":"text/x-rst","patch_set":19,"id":"9f560f44_66d27bff","line":74,"range":{"start_line":10,"start_character":0,"end_line":74,"end_character":51},"in_reply_to":"9f560f44_79418ca6","updated":"2020-09-22 00:59:02.000000000","message":"Done","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"}],"doc/source/cli/command-objects/server-migration.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        [--changes-since \u003cchanges_since\u003e] [--changes-before \u003cchanges_before\u003e]"},{"line_number":22,"context_line":"        [--project-id \u003cproject_id\u003e] [--user-id \u003cuser_id\u003e]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. option:: --instance-uuid \u003cinstance_uuid\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    Fetch migrations for the given instance."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_a239f9d8","line":24,"range":{"start_line":24,"start_character":14,"end_line":24,"end_character":43},"updated":"2019-08-09 16:16:21.000000000","message":"Instance of what?  migration or server?\n\nAlso we strongly prefer to use \u0027id\u0027 rather than \u0027uuid\u0027 unless that introduces ambiguity.","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        [--changes-since \u003cchanges_since\u003e] [--changes-before \u003cchanges_before\u003e]"},{"line_number":22,"context_line":"        [--project-id \u003cproject_id\u003e] [--user-id \u003cuser_id\u003e]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. option:: --instance-uuid \u003cinstance_uuid\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    Fetch migrations for the given instance."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_35dbf77d","line":24,"range":{"start_line":24,"start_character":14,"end_line":24,"end_character":43},"in_reply_to":"7faddb67_a239f9d8","updated":"2019-08-12 03:04:19.000000000","message":"It\u0027s the \u0027server\u0027.","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    Fetch migrations for the given host."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":".. option:: --status \u003cstatus\u003e"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    Fetch migrations for the given status."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_4250450b","line":32,"range":{"start_line":32,"start_character":22,"end_line":32,"end_character":28},"updated":"2019-08-09 16:16:21.000000000","message":"If the set of statuses is short and/or very static they could be listed here.  I am guessing this must be one of a specific set of values.","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    Fetch migrations for the given host."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":".. option:: --status \u003cstatus\u003e"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    Fetch migrations for the given status."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_d515c39c","line":32,"range":{"start_line":32,"start_character":22,"end_line":32,"end_character":28},"in_reply_to":"7faddb67_4250450b","updated":"2019-08-12 03:04:19.000000000","message":"\u0027status\u0027 is not listed in the nova docs documentation. I got the following \u0027status\u0027 list from the [\u0027migration\u0027, \u0027resize\u0027, \u0027live-migration\u0027, \u0027evacuation\u0027] code logic.\n\n{\u0027error\u0027, \u0027failed\u0027, \u0027completed\u0027, \u0027confirmed\u0027, \u0027queued\u0027, \u0027finished\u0027, \u0027reverted\u0027, \u0027accepted\u0027, \u0027confirming\u0027, \u0027migrating\u0027, \u0027post-migrating\u0027, \u0027running\u0027, \u0027reverting\u0027, \u0027pre-migrating\u0027, \u0027preparing\u0027}\n\nSome of these values are reused and are not listed one by one.\n\nSince it covers multiple types [\u0027migration\u0027, \u0027resize\u0027, \u0027live-migration\u0027, \u0027evacuation\u0027], if the user wants to query a certain state of the server, he can pass ``horizon`` or ``nova show server``/``openstack server show server`` to get this status, then to use this command to query migrations of this status, so I don\u0027t think I need to list status here. If you insist, I can add this in the status description :)","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    what is requested here and what is configured in the server."},{"line_number":47,"context_line":"    (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. option:: --changes-since \u003cchanges_since\u003e"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    List only migrations changed later or equal to a certain point of time."},{"line_number":52,"context_line":"    The provided time should be an ISO 8061 formatted time."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_02732db3","line":49,"range":{"start_line":49,"start_character":36,"end_line":49,"end_character":37},"updated":"2019-08-09 16:16:21.000000000","message":"\u0027-\u0027 (dash)","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    what is requested here and what is configured in the server."},{"line_number":47,"context_line":"    (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. option:: --changes-since \u003cchanges_since\u003e"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    List only migrations changed later or equal to a certain point of time."},{"line_number":52,"context_line":"    The provided time should be an ISO 8061 formatted time."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_35269718","line":49,"range":{"start_line":49,"start_character":36,"end_line":49,"end_character":37},"in_reply_to":"7faddb67_02732db3","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":53,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":".. option:: --changes-before \u003cchanges_before\u003e"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    List only migrations changed earlier or equal to a certain point of time."},{"line_number":58,"context_line":"    The provided time should be an ISO 8061 formatted time."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_e26db1cc","line":55,"range":{"start_line":55,"start_character":37,"end_line":55,"end_character":38},"updated":"2019-08-09 16:16:21.000000000","message":"\u0027-\u0027 (dash)","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":53,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.59\u0027 - \u00272.latest\u0027)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":".. option:: --changes-before \u003cchanges_before\u003e"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    List only migrations changed earlier or equal to a certain point of time."},{"line_number":58,"context_line":"    The provided time should be an ISO 8061 formatted time."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_5521d3fb","line":55,"range":{"start_line":55,"start_character":37,"end_line":55,"end_character":38},"in_reply_to":"7faddb67_e26db1cc","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":59,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. option:: --project-id \u003cproject_id\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    Fetch migrations for the given project."},{"line_number":64,"context_line":"    (Supported by API versions \u00272.76\u0027 - \u00272.latest\u0027)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_8245dd45","line":61,"range":{"start_line":61,"start_character":14,"end_line":61,"end_character":36},"updated":"2019-08-09 16:16:21.000000000","message":"This should be just project, and if the API doesn\u0027t support it the lookup from a name to an ID handled in the command","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    The provided time should be an ISO 8061 formatted time."},{"line_number":59,"context_line":"    e.g. 2016-03-04T06:27:59Z . (Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. option:: --project-id \u003cproject_id\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    Fetch migrations for the given project."},{"line_number":64,"context_line":"    (Supported by API versions \u00272.76\u0027 - \u00272.latest\u0027)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_151b5bca","line":61,"range":{"start_line":61,"start_character":14,"end_line":61,"end_character":36},"in_reply_to":"7faddb67_8245dd45","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    Fetch migrations for the given project."},{"line_number":64,"context_line":"    (Supported by API versions \u00272.76\u0027 - \u00272.latest\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. option:: --user-id \u003cuser_id\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    Fetch migrations for the given operator."},{"line_number":69,"context_line":"    (Supported by API versions \u00272.76\u0027 - \u00272.latest\u0027)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_42792591","line":66,"range":{"start_line":66,"start_character":14,"end_line":66,"end_character":30},"updated":"2019-08-09 16:16:21.000000000","message":"same as with project, we should allow name or ID to be used","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    Fetch migrations for the given project."},{"line_number":64,"context_line":"    (Supported by API versions \u00272.76\u0027 - \u00272.latest\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. option:: --user-id \u003cuser_id\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    Fetch migrations for the given operator."},{"line_number":69,"context_line":"    (Supported by API versions \u00272.76\u0027 - \u00272.latest\u0027)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_b577e708","line":66,"range":{"start_line":66,"start_character":14,"end_line":66,"end_character":30},"in_reply_to":"7faddb67_42792591","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d5ce2c50134a688b3098c112f80cd03abe40a27c","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Compute v2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. autoprogram-cliff:: openstack.compute.v2"},{"line_number":11,"context_line":"   :command: server migration list"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9f560f44_a4300beb","line":10,"updated":"2020-09-22 02:39:04.000000000","message":"docs: No commands found in the \"openstack.compute.v2\" namespace using the \"server migration list\" command name/pattern. Are you sure this is correct and the application being documented is installed?","commit_id":"d75e51d195149e0d6a56a9def9e78f3a90b1d98d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"server migration"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **server migration** provides a way to fetch migrations (live migration,"},{"line_number":6,"context_line":"cold migration, resize and evacuation)."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Compute v2"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"9f560f44_3cc7eb9a","line":6,"range":{"start_line":5,"start_character":0,"end_line":6,"end_character":39},"updated":"2020-09-22 09:30:39.000000000","message":"How about:\n\n  A server migration provides a way to move an instance from\n  one host to another. There are four types of migration\n  operation supported: live migration, cold migration, resize\n  and evacuation.\n\nI\u0027m assuming the os-migrations API lists all four types of migration? If not, you should drop that last sentence","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13916f2087d81e633b053b442c7a242bff46fb34","unresolved":false,"context_lines":[{"line_number":2,"context_line":"server migration"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **server migration** provides a way to fetch migrations (live migration,"},{"line_number":6,"context_line":"cold migration, resize and evacuation)."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Compute v2"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"9f560f44_bfbacd07","line":6,"range":{"start_line":5,"start_character":0,"end_line":6,"end_character":39},"in_reply_to":"9f560f44_3cc7eb9a","updated":"2020-09-22 11:02:05.000000000","message":"\u003e \n \u003e I\u0027m assuming the os-migrations API lists all four types of\n \u003e migration? If not, you should drop that last sentence\n\nI think yes, the os-migrations API list all types of migratgion.","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"}],"doc/source/cli/commands.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":143,"context_line":"* ``server event``: (**Compute**) events of a server"},{"line_number":144,"context_line":"* ``server group``: (**Compute**) a grouping of servers"},{"line_number":145,"context_line":"* ``server image``: (**Compute**) saved server disk image"},{"line_number":146,"context_line":"* ``server migration``: (**Compute**) display the migrations"},{"line_number":147,"context_line":"* ``service``: (**Identity**) a cloud service"},{"line_number":148,"context_line":"* ``service provider``: (**Identity**) a resource that consumes assertions from an ``identity provider``"},{"line_number":149,"context_line":"* ``subnet``: (**Network**) - a contiguous range of IP addresses assigned to a network"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_7f02be0d","line":146,"range":{"start_line":146,"start_character":38,"end_line":146,"end_character":45},"updated":"2019-08-09 16:16:21.000000000","message":"This is a list of resources, no actions are associated here.  something like \"server migrations in progress\" or \"active server migrations\" would work (if those are accurate)","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":143,"context_line":"* ``server event``: (**Compute**) events of a server"},{"line_number":144,"context_line":"* ``server group``: (**Compute**) a grouping of servers"},{"line_number":145,"context_line":"* ``server image``: (**Compute**) saved server disk image"},{"line_number":146,"context_line":"* ``server migration``: (**Compute**) display the migrations"},{"line_number":147,"context_line":"* ``service``: (**Identity**) a cloud service"},{"line_number":148,"context_line":"* ``service provider``: (**Identity**) a resource that consumes assertions from an ``identity provider``"},{"line_number":149,"context_line":"* ``subnet``: (**Network**) - a contiguous range of IP addresses assigned to a network"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_f54d5fc4","line":146,"range":{"start_line":146,"start_character":38,"end_line":146,"end_character":45},"in_reply_to":"7faddb67_7f02be0d","updated":"2019-08-12 03:04:19.000000000","message":"This is not only display the migrate-server in progress, like the status contains error,failed,finshed etc. it\u0027s the end status.","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390f976225febd34b806e78c7549986f97cf35e0","unresolved":false,"context_lines":[{"line_number":1718,"context_line":"                raise SystemExit"},{"line_number":1719,"context_line":""},{"line_number":1720,"context_line":""},{"line_number":1721,"context_line":"class ListMigrate(command.Command):"},{"line_number":1722,"context_line":"    _description \u003d _(\"\"\"List server migrations.\"\"\")"},{"line_number":1723,"context_line":""},{"line_number":1724,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5faad753_e4ba8108","line":1721,"updated":"2019-09-10 21:05:26.000000000","message":"Is it possible to add a simple functional test for this like I did in the novaclient patch here?\n\nI4be9a06df3e0d40d3990d067ce112247a81b45b4\n\nThat just does a resize to the same host and then lists the migrations for that server.\n\nMaybe that\u0027s something to be done in a follow up.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1e455a0a584115b1156d1a7227eb33ecdc2eb375","unresolved":false,"context_lines":[{"line_number":1718,"context_line":"                raise SystemExit"},{"line_number":1719,"context_line":""},{"line_number":1720,"context_line":""},{"line_number":1721,"context_line":"class ListMigrate(command.Command):"},{"line_number":1722,"context_line":"    _description \u003d _(\"\"\"List server migrations.\"\"\")"},{"line_number":1723,"context_line":""},{"line_number":1724,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5faad753_ad03e672","line":1721,"in_reply_to":"5faad753_e4ba8108","updated":"2019-09-12 09:24:51.000000000","message":"Added the https://review.opendev.org/#/c/681473/ to do this functional test, beacause in my local env cannot run, it raised error as http://paste.openstack.org/show/775399/, so  I was added \u0027WIP\u0027 for it until it\u0027s ok.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390f976225febd34b806e78c7549986f97cf35e0","unresolved":false,"context_lines":[{"line_number":1811,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.59\"):"},{"line_number":1812,"context_line":"            columns.insert(0, \"UUID\")"},{"line_number":1813,"context_line":""},{"line_number":1814,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":1815,"context_line":"            columns.insert(0, \"Id\")"},{"line_number":1816,"context_line":"            columns.insert(len(columns) - 2, \"Type\")"},{"line_number":1817,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5faad753_24aad9d1","line":1814,"updated":"2019-09-10 21:05:26.000000000","message":"Note that you can also filter migrations by type since 2.1; novaclient only recently added support for filtering migrations by type:\n\nI4be9a06df3e0d40d3990d067ce112247a81b45b4\n\nMaybe add a TODO to follow up and add those filters in OSC as well?","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0e1736ab787c1545db3651913328e9b4bd16e596","unresolved":false,"context_lines":[{"line_number":1811,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.59\"):"},{"line_number":1812,"context_line":"            columns.insert(0, \"UUID\")"},{"line_number":1813,"context_line":""},{"line_number":1814,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":1815,"context_line":"            columns.insert(0, \"Id\")"},{"line_number":1816,"context_line":"            columns.insert(len(columns) - 2, \"Type\")"},{"line_number":1817,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5faad753_7a3621e9","line":1814,"in_reply_to":"5faad753_24aad9d1","updated":"2019-09-11 10:04:54.000000000","message":"Yeah, added TODO for this, this patch mainly do add the project/user to filter the migrations in microversion 2.80, in order to dont make this patch much bigger, will do this by follow up.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390f976225febd34b806e78c7549986f97cf35e0","unresolved":false,"context_lines":[{"line_number":1808,"context_line":"                   \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":"        # Insert migrations UUID after ID"},{"line_number":1811,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.59\"):"},{"line_number":1812,"context_line":"            columns.insert(0, \"UUID\")"},{"line_number":1813,"context_line":""},{"line_number":1814,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":1815,"context_line":"            columns.insert(0, \"Id\")"},{"line_number":1816,"context_line":"            columns.insert(len(columns) - 2, \"Type\")"},{"line_number":1817,"context_line":""},{"line_number":1818,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":1819,"context_line":"            if parsed_args.project_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5faad753_a49ec9b5","line":1816,"range":{"start_line":1811,"start_character":8,"end_line":1816,"end_character":52},"updated":"2019-09-10 21:05:26.000000000","message":"I would mention in the help for the comment the minimum required microversion to use to get these details in the output of the command otherwise no one would know without reading the code or maybe reading the API reference and hoping the command supports these.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0e1736ab787c1545db3651913328e9b4bd16e596","unresolved":false,"context_lines":[{"line_number":1808,"context_line":"                   \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":"        # Insert migrations UUID after ID"},{"line_number":1811,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.59\"):"},{"line_number":1812,"context_line":"            columns.insert(0, \"UUID\")"},{"line_number":1813,"context_line":""},{"line_number":1814,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":1815,"context_line":"            columns.insert(0, \"Id\")"},{"line_number":1816,"context_line":"            columns.insert(len(columns) - 2, \"Type\")"},{"line_number":1817,"context_line":""},{"line_number":1818,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":1819,"context_line":"            if parsed_args.project_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5faad753_9a699d8c","line":1816,"range":{"start_line":1811,"start_character":8,"end_line":1816,"end_character":52},"in_reply_to":"5faad753_a49ec9b5","updated":"2019-09-11 10:04:54.000000000","message":"I didn\u0027t understand what you mean. The \u0027Type\u0027 field will be displayed here, but it is not supported when filtering (in this patach). I don\u0027t think it will affect the use of the function, and I will finish this TODO in the near future.","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"70d156b9434ef2638c29c348d0a2381d5e12381f","unresolved":false,"context_lines":[{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1775,"context_line":"        parser \u003d super(ListMigrate, self).get_parser(prog_name)"},{"line_number":1776,"context_line":"        parser.add_argument("},{"line_number":1777,"context_line":"            \"--instance-uuid\","},{"line_number":1778,"context_line":"            metavar\u003d\"\u003cinstance-uuid\u003e\","},{"line_number":1779,"context_line":"            dest\u003d\u0027instance_uuid\u0027,"},{"line_number":1780,"context_line":"            default\u003dNone,"},{"line_number":1781,"context_line":"            help\u003d_(\u0027Fetch migrations for the given instance.\u0027)"},{"line_number":1782,"context_line":"        )"},{"line_number":1783,"context_line":"        parser.add_argument("},{"line_number":1784,"context_line":"            \"--host\","},{"line_number":1785,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_b962043c","line":1782,"range":{"start_line":1776,"start_character":0,"end_line":1782,"end_character":9},"updated":"2020-09-21 09:14:40.000000000","message":"Shouldn\u0027t this be a positional? It\u0027s a positional for the equivalent nova command. Also, we don\u0027t call them instances here. They\u0027re \"servers\".","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2e1989b60f26f39abc026ad135a83370030d11ce","unresolved":false,"context_lines":[{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1775,"context_line":"        parser \u003d super(ListMigrate, self).get_parser(prog_name)"},{"line_number":1776,"context_line":"        parser.add_argument("},{"line_number":1777,"context_line":"            \"--instance-uuid\","},{"line_number":1778,"context_line":"            metavar\u003d\"\u003cinstance-uuid\u003e\","},{"line_number":1779,"context_line":"            dest\u003d\u0027instance_uuid\u0027,"},{"line_number":1780,"context_line":"            default\u003dNone,"},{"line_number":1781,"context_line":"            help\u003d_(\u0027Fetch migrations for the given instance.\u0027)"},{"line_number":1782,"context_line":"        )"},{"line_number":1783,"context_line":"        parser.add_argument("},{"line_number":1784,"context_line":"            \"--host\","},{"line_number":1785,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_c660a738","line":1782,"range":{"start_line":1776,"start_character":0,"end_line":1782,"end_character":9},"in_reply_to":"9f560f44_b962043c","updated":"2020-09-22 00:59:02.000000000","message":"Done","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"70d156b9434ef2638c29c348d0a2381d5e12381f","unresolved":false,"context_lines":[{"line_number":1855,"context_line":"    def print_migrations(self, parsed_args, compute_client, migrations):"},{"line_number":1856,"context_line":"        columns \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027,"},{"line_number":1857,"context_line":"                   \u0027Dest Compute\u0027, \u0027Dest Host\u0027, \u0027Status\u0027,"},{"line_number":1858,"context_line":"                   \u0027Instance UUID\u0027, \u0027Old Flavor\u0027, \u0027New Flavor\u0027,"},{"line_number":1859,"context_line":"                   \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"        # Insert migrations UUID after ID"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_f9d11cce","line":1858,"range":{"start_line":1858,"start_character":20,"end_line":1858,"end_character":28},"updated":"2020-09-21 09:14:40.000000000","message":"Server\n\n(look at \u0027openstack server event list\u0027 for an example of how this is done)","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2e1989b60f26f39abc026ad135a83370030d11ce","unresolved":false,"context_lines":[{"line_number":1855,"context_line":"    def print_migrations(self, parsed_args, compute_client, migrations):"},{"line_number":1856,"context_line":"        columns \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027,"},{"line_number":1857,"context_line":"                   \u0027Dest Compute\u0027, \u0027Dest Host\u0027, \u0027Status\u0027,"},{"line_number":1858,"context_line":"                   \u0027Instance UUID\u0027, \u0027Old Flavor\u0027, \u0027New Flavor\u0027,"},{"line_number":1859,"context_line":"                   \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"        # Insert migrations UUID after ID"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_666efb2c","line":1858,"range":{"start_line":1858,"start_character":20,"end_line":1858,"end_character":28},"in_reply_to":"9f560f44_f9d11cce","updated":"2020-09-22 00:59:02.000000000","message":"Done","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1775,"context_line":"        parser \u003d super(ListMigration, self).get_parser(prog_name)"},{"line_number":1776,"context_line":"        parser.add_argument("},{"line_number":1777,"context_line":"            \"--server\","},{"line_number":1778,"context_line":"            metavar\u003d\"\u003cserver\u003e\","},{"line_number":1779,"context_line":"            dest\u003d\u0027server\u0027,"},{"line_number":1780,"context_line":"            default\u003dNone,"},{"line_number":1781,"context_line":"            help\u003d_(\u0027Server to show migration details (name or ID).\u0027)"},{"line_number":1782,"context_line":"        )"},{"line_number":1783,"context_line":"        parser.add_argument("},{"line_number":1784,"context_line":"            \"--host\","},{"line_number":1785,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_f92f45a4","line":1782,"range":{"start_line":1776,"start_character":0,"end_line":1782,"end_character":9},"updated":"2020-09-22 09:30:39.000000000","message":"This still isn\u0027t a positional argument, e.g.\n\n  openstack server migration list ... [SERVER]\n\nAs noted in PS19, this is how it\u0027s done is novaclient and I suspect how it should be done here. Feel free to disagree though :)","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13916f2087d81e633b053b442c7a242bff46fb34","unresolved":false,"context_lines":[{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1775,"context_line":"        parser \u003d super(ListMigration, self).get_parser(prog_name)"},{"line_number":1776,"context_line":"        parser.add_argument("},{"line_number":1777,"context_line":"            \"--server\","},{"line_number":1778,"context_line":"            metavar\u003d\"\u003cserver\u003e\","},{"line_number":1779,"context_line":"            dest\u003d\u0027server\u0027,"},{"line_number":1780,"context_line":"            default\u003dNone,"},{"line_number":1781,"context_line":"            help\u003d_(\u0027Server to show migration details (name or ID).\u0027)"},{"line_number":1782,"context_line":"        )"},{"line_number":1783,"context_line":"        parser.add_argument("},{"line_number":1784,"context_line":"            \"--host\","},{"line_number":1785,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_ff03a5bc","line":1782,"range":{"start_line":1776,"start_character":0,"end_line":1782,"end_character":9},"in_reply_to":"9f560f44_f92f45a4","updated":"2020-09-22 11:02:05.000000000","message":"I would like to keep current implemention, it has become a habit.","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":1792,"context_line":"            default\u003dNone,"},{"line_number":1793,"context_line":"            help\u003d_(\u0027Fetch migrations for the given status.\u0027)"},{"line_number":1794,"context_line":"        )"},{"line_number":1795,"context_line":"        parser.add_argument("},{"line_number":1796,"context_line":"            \"--marker\","},{"line_number":1797,"context_line":"            metavar\u003d\"\u003cmarker\u003e\","},{"line_number":1798,"context_line":"            dest\u003d\u0027marker\u0027,"},{"line_number":1799,"context_line":"            default\u003dNone,"},{"line_number":1800,"context_line":"            help\u003d_(\u0027The last migration of the previous page; displays list \u0027"},{"line_number":1801,"context_line":"                   \u0027of migrations after \"marker\". Note that the marker is \u0027"},{"line_number":1802,"context_line":"                   \u0027the migration UUID.\u0027)"},{"line_number":1803,"context_line":"        )"},{"line_number":1804,"context_line":"        parser.add_argument("},{"line_number":1805,"context_line":"            \"--limit\","},{"line_number":1806,"context_line":"            metavar\u003d\"\u003climit\u003e\","},{"line_number":1807,"context_line":"            dest\u003d\u0027limit\u0027,"},{"line_number":1808,"context_line":"            type\u003dint,"},{"line_number":1809,"context_line":"            default\u003dNone,"},{"line_number":1810,"context_line":"            help\u003d_(\u0027Maximum number of migrations to display. Note that there \u0027"},{"line_number":1811,"context_line":"                   \u0027is a configurable max limit on the server, and the limit \u0027"},{"line_number":1812,"context_line":"                   \u0027that is used will be the minimum of what is requested \u0027"},{"line_number":1813,"context_line":"                   \u0027here and what is configured in the server.\u0027)"},{"line_number":1814,"context_line":"        )"},{"line_number":1815,"context_line":"        parser.add_argument("},{"line_number":1816,"context_line":"            \u0027--changes-since\u0027,"},{"line_number":1817,"context_line":"            dest\u003d\u0027changes_since\u0027,"},{"line_number":1818,"context_line":"            metavar\u003d\u0027\u003cchanges-since\u003e\u0027,"},{"line_number":1819,"context_line":"            default\u003dNone,"},{"line_number":1820,"context_line":"            help\u003d_(\u0027List only migrations changed later or equal to a certain \u0027"},{"line_number":1821,"context_line":"                   \u0027point of time. The provided time should be an ISO 8061 \u0027"},{"line_number":1822,"context_line":"                   \u0027formatted time. e.g. 2016-03-04T06:27:59Z .\u0027)"},{"line_number":1823,"context_line":"        )"},{"line_number":1824,"context_line":"        parser.add_argument("},{"line_number":1825,"context_line":"            \u0027--changes-before\u0027,"},{"line_number":1826,"context_line":"            dest\u003d\u0027changes_before\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_5caa9fd1","line":1823,"range":{"start_line":1795,"start_character":0,"end_line":1823,"end_character":9},"updated":"2020-09-22 09:30:39.000000000","message":"These were introduced in 2.59, so I guess you need the \"(Supported with ...)\" bit for both?","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13916f2087d81e633b053b442c7a242bff46fb34","unresolved":false,"context_lines":[{"line_number":1792,"context_line":"            default\u003dNone,"},{"line_number":1793,"context_line":"            help\u003d_(\u0027Fetch migrations for the given status.\u0027)"},{"line_number":1794,"context_line":"        )"},{"line_number":1795,"context_line":"        parser.add_argument("},{"line_number":1796,"context_line":"            \"--marker\","},{"line_number":1797,"context_line":"            metavar\u003d\"\u003cmarker\u003e\","},{"line_number":1798,"context_line":"            dest\u003d\u0027marker\u0027,"},{"line_number":1799,"context_line":"            default\u003dNone,"},{"line_number":1800,"context_line":"            help\u003d_(\u0027The last migration of the previous page; displays list \u0027"},{"line_number":1801,"context_line":"                   \u0027of migrations after \"marker\". Note that the marker is \u0027"},{"line_number":1802,"context_line":"                   \u0027the migration UUID.\u0027)"},{"line_number":1803,"context_line":"        )"},{"line_number":1804,"context_line":"        parser.add_argument("},{"line_number":1805,"context_line":"            \"--limit\","},{"line_number":1806,"context_line":"            metavar\u003d\"\u003climit\u003e\","},{"line_number":1807,"context_line":"            dest\u003d\u0027limit\u0027,"},{"line_number":1808,"context_line":"            type\u003dint,"},{"line_number":1809,"context_line":"            default\u003dNone,"},{"line_number":1810,"context_line":"            help\u003d_(\u0027Maximum number of migrations to display. Note that there \u0027"},{"line_number":1811,"context_line":"                   \u0027is a configurable max limit on the server, and the limit \u0027"},{"line_number":1812,"context_line":"                   \u0027that is used will be the minimum of what is requested \u0027"},{"line_number":1813,"context_line":"                   \u0027here and what is configured in the server.\u0027)"},{"line_number":1814,"context_line":"        )"},{"line_number":1815,"context_line":"        parser.add_argument("},{"line_number":1816,"context_line":"            \u0027--changes-since\u0027,"},{"line_number":1817,"context_line":"            dest\u003d\u0027changes_since\u0027,"},{"line_number":1818,"context_line":"            metavar\u003d\u0027\u003cchanges-since\u003e\u0027,"},{"line_number":1819,"context_line":"            default\u003dNone,"},{"line_number":1820,"context_line":"            help\u003d_(\u0027List only migrations changed later or equal to a certain \u0027"},{"line_number":1821,"context_line":"                   \u0027point of time. The provided time should be an ISO 8061 \u0027"},{"line_number":1822,"context_line":"                   \u0027formatted time. e.g. 2016-03-04T06:27:59Z .\u0027)"},{"line_number":1823,"context_line":"        )"},{"line_number":1824,"context_line":"        parser.add_argument("},{"line_number":1825,"context_line":"            \u0027--changes-before\u0027,"},{"line_number":1826,"context_line":"            dest\u003d\u0027changes_before\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_df98611c","line":1823,"range":{"start_line":1795,"start_character":0,"end_line":1823,"end_character":9},"in_reply_to":"9f560f44_5caa9fd1","updated":"2020-09-22 11:02:05.000000000","message":"Done","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        # TODO(brinzhang): It also suppports filter migrations by type"},{"line_number":1866,"context_line":"        # since 2.1. https://review.opendev.org/#/c/675117 supported"},{"line_number":1867,"context_line":"        # filtering the migrations by \u0027migration_type\u0027 and \u0027source_compute\u0027"},{"line_number":1868,"context_line":"        # in novaclient, that will be added in OSC by follow-up."},{"line_number":1869,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.23\"):"},{"line_number":1870,"context_line":"            columns.insert(0, \"Id\")"},{"line_number":1871,"context_line":"            columns.insert(len(columns) - 2, \"Type\")"},{"line_number":1872,"context_line":""},{"line_number":1873,"context_line":"        if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":1874,"context_line":"            if parsed_args.project_id:"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_7c116353","line":1871,"range":{"start_line":1868,"start_character":0,"end_line":1871,"end_character":52},"updated":"2020-09-22 09:30:39.000000000","message":"Looking at the nova code, I get the impression that 2.23 was the first version to event support this API?\n\nLater: Ah, no, it\u0027s the first version to support the \u0027GET /servers/{server}/migrations\u0027 API. We already has the \u0027GET /os-migrations\u0027 API which is what you\u0027re using here clearly. That\u0027s weird, because the commit message that added the former API said \"The old top-level resource `/os-migrations` won\u0027t be extended anymore. It is deprecated.\" but clearly that isn\u0027t the case :)","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":1885,"context_line":""},{"line_number":1886,"context_line":"        search_opts \u003d {"},{"line_number":1887,"context_line":"            \"host\": parsed_args.host,"},{"line_number":1888,"context_line":"            \"server\": parsed_args.server,"},{"line_number":1889,"context_line":"            \"status\": parsed_args.status,"},{"line_number":1890,"context_line":"            \"marker\": parsed_args.marker,"},{"line_number":1891,"context_line":"            \"limit\": parsed_args.limit,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_3936dd03","line":1888,"range":{"start_line":1888,"start_character":0,"end_line":1888,"end_character":41},"updated":"2020-09-22 09:30:39.000000000","message":"To be clear, will novaclient resolve this if it\u0027s a server name instead of a UUID, or do you need to do that yourself?","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":1893,"context_line":"        }"},{"line_number":1894,"context_line":""},{"line_number":1895,"context_line":"        if parsed_args.changes_before:"},{"line_number":1896,"context_line":"            if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.66\"):"},{"line_number":1897,"context_line":"                search_opts[\u0027changes_before\u0027] \u003d parsed_args.changes_before"},{"line_number":1898,"context_line":"            else:"},{"line_number":1899,"context_line":"                msg \u003d _(\"changes_before is not supported for \""},{"line_number":1900,"context_line":"                        \"--os-compute-api-version less than 2.66\")"},{"line_number":1901,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"        if parsed_args.project_id or parsed_args.user_id:"},{"line_number":1904,"context_line":"            if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_59d631c5","line":1901,"range":{"start_line":1896,"start_character":0,"end_line":1901,"end_character":50},"updated":"2020-09-22 09:30:39.000000000","message":"nit: if you reverse the order of these, you avoid indentation\n\n  if compute_client.api_version \u003c api_versions.APIVersion(\"2.66\"):\n      msg \u003d _(...)\n      raise ...\n\n  search_opts[\u0027changes_before\u0027] \u003d parsed_args.changes_before","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13916f2087d81e633b053b442c7a242bff46fb34","unresolved":false,"context_lines":[{"line_number":1893,"context_line":"        }"},{"line_number":1894,"context_line":""},{"line_number":1895,"context_line":"        if parsed_args.changes_before:"},{"line_number":1896,"context_line":"            if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.66\"):"},{"line_number":1897,"context_line":"                search_opts[\u0027changes_before\u0027] \u003d parsed_args.changes_before"},{"line_number":1898,"context_line":"            else:"},{"line_number":1899,"context_line":"                msg \u003d _(\"changes_before is not supported for \""},{"line_number":1900,"context_line":"                        \"--os-compute-api-version less than 2.66\")"},{"line_number":1901,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"        if parsed_args.project_id or parsed_args.user_id:"},{"line_number":1904,"context_line":"            if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_c2ba4a09","line":1901,"range":{"start_line":1896,"start_character":0,"end_line":1901,"end_character":50},"in_reply_to":"9f560f44_59d631c5","updated":"2020-09-22 11:02:05.000000000","message":"Done","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":1901,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"        if parsed_args.project_id or parsed_args.user_id:"},{"line_number":1904,"context_line":"            if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":1905,"context_line":"                if parsed_args.project_id:"},{"line_number":1906,"context_line":"                    search_opts[\u0027project_id\u0027] \u003d parsed_args.project_id"},{"line_number":1907,"context_line":"                if parsed_args.user_id:"},{"line_number":1908,"context_line":"                    search_opts[\u0027user_id\u0027] \u003d parsed_args.user_id"},{"line_number":1909,"context_line":"            else:"},{"line_number":1910,"context_line":"                msg \u003d _(\"Project and/or user is not supported for \""},{"line_number":1911,"context_line":"                        \"--os-compute-api-version less than 2.80\")"},{"line_number":1912,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"        migrations \u003d compute_client.migrations.list(**search_opts)"},{"line_number":1915,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_99dc49e2","line":1912,"range":{"start_line":1904,"start_character":0,"end_line":1912,"end_character":50},"updated":"2020-09-22 09:30:39.000000000","message":"ditto","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13916f2087d81e633b053b442c7a242bff46fb34","unresolved":false,"context_lines":[{"line_number":1901,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"        if parsed_args.project_id or parsed_args.user_id:"},{"line_number":1904,"context_line":"            if compute_client.api_version \u003e\u003d api_versions.APIVersion(\"2.80\"):"},{"line_number":1905,"context_line":"                if parsed_args.project_id:"},{"line_number":1906,"context_line":"                    search_opts[\u0027project_id\u0027] \u003d parsed_args.project_id"},{"line_number":1907,"context_line":"                if parsed_args.user_id:"},{"line_number":1908,"context_line":"                    search_opts[\u0027user_id\u0027] \u003d parsed_args.user_id"},{"line_number":1909,"context_line":"            else:"},{"line_number":1910,"context_line":"                msg \u003d _(\"Project and/or user is not supported for \""},{"line_number":1911,"context_line":"                        \"--os-compute-api-version less than 2.80\")"},{"line_number":1912,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"        migrations \u003d compute_client.migrations.list(**search_opts)"},{"line_number":1915,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_a2b75621","line":1912,"range":{"start_line":1904,"start_character":0,"end_line":1912,"end_character":50},"in_reply_to":"9f560f44_99dc49e2","updated":"2020-09-22 11:02:05.000000000","message":"Done","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":1811,"context_line":"            help\u003d_(\"Maximum number of migrations to display. Note that there \""},{"line_number":1812,"context_line":"                   \"is a configurable max limit on the server, and the limit \""},{"line_number":1813,"context_line":"                   \"that is used will be the minimum of what is requested \""},{"line_number":1814,"context_line":"                   \"here and what is configured in the server.\""},{"line_number":1815,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.59 \""},{"line_number":1816,"context_line":"                   \"or greater.)\")"},{"line_number":1817,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_d8c9855a","line":1814,"range":{"start_line":1814,"start_character":62,"end_line":1814,"end_character":63},"updated":"2020-09-23 08:41:07.000000000","message":"missing space","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":1811,"context_line":"            help\u003d_(\"Maximum number of migrations to display. Note that there \""},{"line_number":1812,"context_line":"                   \"is a configurable max limit on the server, and the limit \""},{"line_number":1813,"context_line":"                   \"that is used will be the minimum of what is requested \""},{"line_number":1814,"context_line":"                   \"here and what is configured in the server.\""},{"line_number":1815,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.59 \""},{"line_number":1816,"context_line":"                   \"or greater.)\")"},{"line_number":1817,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_8fa984de","line":1814,"range":{"start_line":1814,"start_character":62,"end_line":1814,"end_character":63},"in_reply_to":"9f560f44_d8c9855a","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""},{"line_number":1825,"context_line":"                   \"formatted time. e.g. 2016-03-04T06:27:59Z .\""},{"line_number":1826,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.59 \""},{"line_number":1827,"context_line":"                   \"or greater.)\")"},{"line_number":1828,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_b8c65148","line":1825,"range":{"start_line":1825,"start_character":63,"end_line":1825,"end_character":64},"updated":"2020-09-23 08:41:07.000000000","message":"ditto","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""},{"line_number":1825,"context_line":"                   \"formatted time. e.g. 2016-03-04T06:27:59Z .\""},{"line_number":1826,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.59 \""},{"line_number":1827,"context_line":"                   \"or greater.)\")"},{"line_number":1828,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_efb2c049","line":1825,"range":{"start_line":1825,"start_character":63,"end_line":1825,"end_character":64},"in_reply_to":"9f560f44_b8c65148","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"            default\u003dNone,"},{"line_number":1834,"context_line":"            help\u003d_(\"List only migrations changed earlier or equal to a \""},{"line_number":1835,"context_line":"                   \"certain point of time. The provided time should be an ISO \""},{"line_number":1836,"context_line":"                   \"8061 formatted time. e.g. 2016-03-04T06:27:59Z . \""},{"line_number":1837,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.66 or \""},{"line_number":1838,"context_line":"                   \"greater.)\")"},{"line_number":1839,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_f8bc49b6","line":1836,"range":{"start_line":1836,"start_character":46,"end_line":1836,"end_character":66},"updated":"2020-09-23 08:41:07.000000000","message":"``literal``?","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"            default\u003dNone,"},{"line_number":1834,"context_line":"            help\u003d_(\"List only migrations changed earlier or equal to a \""},{"line_number":1835,"context_line":"                   \"certain point of time. The provided time should be an ISO \""},{"line_number":1836,"context_line":"                   \"8061 formatted time. e.g. 2016-03-04T06:27:59Z . \""},{"line_number":1837,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.66 or \""},{"line_number":1838,"context_line":"                   \"greater.)\")"},{"line_number":1839,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_58dbb51f","line":1836,"range":{"start_line":1836,"start_character":66,"end_line":1836,"end_character":67},"updated":"2020-09-23 08:41:07.000000000","message":"extra space :)","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"            default\u003dNone,"},{"line_number":1834,"context_line":"            help\u003d_(\"List only migrations changed earlier or equal to a \""},{"line_number":1835,"context_line":"                   \"certain point of time. The provided time should be an ISO \""},{"line_number":1836,"context_line":"                   \"8061 formatted time. e.g. 2016-03-04T06:27:59Z . \""},{"line_number":1837,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.66 or \""},{"line_number":1838,"context_line":"                   \"greater.)\")"},{"line_number":1839,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_cfaffcdd","line":1836,"range":{"start_line":1836,"start_character":46,"end_line":1836,"end_character":66},"in_reply_to":"9f560f44_f8bc49b6","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":1892,"context_line":"            \"host\": parsed_args.host,"},{"line_number":1893,"context_line":"            \"server\": parsed_args.server,"},{"line_number":1894,"context_line":"            \"status\": parsed_args.status,"},{"line_number":1895,"context_line":"            \"marker\": parsed_args.marker,"},{"line_number":1896,"context_line":"            \"limit\": parsed_args.limit,"},{"line_number":1897,"context_line":"            \"changes_since\": parsed_args.changes_since"},{"line_number":1898,"context_line":"        }"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"        if parsed_args.changes_before:"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_3809a194","line":1897,"range":{"start_line":1895,"start_character":0,"end_line":1897,"end_character":54},"updated":"2020-09-23 08:41:07.000000000","message":"Don\u0027t you need to ensure that you have the necessary microversion to support these?","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":1892,"context_line":"            \"host\": parsed_args.host,"},{"line_number":1893,"context_line":"            \"server\": parsed_args.server,"},{"line_number":1894,"context_line":"            \"status\": parsed_args.status,"},{"line_number":1895,"context_line":"            \"marker\": parsed_args.marker,"},{"line_number":1896,"context_line":"            \"limit\": parsed_args.limit,"},{"line_number":1897,"context_line":"            \"changes_since\": parsed_args.changes_since"},{"line_number":1898,"context_line":"        }"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"        if parsed_args.changes_before:"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_2fbaf8df","line":1897,"range":{"start_line":1895,"start_character":0,"end_line":1897,"end_character":54},"in_reply_to":"9f560f44_3809a194","updated":"2020-09-23 11:27:28.000000000","message":"yeah, we should, added.","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e6cee105a8bf7618cce67eada1976bc4fe7b339e","unresolved":false,"context_lines":[{"line_number":1818,"context_line":"        parser.add_argument("},{"line_number":1819,"context_line":"            \u0027--changes-since\u0027,"},{"line_number":1820,"context_line":"            dest\u003d\u0027changes_since\u0027,"},{"line_number":1821,"context_line":"            metavar\u003d\u0027\u003cchanges-since\u003e\u0027,"},{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_75c15ae4","line":1821,"updated":"2020-09-23 14:59:42.000000000","message":"Can we make this an action so that we can validate it? Seems relatively easy to do?\n\nhttps://stackoverflow.com/questions/21437258/how-do-i-parse-a-date-as-an-argument-with-argparse/21437360","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"061072fb24ee38b1ea198e2d49a6e514846c98ed","unresolved":false,"context_lines":[{"line_number":1818,"context_line":"        parser.add_argument("},{"line_number":1819,"context_line":"            \u0027--changes-since\u0027,"},{"line_number":1820,"context_line":"            dest\u003d\u0027changes_since\u0027,"},{"line_number":1821,"context_line":"            metavar\u003d\u0027\u003cchanges-since\u003e\u0027,"},{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_a3228f52","line":1821,"in_reply_to":"9f560f44_75c15ae4","updated":"2020-09-24 02:56:14.000000000","message":"Sorry stephenfin, I have no good idea to add this check.","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"290dc86edf2d217a376633bddd1e6a0764f2ec7e","unresolved":false,"context_lines":[{"line_number":1818,"context_line":"        parser.add_argument("},{"line_number":1819,"context_line":"            \u0027--changes-since\u0027,"},{"line_number":1820,"context_line":"            dest\u003d\u0027changes_since\u0027,"},{"line_number":1821,"context_line":"            metavar\u003d\u0027\u003cchanges-since\u003e\u0027,"},{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_183ac1e4","line":1821,"in_reply_to":"9f560f44_a3228f52","updated":"2020-09-24 08:18:54.000000000","message":"Okay, let\u0027s do this separately","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e6cee105a8bf7618cce67eada1976bc4fe7b339e","unresolved":false,"context_lines":[{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""},{"line_number":1825,"context_line":"                   \"formatted time. e.g. ``2016-03-04T06:27:59Z``. \""},{"line_number":1826,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.59 \""},{"line_number":1827,"context_line":"                   \"or greater.)\")"},{"line_number":1828,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_f5f44a89","line":1825,"range":{"start_line":1825,"start_character":34,"end_line":1825,"end_character":35},"updated":"2020-09-23 14:59:42.000000000","message":",","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"061072fb24ee38b1ea198e2d49a6e514846c98ed","unresolved":false,"context_lines":[{"line_number":1822,"context_line":"            default\u003dNone,"},{"line_number":1823,"context_line":"            help\u003d_(\"List only migrations changed later or equal to a certain \""},{"line_number":1824,"context_line":"                   \"point of time. The provided time should be an ISO 8061 \""},{"line_number":1825,"context_line":"                   \"formatted time. e.g. ``2016-03-04T06:27:59Z``. \""},{"line_number":1826,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.59 \""},{"line_number":1827,"context_line":"                   \"or greater.)\")"},{"line_number":1828,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_433a9397","line":1825,"range":{"start_line":1825,"start_character":34,"end_line":1825,"end_character":35},"in_reply_to":"9f560f44_f5f44a89","updated":"2020-09-24 02:56:14.000000000","message":"Done","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e6cee105a8bf7618cce67eada1976bc4fe7b339e","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"            default\u003dNone,"},{"line_number":1834,"context_line":"            help\u003d_(\"List only migrations changed earlier or equal to a \""},{"line_number":1835,"context_line":"                   \"certain point of time. The provided time should be an ISO \""},{"line_number":1836,"context_line":"                   \"8061 formatted time. e.g. ``2016-03-04T06:27:59Z``. \""},{"line_number":1837,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.66 or \""},{"line_number":1838,"context_line":"                   \"greater.)\")"},{"line_number":1839,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_55eed6b4","line":1836,"range":{"start_line":1836,"start_character":39,"end_line":1836,"end_character":40},"updated":"2020-09-23 14:59:42.000000000","message":",","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"061072fb24ee38b1ea198e2d49a6e514846c98ed","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"            default\u003dNone,"},{"line_number":1834,"context_line":"            help\u003d_(\"List only migrations changed earlier or equal to a \""},{"line_number":1835,"context_line":"                   \"certain point of time. The provided time should be an ISO \""},{"line_number":1836,"context_line":"                   \"8061 formatted time. e.g. ``2016-03-04T06:27:59Z``. \""},{"line_number":1837,"context_line":"                   \"(Supported with ``--os-compute-api-version`` 2.66 or \""},{"line_number":1838,"context_line":"                   \"greater.)\")"},{"line_number":1839,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_a33baf98","line":1836,"range":{"start_line":1836,"start_character":39,"end_line":1836,"end_character":40},"in_reply_to":"9f560f44_55eed6b4","updated":"2020-09-24 02:56:14.000000000","message":"Done","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fb96c984fb96b21b3f3199697cbceb5212b3f959","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Compute v2 Server action implementations\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import argparse"},{"line_number":19,"context_line":"import datetime"},{"line_number":20,"context_line":"import getpass"},{"line_number":21,"context_line":"import io"},{"line_number":22,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_6fcb3952","line":19,"updated":"2020-09-24 04:19:56.000000000","message":"pep8: F401 \u0027datetime\u0027 imported but unused","commit_id":"13fe603c333e55a6a34ad4cc4bcf85696351a9d5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1647d83d94b526476949d3d9d1a61f9fdb39313f","unresolved":false,"context_lines":[{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1775,"context_line":"        parser \u003d super(ListMigration, self).get_parser(prog_name)"},{"line_number":1776,"context_line":"        parser.add_argument("},{"line_number":1777,"context_line":"            \"--server\","},{"line_number":1778,"context_line":"            metavar\u003d\"\u003cserver\u003e\","},{"line_number":1779,"context_line":"            dest\u003d\u0027server\u0027,"},{"line_number":1780,"context_line":"            default\u003dNone,"},{"line_number":1781,"context_line":"            help\u003d_(\u0027Server to show migration details (name or ID).\u0027)"},{"line_number":1782,"context_line":"        )"},{"line_number":1783,"context_line":"        parser.add_argument("},{"line_number":1784,"context_line":"            \"--host\","},{"line_number":1785,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":26,"id":"1f621f24_29b4c7f1","line":1782,"range":{"start_line":1776,"start_character":0,"end_line":1782,"end_character":9},"updated":"2020-11-09 14:55:32.000000000","message":"This isn\u0027t actually valid. The API doesn\u0027t expose it. It exposes instance_uuid which must be a UUID (so not a name)","commit_id":"b77c28d2954a2c5861a3a6a1df29d8de448f7c08"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0615ca1904bdf42f98c1f602a4b20506fd3be18a","unresolved":false,"context_lines":[{"line_number":1859,"context_line":""},{"line_number":1860,"context_line":"    def print_migrations(self, parsed_args, compute_client, migrations):"},{"line_number":1861,"context_line":"        columns \u003d [\u0027Source Node\u0027, \u0027Dest Node\u0027, \u0027Source Compute\u0027,"},{"line_number":1862,"context_line":"                   \u0027Dest Compute\u0027, \u0027Dest Host\u0027, \u0027Status\u0027,"},{"line_number":1863,"context_line":"                   \u0027Server UUID\u0027, \u0027Old Flavor\u0027, \u0027New Flavor\u0027,"},{"line_number":1864,"context_line":"                   \u0027Created At\u0027, \u0027Updated At\u0027]"},{"line_number":1865,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"9f560f44_ff14a1a1","line":1862,"range":{"start_line":1862,"start_character":34,"end_line":1862,"end_character":35},"updated":"2020-10-01 11:29:12.000000000","message":"Weird that \u0027Source Host\u0027 isn\u0027t in the list","commit_id":"b77c28d2954a2c5861a3a6a1df29d8de448f7c08"}],"openstackclient/tests/unit/compute/v2/fakes.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"70d156b9434ef2638c29c348d0a2381d5e12381f","unresolved":false,"context_lines":[{"line_number":1549,"context_line":"    \"\"\"Fake one or more server migrations.\"\"\""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"    @staticmethod"},{"line_number":1552,"context_line":"    def create_one_server_migration(attrs\u003dNone, methods\u003dNone):"},{"line_number":1553,"context_line":"        \"\"\"Create a fake server migration."},{"line_number":1554,"context_line":""},{"line_number":1555,"context_line":"        :param Dictionary attrs:"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_f9eabc71","line":1552,"range":{"start_line":1552,"start_character":8,"end_line":1552,"end_character":35},"updated":"2020-09-21 09:14:40.000000000","message":"Or simply\n\n  create_server_migration\n\nLater: never mind, I see there\u0027s a pattern here of these names, e.g. \u0027create_one_flavor\u0027. Odd but okay :)","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2e1989b60f26f39abc026ad135a83370030d11ce","unresolved":false,"context_lines":[{"line_number":1549,"context_line":"    \"\"\"Fake one or more server migrations.\"\"\""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"    @staticmethod"},{"line_number":1552,"context_line":"    def create_one_server_migration(attrs\u003dNone, methods\u003dNone):"},{"line_number":1553,"context_line":"        \"\"\"Create a fake server migration."},{"line_number":1554,"context_line":""},{"line_number":1555,"context_line":"        :param Dictionary attrs:"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_06573f5c","line":1552,"range":{"start_line":1552,"start_character":8,"end_line":1552,"end_character":35},"in_reply_to":"9f560f44_f9eabc71","updated":"2020-09-22 00:59:02.000000000","message":"Yeah, keep the same style.","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":3587,"context_line":"        # Set expected values"},{"line_number":3588,"context_line":"        kwargs \u003d {"},{"line_number":3589,"context_line":"            \u0027status\u0027: \u0027migrating\u0027,"},{"line_number":3590,"context_line":"            \u0027limit\u0027: None,"},{"line_number":3591,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3592,"context_line":"            \u0027host\u0027: None,"},{"line_number":3593,"context_line":"            \u0027server\u0027: None,"},{"line_number":3594,"context_line":"            \u0027changes_since\u0027: None"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_f83f291f","line":3591,"range":{"start_line":3590,"start_character":0,"end_line":3591,"end_character":27},"updated":"2020-09-23 08:41:07.000000000","message":"These...","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":3587,"context_line":"        # Set expected values"},{"line_number":3588,"context_line":"        kwargs \u003d {"},{"line_number":3589,"context_line":"            \u0027status\u0027: \u0027migrating\u0027,"},{"line_number":3590,"context_line":"            \u0027limit\u0027: None,"},{"line_number":3591,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3592,"context_line":"            \u0027host\u0027: None,"},{"line_number":3593,"context_line":"            \u0027server\u0027: None,"},{"line_number":3594,"context_line":"            \u0027changes_since\u0027: None"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_8f8fc42c","line":3591,"range":{"start_line":3590,"start_character":0,"end_line":3591,"end_character":27},"in_reply_to":"9f560f44_f83f291f","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":3591,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3592,"context_line":"            \u0027host\u0027: None,"},{"line_number":3593,"context_line":"            \u0027server\u0027: None,"},{"line_number":3594,"context_line":"            \u0027changes_since\u0027: None"},{"line_number":3595,"context_line":"        }"},{"line_number":3596,"context_line":""},{"line_number":3597,"context_line":"        self.migrations_mock.list.assert_called_with(**kwargs)"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_581295b5","line":3594,"range":{"start_line":3594,"start_character":0,"end_line":3594,"end_character":33},"updated":"2020-09-23 08:41:07.000000000","message":"and this shouldn\u0027t be here","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":3591,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3592,"context_line":"            \u0027host\u0027: None,"},{"line_number":3593,"context_line":"            \u0027server\u0027: None,"},{"line_number":3594,"context_line":"            \u0027changes_since\u0027: None"},{"line_number":3595,"context_line":"        }"},{"line_number":3596,"context_line":""},{"line_number":3597,"context_line":"        self.migrations_mock.list.assert_called_with(**kwargs)"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_ef980077","line":3594,"range":{"start_line":3594,"start_character":0,"end_line":3594,"end_character":33},"in_reply_to":"9f560f44_581295b5","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":3636,"context_line":"        # Set expected values"},{"line_number":3637,"context_line":"        kwargs \u003d {"},{"line_number":3638,"context_line":"            \u0027status\u0027: \u0027migrating\u0027,"},{"line_number":3639,"context_line":"            \u0027limit\u0027: None,"},{"line_number":3640,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3641,"context_line":"            \u0027host\u0027: None,"},{"line_number":3642,"context_line":"            \u0027server\u0027: None,"},{"line_number":3643,"context_line":"            \u0027changes_since\u0027: None"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_d825050c","line":3640,"range":{"start_line":3639,"start_character":0,"end_line":3640,"end_character":27},"updated":"2020-09-23 08:41:07.000000000","message":"Neither should these","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":3636,"context_line":"        # Set expected values"},{"line_number":3637,"context_line":"        kwargs \u003d {"},{"line_number":3638,"context_line":"            \u0027status\u0027: \u0027migrating\u0027,"},{"line_number":3639,"context_line":"            \u0027limit\u0027: None,"},{"line_number":3640,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3641,"context_line":"            \u0027host\u0027: None,"},{"line_number":3642,"context_line":"            \u0027server\u0027: None,"},{"line_number":3643,"context_line":"            \u0027changes_since\u0027: None"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_cf953c3f","line":3640,"range":{"start_line":3639,"start_character":0,"end_line":3640,"end_character":27},"in_reply_to":"9f560f44_d825050c","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":3640,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3641,"context_line":"            \u0027host\u0027: None,"},{"line_number":3642,"context_line":"            \u0027server\u0027: None,"},{"line_number":3643,"context_line":"            \u0027changes_since\u0027: None"},{"line_number":3644,"context_line":"        }"},{"line_number":3645,"context_line":""},{"line_number":3646,"context_line":"        self.migrations_mock.list.assert_called_with(**kwargs)"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_b822d1ff","line":3643,"range":{"start_line":3643,"start_character":0,"end_line":3643,"end_character":33},"updated":"2020-09-23 08:41:07.000000000","message":"Or this","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":3640,"context_line":"            \u0027marker\u0027: None,"},{"line_number":3641,"context_line":"            \u0027host\u0027: None,"},{"line_number":3642,"context_line":"            \u0027server\u0027: None,"},{"line_number":3643,"context_line":"            \u0027changes_since\u0027: None"},{"line_number":3644,"context_line":"        }"},{"line_number":3645,"context_line":""},{"line_number":3646,"context_line":"        self.migrations_mock.list.assert_called_with(**kwargs)"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_2f883820","line":3643,"range":{"start_line":3643,"start_character":0,"end_line":3643,"end_character":33},"in_reply_to":"9f560f44_b822d1ff","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e388c9d287aba07b703fe320e026ae3ab0b54663","unresolved":false,"context_lines":[{"line_number":3650,"context_line":"            len(self.MIGRATION_COLUMNS) - 2, \u0027Type\u0027)"},{"line_number":3651,"context_line":"        self.assertEqual(self.MIGRATION_COLUMNS, columns)"},{"line_number":3652,"context_line":"        self.assertEqual(tuple(self.data), tuple(data))"},{"line_number":3653,"context_line":""},{"line_number":3654,"context_line":""},{"line_number":3655,"context_line":"class TestListMigrationV266(TestListMigration):"},{"line_number":3656,"context_line":"    \"\"\"Test fetch all migrations by changes-before. \"\"\""}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_181c9dc0","line":3653,"updated":"2020-09-23 08:41:07.000000000","message":"Missing a 2.59 positive and negative test","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d87fc4ebfad93e9db5710af8d4b2718b4bccd32c","unresolved":false,"context_lines":[{"line_number":3650,"context_line":"            len(self.MIGRATION_COLUMNS) - 2, \u0027Type\u0027)"},{"line_number":3651,"context_line":"        self.assertEqual(self.MIGRATION_COLUMNS, columns)"},{"line_number":3652,"context_line":"        self.assertEqual(tuple(self.data), tuple(data))"},{"line_number":3653,"context_line":""},{"line_number":3654,"context_line":""},{"line_number":3655,"context_line":"class TestListMigrationV266(TestListMigration):"},{"line_number":3656,"context_line":"    \"\"\"Test fetch all migrations by changes-before. \"\"\""}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_821cbb13","line":3653,"in_reply_to":"9f560f44_181c9dc0","updated":"2020-09-23 11:27:28.000000000","message":"Done","commit_id":"898b6567b4998a9ba5e3b11ed42c0f9856286340"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e6cee105a8bf7618cce67eada1976bc4fe7b339e","unresolved":false,"context_lines":[{"line_number":3615,"context_line":""},{"line_number":3616,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":3617,"context_line":"            \u00272.23\u0027)"},{"line_number":3618,"context_line":""},{"line_number":3619,"context_line":"    def setup_server_migrations_data(self, migrations):"},{"line_number":3620,"context_line":"        self.data \u003d (common_utils.get_item_properties("},{"line_number":3621,"context_line":"            s, self.MIGRATION_COLUMNS) for s in migrations)"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"    def test_server_migraton_list(self):"},{"line_number":3624,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_15545e53","line":3621,"range":{"start_line":3618,"start_character":0,"end_line":3621,"end_character":59},"updated":"2020-09-23 14:59:42.000000000","message":"This looks to be identical in all test cases. Can\u0027t you move it to the parent class?","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"061072fb24ee38b1ea198e2d49a6e514846c98ed","unresolved":false,"context_lines":[{"line_number":3615,"context_line":""},{"line_number":3616,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":3617,"context_line":"            \u00272.23\u0027)"},{"line_number":3618,"context_line":""},{"line_number":3619,"context_line":"    def setup_server_migrations_data(self, migrations):"},{"line_number":3620,"context_line":"        self.data \u003d (common_utils.get_item_properties("},{"line_number":3621,"context_line":"            s, self.MIGRATION_COLUMNS) for s in migrations)"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"    def test_server_migraton_list(self):"},{"line_number":3624,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_28301ce9","line":3621,"range":{"start_line":3618,"start_character":0,"end_line":3621,"end_character":59},"in_reply_to":"9f560f44_15545e53","updated":"2020-09-24 02:56:14.000000000","message":"We have different MIGRATION_COLUMNS in each class, if we move this to the parent class, we cannot get the correct columns for current clas.","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"290dc86edf2d217a376633bddd1e6a0764f2ec7e","unresolved":false,"context_lines":[{"line_number":3615,"context_line":""},{"line_number":3616,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":3617,"context_line":"            \u00272.23\u0027)"},{"line_number":3618,"context_line":""},{"line_number":3619,"context_line":"    def setup_server_migrations_data(self, migrations):"},{"line_number":3620,"context_line":"        self.data \u003d (common_utils.get_item_properties("},{"line_number":3621,"context_line":"            s, self.MIGRATION_COLUMNS) for s in migrations)"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"    def test_server_migraton_list(self):"},{"line_number":3624,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_386985f7","line":3621,"range":{"start_line":3618,"start_character":0,"end_line":3621,"end_character":59},"in_reply_to":"9f560f44_28301ce9","updated":"2020-09-24 08:18:54.000000000","message":"That\u0027s not an issue. This is only evaluated at run time. It will use the value from MIGRATION_COLUMNS for this class.\n\n  \u003e\u003e\u003e class X:\n  ...     FOO \u003d \u0027a\u0027\n  ...     def stuff(self):\n  ...             print(self.FOO)\n  ...\n  \u003e\u003e\u003e class Y(X):\n  ...     FOO \u003d \u0027b\u0027\n  ...\n  \u003e\u003e\u003e y \u003d Y()\n  \u003e\u003e\u003e y.stuff()\n  b\n\n(If there was an issue here, the last call would return \u0027a\u0027)","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1a43358648b4d13700496a8b713f112bc1889a27","unresolved":false,"context_lines":[{"line_number":3615,"context_line":""},{"line_number":3616,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":3617,"context_line":"            \u00272.23\u0027)"},{"line_number":3618,"context_line":""},{"line_number":3619,"context_line":"    def setup_server_migrations_data(self, migrations):"},{"line_number":3620,"context_line":"        self.data \u003d (common_utils.get_item_properties("},{"line_number":3621,"context_line":"            s, self.MIGRATION_COLUMNS) for s in migrations)"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"    def test_server_migraton_list(self):"},{"line_number":3624,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_246cc005","line":3621,"range":{"start_line":3618,"start_character":0,"end_line":3621,"end_character":59},"in_reply_to":"9f560f44_386985f7","updated":"2020-09-24 10:46:58.000000000","message":"Yeah, I know this, I think I was missed the main key is the parent class in the microversion 2.80, I have a mistake in, changed.","commit_id":"50b7df07380117385b14234c7a9f2faf9acd6f8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0615ca1904bdf42f98c1f602a4b20506fd3be18a","unresolved":false,"context_lines":[{"line_number":3574,"context_line":"        self.data \u003d (common_utils.get_item_properties("},{"line_number":3575,"context_line":"            s, self.MIGRATION_COLUMNS) for s in migrations)"},{"line_number":3576,"context_line":""},{"line_number":3577,"context_line":"    def test_server_migraton_list(self):"},{"line_number":3578,"context_line":"        arglist \u003d ["},{"line_number":3579,"context_line":"            \u0027--status\u0027, \u0027migrating\u0027"},{"line_number":3580,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f560f44_ff7941fb","line":3577,"range":{"start_line":3577,"start_character":20,"end_line":3577,"end_character":28},"updated":"2020-10-01 11:29:12.000000000","message":"migration\n\n(there are a couple of these)","commit_id":"b77c28d2954a2c5861a3a6a1df29d8de448f7c08"}],"releasenotes/notes/bp-add-user-id-field-to-the-migrations-table-299b99ccb1f12a1f.yaml":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration-list`` commands."},{"line_number":5,"context_line":"    In microversion 2.76 support fetch migrations by ``project_id``"},{"line_number":6,"context_line":"    and/or ``user_id``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_229989cf","line":4,"range":{"start_line":4,"start_character":34,"end_line":4,"end_character":42},"updated":"2019-08-09 16:16:21.000000000","message":"command","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration-list`` commands."},{"line_number":5,"context_line":"    In microversion 2.76 support fetch migrations by ``project_id``"},{"line_number":6,"context_line":"    and/or ``user_id``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_b5c5a70c","line":4,"range":{"start_line":4,"start_character":34,"end_line":4,"end_character":42},"in_reply_to":"7faddb67_229989cf","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration-list`` commands."},{"line_number":5,"context_line":"    In microversion 2.76 support fetch migrations by ``project_id``"},{"line_number":6,"context_line":"    and/or ``user_id``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_e2a291fc","line":5,"range":{"start_line":5,"start_character":55,"end_line":5,"end_character":65},"updated":"2019-08-09 16:16:21.000000000","message":"project","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration-list`` commands."},{"line_number":5,"context_line":"    In microversion 2.76 support fetch migrations by ``project_id``"},{"line_number":6,"context_line":"    and/or ``user_id``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_d5c86322","line":5,"range":{"start_line":5,"start_character":55,"end_line":5,"end_character":65},"in_reply_to":"7faddb67_e2a291fc","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"77cf881a0d06a638793293f655582db71f5e21cb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration-list`` commands."},{"line_number":5,"context_line":"    In microversion 2.76 support fetch migrations by ``project_id``"},{"line_number":6,"context_line":"    and/or ``user_id``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_02a80dd9","line":6,"range":{"start_line":6,"start_character":13,"end_line":6,"end_character":20},"updated":"2019-08-09 16:16:21.000000000","message":"user","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5220e88c0368cfb028f033cac744886105743692","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration-list`` commands."},{"line_number":5,"context_line":"    In microversion 2.76 support fetch migrations by ``project_id``"},{"line_number":6,"context_line":"    and/or ``user_id``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_75cf2f29","line":6,"range":{"start_line":6,"start_character":13,"end_line":6,"end_character":20},"in_reply_to":"7faddb67_02a80dd9","updated":"2019-08-12 03:04:19.000000000","message":"Done","commit_id":"09876b1a08b9f2bd7a07bc807b2a6420d2618e09"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390f976225febd34b806e78c7549986f97cf35e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``server migrate list`` command has bean added."},{"line_number":5,"context_line":"    In microversion 2.80 support fetch migrations by ``project``"},{"line_number":6,"context_line":"    and/or ``user``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5faad753_e4e1212c","line":4,"range":{"start_line":4,"start_character":44,"end_line":4,"end_character":48},"updated":"2019-09-10 21:05:26.000000000","message":"been","commit_id":"91895d5ac5b8238e887b144f88dc26f1e5532137"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"70d156b9434ef2638c29c348d0a2381d5e12381f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``server migrate list`` command has been added."},{"line_number":5,"context_line":"    In microversion 2.80 support fetch migrations by ``project``"},{"line_number":6,"context_line":"    and/or ``user``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"9f560f44_cccf38b1","line":6,"range":{"start_line":4,"start_character":0,"end_line":6,"end_character":20},"updated":"2020-09-21 09:14:40.000000000","message":"How about simply:\n\n  Add ``server migration list`` command. This command allows\n  users to list the status of ongoing server migrations.","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2e1989b60f26f39abc026ad135a83370030d11ce","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``server migrate list`` command has been added."},{"line_number":5,"context_line":"    In microversion 2.80 support fetch migrations by ``project``"},{"line_number":6,"context_line":"    and/or ``user``."},{"line_number":7,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"9f560f44_26ad2331","line":6,"range":{"start_line":4,"start_character":0,"end_line":6,"end_character":20},"in_reply_to":"9f560f44_cccf38b1","updated":"2020-09-22 00:59:02.000000000","message":"Done","commit_id":"4ff63c7feb59ab4e46862a7fc6629804b3b177e2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"520c51dcf231ba28c317d4e0209e5c02a3f031e3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration list`` command. This command allows"},{"line_number":5,"context_line":"    users to list the status of ongoing server migrations."},{"line_number":6,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"9f560f44_bc4f7b33","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":148},"updated":"2020-09-22 09:30:39.000000000","message":"Can we drop this? It\u0027s not really relevant to this change","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13916f2087d81e633b053b442c7a242bff46fb34","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``server migration list`` command. This command allows"},{"line_number":5,"context_line":"    users to list the status of ongoing server migrations."},{"line_number":6,"context_line":"    [Blueprint `add-user-id-field-to-the-migrations-table \u003chttps://blueprints.launchpad.net/nova/+spec/add-user-id-field-to-the-migrations-table\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"9f560f44_e2e02ecf","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":148},"in_reply_to":"9f560f44_bc4f7b33","updated":"2020-09-22 11:02:05.000000000","message":"Done","commit_id":"3c6171729c0d87f87c1c58adeb1ae5235f38982b"}]}
