)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"89a9bdad2d59d074435daadd8a098b6b378cda88","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Add --migration-type and --source-compute to migration-list"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The GET /os-migrations API take a migration_type and source_compute"},{"line_number":10,"context_line":"filter parameter on the request since the v2.0 API. This adds support"},{"line_number":11,"context_line":"for specifying those parameters in the \"nova migration-list\" CLI"},{"line_number":12,"context_line":"and related MigrationManager.list() python API binding methods."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_ed3dd6bc","line":9,"range":{"start_line":9,"start_character":27,"end_line":9,"end_character":31},"updated":"2019-08-07 13:27:21.000000000","message":"takes","commit_id":"1c3ec75a2fa5ba43eb8d85b66a1d4210dbdfb163"}],"doc/source/cli/nova.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"477bd30da7abadb3d29a46b24ce9050aa110bca7","unresolved":false,"context_lines":[{"line_number":2570,"context_line":""},{"line_number":2571,"context_line":"**Examples**"},{"line_number":2572,"context_line":""},{"line_number":2573,"context_line":"To see the list of evacuation operations from a compute service host:"},{"line_number":2574,"context_line":""},{"line_number":2575,"context_line":".. code-block:: console"},{"line_number":2576,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_14485d5a","line":2573,"range":{"start_line":2573,"start_character":41,"end_line":2573,"end_character":45},"updated":"2019-08-08 22:12:34.000000000","message":"Should maybe italicize this with *from*.","commit_id":"c40d4f432497523ed28ad7c48f89073b2631d896"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"014cce220f06f6f43bcb6a7ba2bbf0462dfecc43","unresolved":false,"context_lines":[{"line_number":2570,"context_line":""},{"line_number":2571,"context_line":"**Examples**"},{"line_number":2572,"context_line":""},{"line_number":2573,"context_line":"To see the list of evacuation operations from a compute service host:"},{"line_number":2574,"context_line":""},{"line_number":2575,"context_line":".. code-block:: console"},{"line_number":2576,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_7492f1a1","line":2573,"range":{"start_line":2573,"start_character":41,"end_line":2573,"end_character":45},"in_reply_to":"7faddb67_14485d5a","updated":"2019-08-08 22:13:54.000000000","message":"Done","commit_id":"c40d4f432497523ed28ad7c48f89073b2631d896"}],"novaclient/tests/functional/v2/test_migrations.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"477bd30da7abadb3d29a46b24ce9050aa110bca7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Huawei Technologies Co.,LTD."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_14613dd4","line":1,"updated":"2019-08-08 22:12:34.000000000","message":"Need to remove this.","commit_id":"c40d4f432497523ed28ad7c48f89073b2631d896"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"014cce220f06f6f43bcb6a7ba2bbf0462dfecc43","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Huawei Technologies Co.,LTD."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_148ffd75","line":1,"in_reply_to":"7faddb67_14613dd4","updated":"2019-08-08 22:13:54.000000000","message":"Done","commit_id":"c40d4f432497523ed28ad7c48f89073b2631d896"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1e7b4282258b1d6e3b452332ede7ae5637865570","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":"        return self.nova(\u0027migration-list\u0027,"},{"line_number":32,"context_line":"                         flags\u003d\u0027--os-compute-api-version %s\u0027 % version,"},{"line_number":33,"context_line":"                         params\u003d\u0027--migration-type %s --source-compute %s\u0027 % ("},{"line_number":34,"context_line":"                             migration_type, source_compute))"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_migration_list(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_9ba4dca4","line":33,"updated":"2019-08-20 01:16:31.000000000","message":"IMO, it may be better to add --migration-type only test case and --source-compute only test case because they can be specified independently. But it is a nit and the test cases can be added later.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"}],"novaclient/tests/functional/v2/test_resize.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"89a9bdad2d59d074435daadd8a098b6b378cda88","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        revert_usage \u003d self._get_absolute_limits()"},{"line_number":136,"context_line":"        self._compare_quota_usage(resize_usage, revert_usage)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    # TODO(mriedem): Test filtering migrations by type and source_compute."}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_6d7326b6","line":138,"updated":"2019-08-07 13:27:21.000000000","message":"This should probably live in a new test_migrations module but need to trigger a resize (which is the only thing we can do to create a migration record in a single node devstack environment) and re-use some of the code in here, like for picking an alternative flavor.\n\nAlso would probably want to test the CLI at three versions:\n\n1. 2.1\n2. 2.59\n3. 2.66","commit_id":"1c3ec75a2fa5ba43eb8d85b66a1d4210dbdfb163"}],"novaclient/v2/shell.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"477bd30da7abadb3d29a46b24ce9050aa110bca7","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_54ac95ed","line":5426,"updated":"2019-08-08 22:12:34.000000000","message":"Question to reviewers: should this just be --type to match the \"Type\" column in the output when using 2.23+? Not a big deal, but it\u0027s a bit redundant/wordy when you\u0027re doing migration-list to specify --migration-type, just doing migration-list --type seems easier.\n\nThe python binding API method kwarg needs to stay migration_type though to avoid colliding with the type reserved word.","commit_id":"c40d4f432497523ed28ad7c48f89073b2631d896"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2acff0bf659a3b18d88ec73bd1777a4a70cdfc66","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_f4eb410f","line":5426,"updated":"2019-08-08 22:14:04.000000000","message":"Question to reviewers: should this just be --type to match the \"Type\" column in the output when using 2.23+? Not a big deal, but it\u0027s a bit redundant/wordy when you\u0027re doing migration-list to specify --migration-type, just doing migration-list --type seems easier.\n\nThe python binding API method kwarg needs to stay migration_type though to avoid colliding with the type reserved word.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5d0bb5adcc991c465830e678815e1c221f865b21","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_fcf58685","line":5426,"in_reply_to":"7faddb67_7c2af62f","updated":"2019-08-22 19:08:01.000000000","message":"Yahbut, if someday we need e.g. an \"instance type\" as well, --migration-type X --instance-type Y reads better than --type X --instance-type Y\n\nExplicit is better than implicit?\n\nAutocomplete for the typing-challenged?","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"10169021072c68e8eb72176dccc6ecd11bac6e17","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_fc6586e3","line":5426,"in_reply_to":"7faddb67_b75bce83","updated":"2019-08-22 18:36:45.000000000","message":"Takashi has a good point about precedent and consistency with other --*-type options in nova CLI. (1) and (2) that Andrey pointed out are clearly why I was thinking about this in the first place. And now that Andrey mentions OSC, I looked up to see if --key-type is in OSC and there is an open change for it and I made the same comment there:\n\nhttps://review.opendev.org/#/c/577768/7/openstackclient/compute/v2/keypair.py@59\n\nI do like the idea that migrating from nova CLI to OSC would be more seamless by being consistent in the option names, but I would get too hung up on that since anyone migrating their scripts is going to have to do the work of figuring out what the OSC command structure and options are anyway. Meaning it\u0027s never going to be a straight clean cut-over to OSC for users.\n\nSo I\u0027m OK either way - using --migration-type for consistency in nova CLI, or using --type for the reasons Andrey pointed out. We could ask for Dean Troyer\u0027s opinion if we need someone else to weigh in.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"6f4340927276e9681667fdd71d3e173543af513c","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_3bd79ac3","line":5426,"in_reply_to":"7faddb67_dbf57484","updated":"2019-08-23 09:25:11.000000000","message":"Agree with Takashi, \u0027--migration-type\u0027 is clearly and friendly for me.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"67b538dd9e750713745c00bba4d2a09a2c5c828a","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_b75bce83","line":5426,"in_reply_to":"7faddb67_dbf57484","updated":"2019-08-21 09:12:50.000000000","message":"I agree with Takashi\u0027s point that all current CLI arguments have \u0027prefixes\u0027 (i.e --key-type, --backup-type, --console-type), but at the same time I see several pros for using just `--type`:\n\n1) it is much simpler for typing, harder to omit the typo \u003d\u003d more user-friendly\n\n2) as Matt already mentioned, it is also matching what users will see at the output (at least for 2.23+)\n\n3) I do not know when it will happen, but someday novaclient\u0027s CLI will be deprecated in favor of OSC. In terms of this process, as less inconsistency between OSC and novaclient\u0027s CLI will be, as fewer users will fill uncomfortable about the switch. Most OSC commands (for all services) use `--type` argument when it is possible (i.e `openstack server backup create $NAME --type $BACKUP_TYPE`, `openstack volume create $NAME --type $VOLUME_TYPE`, `openstack policy create $POLICY_FILENAME --type $POLICY_TYPE`)\n\n\nImo, there are more pros than cons and it would be nice to use `--type` everywhere (i.e for 2.0 and update keypairs, backups CLI as well) but the current approach works for me as well (since it is consistent to what we had before)","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1e7b4282258b1d6e3b452332ede7ae5637865570","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_dbf57484","line":5426,"in_reply_to":"7faddb67_f4eb410f","updated":"2019-08-20 01:16:31.000000000","message":"IMO, it is okay because \u0027--migration-type\u0027 is clearer in terms of what is specified in the option.\nAnd I know another example. The \u0027--key-type\u0027 option can be specified in adding a keypair and the \u0027Type\u0027 column is shown in output of the \u0027nova keypair-list\u0027 command.\n\n  usage: nova keypair-add [--pub-key \u003cpub-key\u003e] [--key-type \u003ckey-type\u003e]\n                          [--user \u003cuser-id\u003e]\n                          \u003cname\u003e\n\n  stack@devstack-master:/opt/devstack$ nova keypair-list\n  +-------+------+-------------------------------------------------+\n  | Name  | Type | Fingerprint                                     |\n  +-------+------+-------------------------------------------------+\n  | TEST1 | ssh  | 14:7a:7b:e5:31:34:33:48:c3:35:df:52:b2:28:ab:2d |\n  +-------+------+-------------------------------------------------+","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"92e983c37e6195da3e3483734bfc5bf17a5332a2","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_7c2af62f","line":5426,"in_reply_to":"7faddb67_fc6586e3","updated":"2019-08-22 18:48:27.000000000","message":"This is an area where I have preferred to use context for what exactly --type means, and most of OSC is like that.  There are some glaring inconsistencies there that I would love to fix, then network came along and is complicated enough that context of the command is not always enough in some cases.\n\nI would stay consistent with nova CLI for nova commands and OSC for OSC commands.  I think that is the \u0027least surprising\u0027 thing to do for users.\n\nIn the end for me consistency and user expectations should be the guiding factor.  Reasonable people often disagree on exactly what that is...","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"257fd891fe405c36020fe271906855f609ef3728","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    metavar\u003d\u0027\u003cstatus\u003e\u0027,"},{"line_number":5424,"context_line":"    help\u003d_(\u0027Fetch migrations for the given status.\u0027))"},{"line_number":5425,"context_line":"@utils.arg("},{"line_number":5426,"context_line":"    \u0027--migration-type\u0027,"},{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_f7c11f83","line":5426,"in_reply_to":"7faddb67_fcf58685","updated":"2019-08-22 19:42:36.000000000","message":"Agree with Dean I think it makes most sense to stay consistent with other things in python-novaclient here.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5d0bb5adcc991c465830e678815e1c221f865b21","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_dc41aaa8","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"updated":"2019-08-22 19:08:01.000000000","message":"Oh yes\n\n nova migration-list --migration-type migration\n\nI would almost say it\u0027s worth renaming this (you\u0027ll obv have to translate it between CLI and API).","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"346ec0ffcaea46354abe5e518bac1606d49d1e7a","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_3e1e9dbb","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_304c8cc7","updated":"2019-08-23 21:09:00.000000000","message":"@Eric: I guess it should be fixed at nova\u0027s API side...","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f069dbe12eba83ae3d0e9325bbbba2a28c203777","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_f23ccdc1","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_37c817a7","updated":"2019-08-22 20:19:20.000000000","message":"migration \u003d\u003d cold migration","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"32d45f0502c2329b1031292aaf54d1133090a8f5","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_7542ddad","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_3918f71c","updated":"2019-08-26 15:33:03.000000000","message":"This https://review.opendev.org/#/c/678593/ tries to just clarify the docs. If we want to go a step further and add a translation shim for specifying cold-migration -\u003e migration, then I can do that as well. The question would be, does the CLI actually start validating the given values (it doesn\u0027t today, nor does the API json schema [1]) and if so, does it accept both \"cold-migration\" and \"migration\" (I\u0027d think so yes since people might already be familiar with filtering non-live cold migrations in the API using \"migration\").\n\n[1] https://github.com/openstack/nova/blob/781f47b243f1924087b60fd0b840f7f1c67c96c4/nova/api/openstack/compute/schemas/migrations.py#L27","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"e36471dd7c4501d29ce8fc80d449a036d11d59c2","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_3918f71c","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_3e1e9dbb","updated":"2019-08-23 22:01:10.000000000","message":"No, this is exactly my point. What is considered good API design is *not* necessarily good CLI design. Selecting from a list of migration types, one of which is \"migration\", is poor UX.\n\nAgain, not downvoting, just expressing an opinion.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"981f5bfaae7588b28c753d0d9faab27b5bbca137","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_f05ef477","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_7be672b3","updated":"2019-08-23 18:50:23.000000000","message":"I\u0027d prefer to do that in a follow up so I don\u0027t lose the +2s on this change.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"257fd891fe405c36020fe271906855f609ef3728","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_37c817a7","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_dc41aaa8","updated":"2019-08-22 19:42:36.000000000","message":"--migration-type migration? are they not all migrations? what does migration mean here as a value? haha, how confusing","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7ec6f22159fb89e04c7629c93f15a073f2dfbe7d","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_304c8cc7","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_f05ef477","updated":"2019-08-23 18:51:29.000000000","message":"To restate, I would prefer if the token were actually cold-migration here, and translated to \u0027migration\u0027 under the covers if that\u0027s what\u0027s necessary.\n\nWon\u0027t block on it, though.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"6f4340927276e9681667fdd71d3e173543af513c","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"    dest\u003d\u0027migration_type\u0027,"},{"line_number":5428,"context_line":"    metavar\u003d\u0027\u003cmigration_type\u003e\u0027,"},{"line_number":5429,"context_line":"    help\u003d_(\u0027Filter migrations by type. Valid values are: evacuation, \u0027"},{"line_number":5430,"context_line":"           \u0027live-migration, migration, resize\u0027))"},{"line_number":5431,"context_line":"@utils.arg("},{"line_number":5432,"context_line":"    \u0027--source-compute\u0027,"},{"line_number":5433,"context_line":"    dest\u003d\u0027source_compute\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_7be672b3","line":5430,"range":{"start_line":5430,"start_character":28,"end_line":5430,"end_character":37},"in_reply_to":"7faddb67_f23ccdc1","updated":"2019-08-23 09:25:11.000000000","message":"Can we add a description for this (e.g. migration is cold migration type), otherwise it is confusing.\nUnless it is \u0027live-migration\u0027, it is a scene of \u0027cold migration\u0027.","commit_id":"0e7c99c8ead42326d8660103b0c78df70b775fe4"}]}
