)]}'
{"id":"openstack%2Fpython-novaclient~685980","triplet_id":"openstack%2Fpython-novaclient~stable%2Ftrain~I0f9f75cba68e7582d32d4aab2f8f077b4360d386","project":"openstack/python-novaclient","branch":"stable/train","topic":"bug/1845322","hashtags":[],"change_id":"I0f9f75cba68e7582d32d4aab2f8f077b4360d386","subject":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options","status":"MERGED","created":"2019-10-01 14:36:11.000000000","updated":"2019-10-02 17:24:33.000000000","submitted":"2019-10-02 17:23:12.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"685980-1570036992300-ef2ef3aa","meta_rev_id":"75a31ed8220918bdb124f06cc08cbf1f0963f0e4","_number":685980,"virtual_id_number":685980,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2019-10-02 17:23:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"recommended":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"all":[{"value":1,"date":"2019-10-01 23:46:44.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":2,"date":"2019-10-02 16:22:50.000000000","_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":2,"date":"2019-10-01 17:37:44.000000000","_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":1,"date":"2019-10-02 16:22:50.000000000","_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-10-01 17:37:44.000000000","updated_by":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"reviewer":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"state":"REVIEWER"},{"updated":"2019-10-01 23:46:44.000000000","updated_by":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"reviewer":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"state":"REVIEWER"},{"updated":"2019-10-02 16:22:50.000000000","updated_by":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"reviewer":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"state":"REVIEWER"},{"updated":"2019-10-02 17:23:12.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"9a2e2b139739e0705244146aa3d5d27c437e66d4","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-10-01 14:36:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"562e49ca5c2f24c031d1074ee0845efdf9e47d44","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-10-01 14:42:44.000000000","message":"Patch Set 1: Code-Review-1\n\nI would like to see a short release note for the change in behavior on master and then that can be squashed into the backports as well. This is proper hardening but it changes something that used to silently pass (incorrectly) to outright fail and for that we should probably have a release note in case it catches anyone off guard.","accounts_in_message":[],"_revision_number":1},{"id":"b57812656dfd28bf2f04abdcffe7d738225d8df3","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-10-01 14:47:44.000000000","message":"Patch Set 1:\n\n\u003e I would like to see a short release note for the change in behavior\n \u003e on master and then that can be squashed into the backports as well.\n \u003e This is proper hardening but it changes something that used to\n \u003e silently pass (incorrectly) to outright fail and for that we should\n \u003e probably have a release note in case it catches anyone off guard.\n\nRelease note here https://review.opendev.org/#/c/685986/. Will squash back once that\u0027s approved.","accounts_in_message":[],"_revision_number":1},{"id":"e6d59bd8c5c9b498a00ad639f04720b7a1dc2a42","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-10-01 14:54:45.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"5365c7a7aaab096b99422f9fb90ff342cb7565d1","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-10-01 14:59:02.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"9043c617d8cf1ec36a3d8d9ef50c816ffa8b9578","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-01 16:09:14.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8a326ab570514ee28feab8e5780c1df2 : SUCCESS in 5m 16s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e9fe70d3a3bf4e01a4178fb9d1a797e5 : SUCCESS in 4m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7d6df649b862405aa1f1967e609cfe43 : SUCCESS in 3m 28s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/c7e8e77ec4d142e88a7db9d0c05757e0 : SUCCESS in 6m 00s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/07e96d5f1779418890e6747670196194 : SUCCESS in 4m 31s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/9985045e544a4aeb81cdb26de589f696 : SUCCESS in 6m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6ba9a7b04d714947b9c633813a09cd6f : SUCCESS in 3m 54s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8f5ae01ae617423f9e3c8d5e8c941c86 : SUCCESS in 5m 30s\n- novaclient-dsvm-functional https://zuul.opendev.org/t/openstack/build/03731ac64a0140ea8f91559b4c2b019e : SUCCESS in 1h 07m 17s","accounts_in_message":[],"_revision_number":3},{"id":"499319d42210e051f7bf14ed64bad645f2a6d4dd","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-10-01 17:37:44.000000000","message":"Patch Set 3: Code-Review+2\n\nlgtm now","accounts_in_message":[],"_revision_number":3},{"id":"553d699582d5862bba4ba4302039b6d05bd73fcb","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2019-10-01 23:46:44.000000000","message":"Patch Set 3: Code-Review+1\n\nLGTM","accounts_in_message":[],"_revision_number":3},{"id":"099409d2435cfbf7fe5b4f7baf611c4058b6fb40","author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"date":"2019-10-02 16:22:50.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\nLGTM.","accounts_in_message":[],"_revision_number":3},{"id":"c53a86cf97256d3b6a27cdf11850c541c04be7f2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-02 16:23:02.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"75b6209d86d1aa6b07dd6deb7c627b701c78dfbf","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-02 17:23:12.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"00d6729d6fb693c216d6133db49a1a52a94a871c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-02 17:23:12.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5d7389907258402abf039b5349a1260f : SUCCESS in 5m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f0a7813ea25c42f8a1dbd94af17583d7 : SUCCESS in 4m 11s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/7588d6fbfe984b128d452fc26930aa27 : SUCCESS in 4m 25s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/db0c7de0183645d0a18768570e7aa199 : SUCCESS in 3m 51s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/e9a912b2b7314a2aba97f3f7d36d2515 : SUCCESS in 3m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c852e35adb1042a3801efc1fe333d2db : SUCCESS in 4m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c777543bba314d1eb911d9cab160da0d : SUCCESS in 5m 42s\n- novaclient-dsvm-functional https://zuul.opendev.org/t/openstack/build/4a599b7ab3a8448d90015a01bf3b454e : SUCCESS in 56m 23s","accounts_in_message":[],"_revision_number":3},{"id":"d89dd558a37550cd5e25ee4eb160e7ba70d280ca","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-02 17:24:33.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cf422d1c85cc4040bd1b3d57044d4c4b : SUCCESS in 51s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6fb62d388bfa4e9fabe45acb82db234e : SUCCESS in 1m 03s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"33627242e8f845934bcc5affb616108a79d28cbe","revisions":{"5ab4fd1e9d84cbe40d8075682c90a12ca4865e4d":{"kind":"REWORK","_number":1,"created":"2019-10-01 14:36:11.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/80/685980/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/80/685980/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/1"}}},"commit":{"parents":[{"commit":"cd396b8b61ed7496f4166a2237b27aa0a138f6e5","subject":"Microversion 2.79: Add delete_on_termination to volume-attach API","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/cd396b8b61ed7496f4166a2237b27aa0a138f6e5"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-09-25 11:10:21.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-10-01 13:59:31.000000000","tz":60},"subject":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options","message":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options\n\nThe \u0027--hint\u0027 option for \u0027nova boot\u0027 expects a key-value pair like so:\n\n  nova boot --hint group\u003d245e1dfe-2d0e-4139-80a9-fce124948896 ...\n\nHowever, the command doesn\u0027t complain if this isn\u0027t the case, meaning\ntypos like the below aren\u0027t indicated to the user:\n\n  nova boot --hint 245e1dfe-2d0e-4139-80a9-fce124948896\n\nDue to how we\u0027d implemented this here, this ultimately results in us\nPOSTing the following as part of the body to \u0027os-servers\u0027:\n\n  {\n    ...\n    \"OS-SCH-HNT:scheduler_hints\": {\n      \"245e1dfe-2d0e-4139-80a9-fce124948896\": null\n    }\n    ...\n  }\n\nWhich is unfortunately allowed and ignored by nova due to the use of\n\u0027additionalProperties\u0027 in the schema [1]\n\nDo what we do for loads of other options and explicitly fail on invalid\nvalues.\n\n[1] https://github.com/openstack/nova/blob/19.0.0/nova/api/openstack/compute/schemas/servers.py#L142-L146\n\nChange-Id: I0f9f75cba68e7582d32d4aab2f8f077b4360d386\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\nCloses-Bug: #1845322\n(cherry picked from commit 6954aacd54e85859fecde22ac04db1ce7601dd35)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/5ab4fd1e9d84cbe40d8075682c90a12ca4865e4d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/5ab4fd1e9d84cbe40d8075682c90a12ca4865e4d"}]},"branch":"refs/heads/stable/train"},"fe889e3935fd3962b4d226b8a15e8c51614a6e32":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2019-10-01 14:54:45.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/80/685980/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/80/685980/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/2"}}},"commit":{"parents":[{"commit":"cd396b8b61ed7496f4166a2237b27aa0a138f6e5","subject":"Microversion 2.79: Add delete_on_termination to volume-attach API","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/cd396b8b61ed7496f4166a2237b27aa0a138f6e5"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-09-25 11:10:21.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-10-01 14:53:50.000000000","tz":60},"subject":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options","message":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options\n\nThe \u0027--hint\u0027 option for \u0027nova boot\u0027 expects a key-value pair like so:\n\n  nova boot --hint group\u003d245e1dfe-2d0e-4139-80a9-fce124948896 ...\n\nHowever, the command doesn\u0027t complain if this isn\u0027t the case, meaning\ntypos like the below aren\u0027t indicated to the user:\n\n  nova boot --hint 245e1dfe-2d0e-4139-80a9-fce124948896\n\nDue to how we\u0027d implemented this here, this ultimately results in us\nPOSTing the following as part of the body to \u0027os-servers\u0027:\n\n  {\n    ...\n    \"OS-SCH-HNT:scheduler_hints\": {\n      \"245e1dfe-2d0e-4139-80a9-fce124948896\": null\n    }\n    ...\n  }\n\nWhich is unfortunately allowed and ignored by nova due to the use of\n\u0027additionalProperties\u0027 in the schema [1]\n\nDo what we do for loads of other options and explicitly fail on invalid\nvalues.\n\nNOTE(stephenfin): This includes the release note first added separately\nin change I753e9a0cda1e118578373c519cf2fb2dd605a623.\n\n[1] https://github.com/openstack/nova/blob/19.0.0/nova/api/openstack/compute/schemas/servers.py#L142-L146\n\nChange-Id: I0f9f75cba68e7582d32d4aab2f8f077b4360d386\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\nCloses-Bug: #1845322\n(cherry picked from commit 6954aacd54e85859fecde22ac04db1ce7601dd35)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/fe889e3935fd3962b4d226b8a15e8c51614a6e32"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/fe889e3935fd3962b4d226b8a15e8c51614a6e32"}]},"branch":"refs/heads/stable/train"},"33627242e8f845934bcc5affb616108a79d28cbe":{"kind":"REWORK","_number":3,"created":"2019-10-01 14:59:02.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/80/685980/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/80/685980/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/80/685980/3"}}},"commit":{"parents":[{"commit":"cd396b8b61ed7496f4166a2237b27aa0a138f6e5","subject":"Microversion 2.79: Add delete_on_termination to volume-attach API","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/cd396b8b61ed7496f4166a2237b27aa0a138f6e5"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-09-25 11:10:21.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-10-01 14:58:21.000000000","tz":60},"subject":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options","message":"Stop silently ignoring invalid \u0027nova boot --hint\u0027 options\n\nThe \u0027--hint\u0027 option for \u0027nova boot\u0027 expects a key-value pair like so:\n\n  nova boot --hint group\u003d245e1dfe-2d0e-4139-80a9-fce124948896 ...\n\nHowever, the command doesn\u0027t complain if this isn\u0027t the case, meaning\ntypos like the below aren\u0027t indicated to the user:\n\n  nova boot --hint 245e1dfe-2d0e-4139-80a9-fce124948896\n\nDue to how we\u0027d implemented this here, this ultimately results in us\nPOSTing the following as part of the body to \u0027os-servers\u0027:\n\n  {\n    ...\n    \"OS-SCH-HNT:scheduler_hints\": {\n      \"245e1dfe-2d0e-4139-80a9-fce124948896\": null\n    }\n    ...\n  }\n\nWhich is unfortunately allowed and ignored by nova due to the use of\n\u0027additionalProperties\u0027 in the schema [1]\n\nDo what we do for loads of other options and explicitly fail on invalid\nvalues.\n\nNOTE(stephenfin): This includes the release note first added separately\nin change I753e9a0cda1e118578373c519cf2fb2dd605a623.\n\n[1] https://github.com/openstack/nova/blob/19.0.0/nova/api/openstack/compute/schemas/servers.py#L142-L146\n\nChange-Id: I0f9f75cba68e7582d32d4aab2f8f077b4360d386\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\nCloses-Bug: #1845322\n(cherry picked from commit 6954aacd54e85859fecde22ac04db1ce7601dd35)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/33627242e8f845934bcc5affb616108a79d28cbe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/33627242e8f845934bcc5affb616108a79d28cbe"}]},"branch":"refs/heads/stable/train"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
