)]}'
{"id":"openstack%2Fnova~768104","triplet_id":"openstack%2Fnova~master~Id367ee53ef1458b6a90fc107ab14f5b3cbba7a86","project":"openstack/nova","branch":"master","hashtags":[],"change_id":"Id367ee53ef1458b6a90fc107ab14f5b3cbba7a86","subject":"api-ref: Add notes about volume attach and detach being async","status":"MERGED","created":"2020-12-21 16:23:07.000000000","updated":"2021-01-20 17:54:42.000000000","submitted":"2021-01-20 17:54:42.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":"768104","meta_rev_id":"bf06977e433ef9fd2fc88ad9928e314ff97c36f3","_number":768104,"virtual_id_number":768104,"owner":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"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":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-01-20 17:54:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"recommended":{"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},"all":[{"value":1,"date":"2020-12-24 08:47:55.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":1,"date":"2020-12-29 07:37:36.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":1,"date":"2020-12-30 13:20:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},{"value":2,"date":"2020-12-21 18:08:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":1,"date":"2020-12-29 14:44:02.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2021-01-20 12:30:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}],"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":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2021-01-20 12:30:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}],"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":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}],"REVIEWER":[{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"_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"]},{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},{"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-12-21 16:34:16.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"},{"updated":"2020-12-21 16:34:49.000000000","updated_by":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2020-12-21 17:33:05.000000000","updated_by":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2020-12-21 18:08:03.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2020-12-21 18:51:22.000000000","updated_by":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"reviewer":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"state":"CC"},{"updated":"2020-12-24 08:47:55.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":"2020-12-29 07:37:36.000000000","updated_by":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"reviewer":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"state":"REVIEWER"},{"updated":"2020-12-29 14:44:02.000000000","updated_by":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"reviewer":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"state":"REVIEWER"},{"updated":"2020-12-30 13:20:07.000000000","updated_by":{"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},"reviewer":{"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},"state":"REVIEWER"},{"updated":"2021-01-20 12:30:57.000000000","updated_by":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"reviewer":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"state":"REVIEWER"}],"messages":[{"id":"8d6f72e1240354e19757b91df3ed0dcfef56c301","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"date":"2020-12-21 16:23:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"09f9c8a574b181b116bc1a93339c9f8a333aaf9d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-21 16:34:16.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/e89f0e6e7351404dbc67abf9ddcbcdd3 : SUCCESS in 6m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/312f59f1c7f7464491dedebddcb344a3 : SUCCESS in 7m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/27408af44ab54e27bdaf42bf8b96b34c : SUCCESS in 9m 43s","accounts_in_message":[],"_revision_number":1},{"id":"b3e79707951e5b8663cb024d84e3035fc38d7133","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2020-12-21 16:34:49.000000000","message":"Patch Set 1:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_PowerFlex_NOVA http://publiclogs.emc.com/04/768104/1/check/EMC_PowerFlex_NOVA/a9564ba/EMC_PowerFlex_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC PowerFlex CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerFlex_CI","accounts_in_message":[],"_revision_number":1},{"id":"de4c284923615e543d6f07a4828299805bceeddd","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-12-21 17:33:05.000000000","message":"Patch Set 1:\n\nBuild succeeded\n\n- dsvm-nova http://207.189.188.190/logs/768104/768104/1/check-not-vote/ext-nova-zuul/8cfad75 : SUCCESS in 1h 08m 11s","accounts_in_message":[],"_revision_number":1},{"id":"fb6d1f3390afaa776e1580adef3933cb25e88574","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2020-12-21 18:08:03.000000000","message":"Patch Set 1: Code-Review+2\n\nFine by me. The HTTP 202 code should indicate this to users, but we\u0027re not great about using those and this requires some knowledge of HTTP status codes in the first place.","accounts_in_message":[],"_revision_number":1},{"id":"49924582c125ffdb46a174b17b89a3298955e771","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2020-12-21 18:51:22.000000000","message":"Patch Set 1:\n\nBuild succeeded.\n\n- nova http://cloudbase-ci.com/nova/768104/1 : SUCCESS in 2h 26m 57s","accounts_in_message":[],"_revision_number":1},{"id":"85ce8f771d88cb0edb554f9ceab6aad79ca6cb7a","author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"date":"2020-12-21 19:14:10.000000000","message":"Patch Set 1:\n\n\u003e Patch Set 1: Code-Review+2\n\u003e \n\u003e Fine by me. The HTTP 202 code should indicate this to users, but we\u0027re not great about using those and this requires some knowledge of HTTP status codes in the first place.\n\nYup 202 is useful but it doesn\u0027t actually describe how callers should poll etc, I think we at least need to add this in the api-ref. If there isn\u0027t prior art then these notes will do for now but I wonder if we need something more formal across all of our APIs that return 202?","accounts_in_message":[],"_revision_number":1},{"id":"aa38b7f114111606762795a09cc679a49af46317","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2020-12-24 08:47:55.000000000","message":"Patch Set 1: Code-Review+1\n\nLGTM","accounts_in_message":[],"_revision_number":1},{"id":"1b50b49eaa0b1bf27c6a5d419cb6522d345a481e","author":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"date":"2020-12-29 07:37:36.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"a04e8241cc2be83ebb2f861a928e3fd55a7cf37a","author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"date":"2020-12-29 14:44:02.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"8d8e6687411b92f5058fe9d332d14cb1c77071a0","author":{"_account_id":32067,"name":"Linhui Zhou","email":"df.some@foxmail.com","username":"zhoulinhui"},"date":"2020-12-30 13:20:07.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"c39c29c8532ece8f8b37a235105b52f928396f3d","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2021-01-20 12:30:57.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\nI remember this confusing me when I didn\u0027t know about it. A very good idea to add this note.","accounts_in_message":[],"_revision_number":1},{"id":"9c30d2982343f0e509532c557ebe5fe30f004a04","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-20 12:32:38.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"3a617dccbc3198c922238b672357c23c28a42043","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-20 17:54:26.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/c165bc61a83649bcb7c9cd16d2c57fdb : SUCCESS in 6m 05s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b7de41c4c50342c8b1a7766353ee3eaa : SUCCESS in 7m 31s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ffd5f29665444a659cb5377679e36273 : SUCCESS in 9m 12s","accounts_in_message":[],"_revision_number":1},{"id":"bf06977e433ef9fd2fc88ad9928e314ff97c36f3","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-20 17:54:42.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"606a5dfecce02d564d6245f57359efbf89b780da","revisions":{"606a5dfecce02d564d6245f57359efbf89b780da":{"kind":"REWORK","_number":1,"created":"2020-12-21 16:23:07.000000000","uploader":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"ref":"refs/changes/04/768104/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/04/768104/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/04/768104/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/04/768104/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/04/768104/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/04/768104/1"}}},"commit":{"parents":[{"commit":"06c0a4e6bca36cbc334569a87811f61b6797e7ee","subject":"Merge \"Fallback to same-cell resize with qos ports\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/06c0a4e6bca36cbc334569a87811f61b6797e7ee"}]}],"author":{"name":"Lee Yarwood","email":"lyarwood@redhat.com","date":"2020-12-21 16:13:51.000000000","tz":0},"committer":{"name":"Lee Yarwood","email":"lyarwood@redhat.com","date":"2020-12-21 16:22:57.000000000","tz":0},"subject":"api-ref: Add notes about volume attach and detach being async","message":"api-ref: Add notes about volume attach and detach being async\n\nThis change adds some basic notes in the api-ref for a wrinkle in the\ncurrent os-volume_attachments API in that both attach and detach actions\nare async, returning to the caller *before* the underlying action is\ncomplete. As such callers need to make seperate calls to ensure these\nactions complete successfully.\n\nThere are also currently two different ways of polling for completion\nwhen attaching and detaching.\n\n- When attaching callers should use the volume status and list of\n  attachments as reported by the volume API.\n\n- When detaching callers should instead use the list of volume attachments\n  reported by the os-volume_attachments API.\n\nThis is due to the way in which Nova currently completes the attachment\nvia c-api last during attachment and deletes the bdm record last during\ndetachment.\n\nIt would be useful to one day centralise on just using the\nos-volume_attachments API to poll both actions but to do that we would\nneed to start tracking our own state within the BDMs.\n\nChange-Id: Id367ee53ef1458b6a90fc107ab14f5b3cbba7a86\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/606a5dfecce02d564d6245f57359efbf89b780da"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/606a5dfecce02d564d6245f57359efbf89b780da"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
