summaryrefslogtreecommitdiff
path: root/openstackclient/api/utils.py
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2019-09-27 12:19:29 +0100
committerStephen Finucane <sfinucan@redhat.com>2020-02-19 13:33:58 +0000
commit4c7a4587ca556897fc19a7684a6ee99484532161 (patch)
tree6309bbd25642e7f46ee8a3884366fa57c6dd9e01 /openstackclient/api/utils.py
parentdf872713c72de9a4b3d1422dd74aabe0bf26f145 (diff)
downloadpython-openstackclient-4c7a4587ca556897fc19a7684a6ee99484532161.tar.gz
Stop silently ignoring invalid 'server create --hint' options
The '--hint' option for 'server create' expects a key-value pair like so: openstack server create --hint group=245e1dfe-2d0e-4139-80a9-fce124948896 ... However, the command doesn't complain if this isn't the case, meaning typos like the below aren't indicated to the user: openstack server create --hint 245e1dfe-2d0e-4139-80a9-fce124948896 Due to how we'd implemented this here, this ultimately results in us POSTing the following as part of the body to 'os-servers': { ... "OS-SCH-HNT:scheduler_hints": { "245e1dfe-2d0e-4139-80a9-fce124948896": null } ... } Which is unfortunately allowed and ignored by nova due to the use of 'additionalProperties' in the schema [1] Do what we do for loads of other options and explicitly fail on invalid values. This involves adding a new argparse action since none of those defined in osc-lib work for us. This is included here to ease backporting of the fix but will be moved to osc-lib in a future patch. [1] https://github.com/openstack/nova/blob/19.0.0/nova/api/openstack/compute/schemas/servers.py#L142-L146 Change-Id: I9e96d2978912c8dfeadae4a782c481a17cd7e348 Signed-off-by: Stephen Finucane <sfinucan@redhat.com> Story: #2006628 Task: #36840 Related-Bug: #1845322 (cherry picked from commit ea27ebb0f918db9eab2f5751a1b065818faa0e6d) (cherry picked from commit 576d9ecfd0ac27611ec89af6d34e7378b7a39fb3) (cherry picked from commit 38e1274f478219bee8899b6c9eaa09dbfd03bbcd)
Diffstat (limited to 'openstackclient/api/utils.py')
0 files changed, 0 insertions, 0 deletions