)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1392e3da1d9ba2c94939664b79bbbb94292ded3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"03d0c9a4_efbaef8d","updated":"2022-03-09 11:47:09.000000000","message":"This won\u0027t merge until the nova changes are merged, but the Depends-On is present so it\u0027s okay to review now","commit_id":"b2570fdf1b53bc7729fd090ac11d066fdcd060d3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"03b72137f9b429d5157c54b4755ef134dd5b49aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9397b3be_596485cd","in_reply_to":"03d0c9a4_efbaef8d","updated":"2022-03-10 08:18:10.000000000","message":"Thanks for the review stephenfin !","commit_id":"b2570fdf1b53bc7729fd090ac11d066fdcd060d3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"335b3aec6551ad6a3f4ab5062891cc5d68cdc22e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"02b685d4_6666874d","updated":"2022-05-31 16:42:32.000000000","message":"recheck","commit_id":"1101023af37596248e75d61adbc32835590025f5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7953a6602d72fbc1feaa4367d8b552cfbb1dcfcf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"64fb3c5d_aa3e7acb","updated":"2022-05-31 12:42:08.000000000","message":"recheck","commit_id":"1101023af37596248e75d61adbc32835590025f5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"5e85402a5178bacbcf2654b3b3038344a43c2dd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"27efdb69_6e6ba9af","updated":"2022-06-01 08:06:41.000000000","message":"recheck","commit_id":"14d447fc005b25b2347b677356f28848d4a0d317"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"13c9d1b5450a9c65e53a6950737f715a570c7f11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"abd9dd33_bd30a743","updated":"2022-06-01 06:54:10.000000000","message":"recheck","commit_id":"14d447fc005b25b2347b677356f28848d4a0d317"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1b71231add7afd31d489d2ed94911673c5572fdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"767a6dfe_cd5bf03f","updated":"2022-07-28 09:57:01.000000000","message":"It\u0027d be great to do this in openstacksdk too, if you could!","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"54d3ebb6bb030e7d58518fc3d948a315bda248b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"17146b68_bfa81900","updated":"2022-07-27 14:03:31.000000000","message":"Looks good to me. I was able to verify it in devstack with the recently landed nova 2.91 microversion","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a51f983f_65110b6f","updated":"2022-07-28 09:56:25.000000000","message":"Main complaint is the \u0027--unpin-az\u0027 option. I think this should be \u0027--no-availability-zone\u0027. Otherwise this looks pretty good. We won\u0027t be able to merge this until the python-novaclient patch is included in a release (we\u0027ll need to bump the lower-constraint)","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"8f985280_5ef6026e","updated":"2022-08-05 13:09:44.000000000","message":"Stephen, thanks for you review.\nI left only one open comment regarding the naming.","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"4f6559d11a8a4299387ad010d67dbf0d2d57c47b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ef40b497_0af7f55f","in_reply_to":"767a6dfe_cd5bf03f","updated":"2022-08-05 13:33:03.000000000","message":"Of course, I will update the openstacksdk as soon as will be back from holidays (2 weeks).","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"8223a40e42f5badcc1ab886a445503490c62881e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9ceccef0_6f9b0c76","in_reply_to":"ef40b497_0af7f55f","updated":"2022-08-22 13:02:28.000000000","message":"Please have a look at https://review.opendev.org/c/openstack/openstacksdk/+/853949","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b801b719b4dffd3442b9d5a95d4c9d6c5512f2b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"b92b3f08_855b9295","updated":"2022-08-05 16:22:06.000000000","message":"-1 just to highlight the discussion about the option naming. The other changes look good. Thanks!","commit_id":"34bec417826c6018304fa29c6ff49b2693140b30"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"216e25df5be0486a0633be993fe2a440710ef64e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"1bd0da0c_5194c544","updated":"2022-09-01 15:24:16.000000000","message":"novaclient 18.1.0 is out","commit_id":"6e0699c1cf3e603850580a6bb5ca2e377fe1bc84"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d7f23456d888e2e3f97c4fad4f42702ce8c147eb","unresolved":true,"context_lines":[{"line_number":4935,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":4936,"context_line":""},{"line_number":4937,"context_line":"            kwargs[\u0027destination_host\u0027] \u003d parsed_args.destination_host"},{"line_number":4938,"context_line":""},{"line_number":4939,"context_line":"        for server in parsed_args.server:"},{"line_number":4940,"context_line":"            server_obj \u003d utils.find_resource("},{"line_number":4941,"context_line":"                compute_client.servers,"}],"source_content_type":"text/x-python","patch_set":1,"id":"335f54ea_d221e6be","line":4938,"updated":"2022-03-08 13:35:17.000000000","message":"+1","commit_id":"b2570fdf1b53bc7729fd090ac11d066fdcd060d3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b35149c70afc9d23658fa9f4973d4d8620b5aca1","unresolved":false,"context_lines":[{"line_number":4935,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":4936,"context_line":""},{"line_number":4937,"context_line":"            kwargs[\u0027destination_host\u0027] \u003d parsed_args.destination_host"},{"line_number":4938,"context_line":""},{"line_number":4939,"context_line":"        for server in parsed_args.server:"},{"line_number":4940,"context_line":"            server_obj \u003d utils.find_resource("},{"line_number":4941,"context_line":"                compute_client.servers,"}],"source_content_type":"text/x-python","patch_set":1,"id":"d9d0832b_429fb291","line":4938,"in_reply_to":"335f54ea_d221e6be","updated":"2022-05-06 16:07:21.000000000","message":"Done","commit_id":"b2570fdf1b53bc7729fd090ac11d066fdcd060d3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"54d3ebb6bb030e7d58518fc3d948a315bda248b0","unresolved":true,"context_lines":[{"line_number":4567,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":4568,"context_line":"        group.add_argument("},{"line_number":4569,"context_line":"            \u0027--availability-zone\u0027,"},{"line_number":4570,"context_line":"            default\u003dNone,"},{"line_number":4571,"context_line":"            help\u003d_(\u0027Name of the availability zone in which to unshelve a \u0027"},{"line_number":4572,"context_line":"                   \u0027SHELVED_OFFLOADED server (supported by \u0027"},{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"597bdb4d_ac4ecf6e","line":4570,"updated":"2022-07-27 14:03:31.000000000","message":"hm, would this mean that if the user provides neither --availability-zone nor --unpin-az then the client will pass availability_zone\u003dNone to the server and therefore request an unpin?\n\n//later (after proving in a devstack that it is not buggy)\n\nAhh the logic in L4617 prevents it. Nice work!","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a88b5ea6b890fdf9ceb110e861d6ffb0b34c9f66","unresolved":false,"context_lines":[{"line_number":4567,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":4568,"context_line":"        group.add_argument("},{"line_number":4569,"context_line":"            \u0027--availability-zone\u0027,"},{"line_number":4570,"context_line":"            default\u003dNone,"},{"line_number":4571,"context_line":"            help\u003d_(\u0027Name of the availability zone in which to unshelve a \u0027"},{"line_number":4572,"context_line":"                   \u0027SHELVED_OFFLOADED server (supported by \u0027"},{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"d8a10aa8_85f46d3f","line":4570,"in_reply_to":"2c32e1a9_40bfb905","updated":"2022-08-02 15:32:11.000000000","message":"Ack","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"1e337c88557b1956be9ff4c6c77c0b92f1ccdd51","unresolved":true,"context_lines":[{"line_number":4567,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":4568,"context_line":"        group.add_argument("},{"line_number":4569,"context_line":"            \u0027--availability-zone\u0027,"},{"line_number":4570,"context_line":"            default\u003dNone,"},{"line_number":4571,"context_line":"            help\u003d_(\u0027Name of the availability zone in which to unshelve a \u0027"},{"line_number":4572,"context_line":"                   \u0027SHELVED_OFFLOADED server (supported by \u0027"},{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"2c32e1a9_40bfb905","line":4570,"in_reply_to":"597bdb4d_ac4ecf6e","updated":"2022-07-28 10:55:26.000000000","message":"🫶 thank you.","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"9b4913bd_cee0ed57","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"updated":"2022-07-28 09:56:25.000000000","message":"The phrasing we tend to use for this is \u0027--no-availability-zone\u0027, e.g. [1]\n\n[1] https://github.com/openstack/python-openstackclient/blob/60dd6e62574d7e4812a07f853e37f1c1b2d61b50/openstackclient/compute/v2/server.py#L3011-L3030","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6fe015008822d51a128235b54a050c3e62a4849","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"74ad760c_7a2f8342","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"0a9d7d87_be43acd6","updated":"2022-08-22 10:21:32.000000000","message":"\u003e i personally feel like the no prefix that is adopted from the cisco cli is not something we shoudl perpetuate and in general should be avoided.\n\nI\u0027ve no idea where it came from, but it\u0027s everywhere in OSC already and we\u0027re not going to remove it at this point of OSC\u0027s lifecycle. I\u0027ll also note that click defaults to this pattern [1]. This is miles better than a \u0027--flag [true|false]\u0027 pattern as seen in e.g. novaclient.\n\n\u003e its less readable than set and unset which we use in other context in the cli already. if we are to be consitent i would suggests --unset-az\n\nThe \u0027set\u0027 and \u0027unset\u0027 commands are examples of actions. We use them to set and unset attributes of a *resource*. There is no *shelved server* resource to modify attributes of so this doesn\u0027t make sense.\n\n\u003e i do not feel like --no-availablity-zone implies clearing the az but rather not using it for scheduling or perhaps selecting a host that is not part of any az explcitly so to me that would be a worse choice then what we have currently.\n\nThat may be the case for you specifically but this is a very clear pattern in OSC and matches user expectations. For example, to unset all properties of a flavour:\n\n  openstack flavor set --no-property ... $FLAVOR\n\nTo unset the keypair used when rebuilding a server:\n\n  openstack server rebuild --no-keypair ... $SERVER\n\nTo unset the properties of a host aggregate:\n\n  openstack aggregate set --no-property ... $AGGREGATE\n\nAnd therefore, to unset the availability zone of a shelved server:\n\n  openstack server unshelve --no-availability-zone ... $SERVER\n\n\u003e i think we need to make it imperitive to convay that it will modify the request spec/instanfce as a side effect of the unshleve rather than temporally ignoring it.\n\nWhile this is a fair point, it would be wholly inconsistent with the terminology used in OSC. Consistency is crucial in OSC. From the human interface guide [1]:\n\n\u003e Consistency between OpenStack experiences will ensure that the command line interface feels like a single experience instead of a jumble of disparate products. Fractured experiences only serve to undermine user expectations about how they should interact with the system, creating an unreliable user experience. To avoid this, each interaction and visual representation within the system must be used uniformly and predictably. The architecture and elements detailed in this document will provide a strong foundation for establishing a consistent experience.\n\nAnything that introduces a service-specific terminology and otherwise breaks from the patterns established elsewhere shouldn\u0027t be done. That includes this, unfortunately.\n\n[1] https://click.palletsprojects.com/en/8.1.x/options/#boolean-flags\n[2] https://docs.openstack.org/python-openstackclient/latest/contributor/humaninterfaceguide.html","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b801b719b4dffd3442b9d5a95d4c9d6c5512f2b3","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"6de94e6c_2ce0a503","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"21585b59_0eb47786","updated":"2022-08-05 16:22:06.000000000","message":"That\u0027s a fair point, but one of OSC\u0027s job is to hide the differences between the APIs and present a consistent user interface. \u0027--no-foo\u0027 is the preferred naming for (a) setting a value to false or (b) unsetting a value, so we should use that here IMO.\n\nIf you\u0027d like, I\u0027ll try to get gtema to weigh in here too (though I think he\u0027s on holiday at the moment too).","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cf1f14c76c3d1f720ce8a1b86d0312053a2bc4c5","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"ab5599c6_17e9cb34","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"6de94e6c_2ce0a503","updated":"2022-08-22 09:28:27.000000000","message":"I\u0027m OK as the doc of the flag describes clearly that it will mean \"unpin the instance from its current AZ\"","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"8223a40e42f5badcc1ab886a445503490c62881e","unresolved":false,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"f3670897_71afc93e","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"7000e224_fefa356f","updated":"2022-08-22 13:02:28.000000000","message":"Done","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5bcacf098485d97e03023fa0ab0be8229cc5a215","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7000e224_fefa356f","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"74ad760c_7a2f8342","updated":"2022-08-22 11:01:28.000000000","message":"we can proceed with --no-* for consitency but i stongly disagree that this is bettere then then --flag\u003dTrue|False patteren.\n\nit is vastly inferior \n\nopenstack flavor set --no-property ... $FLAVOR\n\nmay be used to unset all properties but \n\n openstack flavor unset --property ... $FLAVOR\n \nis used to unest them indiviutally and that is much more readable.\nthe same is true for aggreates.\n\nusage: openstack aggregate unset [-h] [--property \u003ckey\u003e] \u003caggregate\u003e\n\nUnset aggregate properties\n\npositional arguments:\n  \u003caggregate\u003e   Aggregate to modify (name or ID)\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --property \u003ckey\u003e\n                        Property to remove from aggregate (repeat option to remove multiple properties)\n\n\nunfortuetly shleve and unshelve are not the same as set and unset so we cant\njust have --aviablity-zone mean unset the az fo unshleve.\n\nunsetting all vlause of a specific type by using the set action feel fundementaly broken and not somethign we should ever have allowed.\n\nim aware we are stuck with this legacy mistake but any option that unsets something on a set endpoint is not self consitent with the behavior of the other options in that subcommand.","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"21585b59_0eb47786","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"9b4913bd_cee0ed57","updated":"2022-08-05 13:09:44.000000000","message":"In the nova api part we used the unpin az wording.\nTo my mind it is a bit more explicit but I\u0027m not opposed to change if everybody is ok with your proposal Stephen.","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"515f5c92904608a1f767555b5b9683339866fe3c","unresolved":true,"context_lines":[{"line_number":4573,"context_line":"                   \u0027--os-compute-api-version 2.77 or above)\u0027),"},{"line_number":4574,"context_line":"        )"},{"line_number":4575,"context_line":"        group.add_argument("},{"line_number":4576,"context_line":"            \u0027--unpin-az\u0027,"},{"line_number":4577,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":4578,"context_line":"            default\u003dFalse,"},{"line_number":4579,"context_line":"            help\u003d_(\u0027Unpin the availability zone of a SHELVED_OFFLOADED \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"0a9d7d87_be43acd6","line":4576,"range":{"start_line":4576,"start_character":13,"end_line":4576,"end_character":23},"in_reply_to":"ab5599c6_17e9cb34","updated":"2022-08-22 09:38:06.000000000","message":"i personally feel like the no prefix that is adopted from the cisco cli is not something we shoudl perpetuate and in general should be avoided.\n\nits less readable than set and unset which we use in other context in the cli already. if we are to be consitent i would suggests --unset-az\n\ni do not feel like --no-availablity-zone implies clearing the az but rather not using it for scheduling or perhaps selecting a host that is not part of any az explcitly so to me that would be a worse choice then what we have currently.\n\ni think we need to make it imperitive to convay that it will modify the request spec/instanfce as a side effect of the unshleve rather than temporally ignoring it.","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"}],"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":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":true,"context_lines":[{"line_number":184,"context_line":"            elif method_name \u003d\u003d \u0027unshelve\u0027:"},{"line_number":185,"context_line":"                version \u003d self.app.client_manager.compute.api_version"},{"line_number":186,"context_line":"                if version \u003e\u003d api_versions.APIVersion(\u00272.91\u0027):"},{"line_number":187,"context_line":"                    method.assert_called_with(availability_zone\u003dobject(),"},{"line_number":188,"context_line":"                                              host\u003dNone)"},{"line_number":189,"context_line":"                elif (version \u003e\u003d api_versions.APIVersion(\u00272.77\u0027) and"},{"line_number":190,"context_line":"                      version \u003c api_versions.APIVersion(\u00272.91\u0027)):"}],"source_content_type":"text/x-python","patch_set":11,"id":"43c6144e_ad9de605","line":187,"range":{"start_line":187,"start_character":64,"end_line":187,"end_character":72},"updated":"2022-07-28 09:56:25.000000000","message":"This is weird. Where is this coming from?","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b801b719b4dffd3442b9d5a95d4c9d6c5512f2b3","unresolved":false,"context_lines":[{"line_number":184,"context_line":"            elif method_name \u003d\u003d \u0027unshelve\u0027:"},{"line_number":185,"context_line":"                version \u003d self.app.client_manager.compute.api_version"},{"line_number":186,"context_line":"                if version \u003e\u003d api_versions.APIVersion(\u00272.91\u0027):"},{"line_number":187,"context_line":"                    method.assert_called_with(availability_zone\u003dobject(),"},{"line_number":188,"context_line":"                                              host\u003dNone)"},{"line_number":189,"context_line":"                elif (version \u003e\u003d api_versions.APIVersion(\u00272.77\u0027) and"},{"line_number":190,"context_line":"                      version \u003c api_versions.APIVersion(\u00272.91\u0027)):"}],"source_content_type":"text/x-python","patch_set":11,"id":"39703fd3_149b53c6","line":187,"range":{"start_line":187,"start_character":64,"end_line":187,"end_character":72},"in_reply_to":"34d877ca_916b5ab9","updated":"2022-08-05 16:22:06.000000000","message":"Thanks","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[{"line_number":184,"context_line":"            elif method_name \u003d\u003d \u0027unshelve\u0027:"},{"line_number":185,"context_line":"                version \u003d self.app.client_manager.compute.api_version"},{"line_number":186,"context_line":"                if version \u003e\u003d api_versions.APIVersion(\u00272.91\u0027):"},{"line_number":187,"context_line":"                    method.assert_called_with(availability_zone\u003dobject(),"},{"line_number":188,"context_line":"                                              host\u003dNone)"},{"line_number":189,"context_line":"                elif (version \u003e\u003d api_versions.APIVersion(\u00272.77\u0027) and"},{"line_number":190,"context_line":"                      version \u003c api_versions.APIVersion(\u00272.91\u0027)):"}],"source_content_type":"text/x-python","patch_set":11,"id":"34d877ca_916b5ab9","line":187,"range":{"start_line":187,"start_character":64,"end_line":187,"end_character":72},"in_reply_to":"43c6144e_ad9de605","updated":"2022-08-05 13:09:44.000000000","message":"Done","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":true,"context_lines":[{"line_number":8209,"context_line":"        self.run_method_with_servers(\u0027unshelve\u0027, 3)"},{"line_number":8210,"context_line":""},{"line_number":8211,"context_line":"    def test_unshelve_v277(self):"},{"line_number":8212,"context_line":"        self.app.client_manager.compute.api_version \u003d ("},{"line_number":8213,"context_line":"            api_versions.APIVersion(\u00272.77\u0027))"},{"line_number":8214,"context_line":""},{"line_number":8215,"context_line":"        server \u003d compute_fakes.FakeServer.create_one_server("}],"source_content_type":"text/x-python","patch_set":11,"id":"f70fc395_879b5d60","line":8212,"range":{"start_line":8212,"start_character":54,"end_line":8212,"end_character":55},"updated":"2022-07-28 09:56:25.000000000","message":"nit: let\u0027s stay consistent here and use backslashes. Ditto for the below","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[{"line_number":8209,"context_line":"        self.run_method_with_servers(\u0027unshelve\u0027, 3)"},{"line_number":8210,"context_line":""},{"line_number":8211,"context_line":"    def test_unshelve_v277(self):"},{"line_number":8212,"context_line":"        self.app.client_manager.compute.api_version \u003d ("},{"line_number":8213,"context_line":"            api_versions.APIVersion(\u00272.77\u0027))"},{"line_number":8214,"context_line":""},{"line_number":8215,"context_line":"        server \u003d compute_fakes.FakeServer.create_one_server("}],"source_content_type":"text/x-python","patch_set":11,"id":"4fa8e29d_38edea4c","line":8212,"range":{"start_line":8212,"start_character":54,"end_line":8212,"end_character":55},"in_reply_to":"f70fc395_879b5d60","updated":"2022-08-05 13:09:44.000000000","message":"Done","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[{"line_number":8209,"context_line":"        self.run_method_with_servers(\u0027unshelve\u0027, 3)"},{"line_number":8210,"context_line":""},{"line_number":8211,"context_line":"    def test_unshelve_v277(self):"},{"line_number":8212,"context_line":"        self.app.client_manager.compute.api_version \u003d ("},{"line_number":8213,"context_line":"            api_versions.APIVersion(\u00272.77\u0027))"},{"line_number":8214,"context_line":""},{"line_number":8215,"context_line":"        server \u003d compute_fakes.FakeServer.create_one_server("}],"source_content_type":"text/x-python","patch_set":11,"id":"9b3ed158_da6f117f","line":8212,"range":{"start_line":8212,"start_character":54,"end_line":8212,"end_character":55},"in_reply_to":"f70fc395_879b5d60","updated":"2022-08-05 13:09:44.000000000","message":"Done","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":true,"context_lines":[{"line_number":8417,"context_line":"                               self.check_parser,"},{"line_number":8418,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":8419,"context_line":"        self.assertIn(\u0027argument --unpin-az: not allowed\u0027"},{"line_number":8420,"context_line":"                      \u0027 with argument --availability-zone\u0027, str(ex))"},{"line_number":8421,"context_line":""},{"line_number":8422,"context_line":"    @mock.patch.object(common_utils, \u0027wait_for_status\u0027, return_value\u003dTrue)"},{"line_number":8423,"context_line":"    def test_unshelve_with_wait(self, mock_wait_for_status):"}],"source_content_type":"text/x-python","patch_set":11,"id":"08fed70a_cf6db318","line":8420,"range":{"start_line":8420,"start_character":23,"end_line":8420,"end_character":24},"updated":"2022-07-28 09:56:25.000000000","message":"Can you put spaces at the end of a line, not the beginning","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[{"line_number":8417,"context_line":"                               self.check_parser,"},{"line_number":8418,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":8419,"context_line":"        self.assertIn(\u0027argument --unpin-az: not allowed\u0027"},{"line_number":8420,"context_line":"                      \u0027 with argument --availability-zone\u0027, str(ex))"},{"line_number":8421,"context_line":""},{"line_number":8422,"context_line":"    @mock.patch.object(common_utils, \u0027wait_for_status\u0027, return_value\u003dTrue)"},{"line_number":8423,"context_line":"    def test_unshelve_with_wait(self, mock_wait_for_status):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a00d031_04217069","line":8420,"range":{"start_line":8420,"start_character":23,"end_line":8420,"end_character":24},"in_reply_to":"08fed70a_cf6db318","updated":"2022-08-05 13:09:44.000000000","message":"Done","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"}],"releasenotes/notes/bp-unshelve-to-host-9ce4b7abf81aeedf.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":true,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Add ``--host`` option to ``server unshelve``"},{"line_number":3,"context_line":"    command to enable administrators to specify a destination host during"},{"line_number":4,"context_line":"    unshelve of a shelved offloaded server. And add ``--unpin-az``"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"8c7a1d27_b9f2369b","line":1,"updated":"2022-07-28 09:56:25.000000000","message":"Can you re-add the leading \u0027---\u0027","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Add ``--host`` option to ``server unshelve``"},{"line_number":3,"context_line":"    command to enable administrators to specify a destination host during"},{"line_number":4,"context_line":"    unshelve of a shelved offloaded server. And add ``--unpin-az``"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"1e9b37a4_6e9800a5","line":1,"in_reply_to":"8c7a1d27_b9f2369b","updated":"2022-08-05 13:09:44.000000000","message":"Done","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6cc86a5059a147bdfa8f1705e9d2f7cfbddbc43","unresolved":true,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Add ``--host`` option to ``server unshelve``"},{"line_number":3,"context_line":"    command to enable administrators to specify a destination host during"},{"line_number":4,"context_line":"    unshelve of a shelved offloaded server. And add ``--unpin-az``"},{"line_number":5,"context_line":"    to ``server unshelve`` command to unpin a server availability zone."},{"line_number":6,"context_line":"    Note that both options requires"},{"line_number":7,"context_line":"    ``--os-compute-api-version 2.91`` or greater."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"45842b9d_892b1286","line":5,"range":{"start_line":2,"start_character":4,"end_line":5,"end_character":71},"updated":"2022-07-28 09:56:25.000000000","message":"nit: this reads oddly. How about\n\n  Add ``--host`` and ``--no-availability-zone`` options to the\n  ``server unshelve`` command to enable administrators to specify a\n  destination host or unset the availability zone during a server\n  unshelve, respectively. Both options require...","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"aef042227583bc648f560236b5c484533d5b44dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Add ``--host`` option to ``server unshelve``"},{"line_number":3,"context_line":"    command to enable administrators to specify a destination host during"},{"line_number":4,"context_line":"    unshelve of a shelved offloaded server. And add ``--unpin-az``"},{"line_number":5,"context_line":"    to ``server unshelve`` command to unpin a server availability zone."},{"line_number":6,"context_line":"    Note that both options requires"},{"line_number":7,"context_line":"    ``--os-compute-api-version 2.91`` or greater."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dd099d2d_3cf818c3","line":5,"range":{"start_line":2,"start_character":4,"end_line":5,"end_character":71},"in_reply_to":"45842b9d_892b1286","updated":"2022-08-05 13:09:44.000000000","message":"thank you yes this is clearly better.","commit_id":"526dcbf2f1e87592506005f0a138cf53aeffc7b7"}]}
