)]}'
{"id":"openstack%2Fnova-specs~730126","triplet_id":"openstack%2Fnova-specs~master~I09c5cc5c7f53cadc0bd14bb92f163078aec45643","project":"openstack/nova-specs","branch":"master","topic":"bp/rbd-glance-multistore","hashtags":[],"change_id":"I09c5cc5c7f53cadc0bd14bb92f163078aec45643","subject":"Add rbd-glance-multistore spec","status":"MERGED","created":"2020-05-21 21:11:29.000000000","updated":"2020-05-27 17:17:58.000000000","submitted":"2020-05-27 17:13:31.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":13,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"730126-1590599611316-65991141","meta_rev_id":"8af490ef9326076c79321ca7c5a95dd98ed6cd68","_number":730126,"virtual_id_number":730126,"owner":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-05-27 17:13:31.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"date":"2020-05-27 13:52:02.000000000","_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2020-05-27 07:49:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":1,"date":"2020-05-26 23:57:05.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":2,"date":"2020-05-27 17:02:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":1,"date":"2020-05-27 17:02:44.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-05-26 23:57:05.000000000","updated_by":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"reviewer":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"state":"REVIEWER"},{"updated":"2020-05-27 07:49:12.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2020-05-27 17:02:44.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"},{"updated":"2020-05-27 17:13:31.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":"559b0adf34510d0b3a90590492c09c5e048d29be","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-05-21 21:11:29.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bd7546b05476c6965cc553f2a1be64259ff65d53","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-05-21 21:12:24.000000000","message":"Patch Set 1: Workflow-1\n\nProbably needs some more *-smithing but wanted to get this out of my head.","accounts_in_message":[],"_revision_number":1},{"id":"dc49a8a613f03b40b8875a90ba80409e31c132bf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-21 21:26:40.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d6f6c0451e934109aea4d6951b86a1c3 : SUCCESS in 9m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/04849fb2a3044386a6b2428b9f893602 : SUCCESS in 4m 59s","accounts_in_message":[],"_revision_number":1},{"id":"3d3a8f0f20e405d6b086ad2be4e45ada118b326c","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-05-22 14:40:06.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"cecefd5a713bcd3718ead1926271ff7df53e1e52","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-22 14:52:49.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ba5a1f85aac449639fc5be68af4c49f4 : SUCCESS in 9m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/277d0004da304d99906c6eb823609767 : SUCCESS in 4m 47s","accounts_in_message":[],"_revision_number":2},{"id":"9e6688a868cbba1bab1ef5e6fecaa750167710be","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2020-05-26 15:58:53.000000000","message":"Patch Set 2: Code-Review-1\n\n(2 comments)\n\nI have two questions.","accounts_in_message":[],"_revision_number":2},{"id":"78815b5b110fc16a8fe32330399f9608f1dee05c","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-05-26 16:11:09.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nLet me know which things you want me to actually add here. I think adding something about the status polling is obvious, but do you want more words in the proposed change part about the config? They\u0027ll be duplicative of the deployer section I think.","accounts_in_message":[],"_revision_number":2},{"id":"8b557d84f6c39158d9462b22fc0f0685bae12289","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-05-26 16:19:42.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"bcfbf76b0d7ccdee2e83b9e72059c93580dd6ce1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-26 16:31:23.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b974aef2d61a4536b1e3268c493ab19c : SUCCESS in 9m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9514d7964e4443a59a69f83b67ccd2fc : SUCCESS in 5m 57s","accounts_in_message":[],"_revision_number":3},{"id":"1d383ce86720f860664e60001ef892de8a972e5e","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2020-05-26 23:46:08.000000000","message":"Patch Set 3: Code-Review+1\n\n(3 comments)\n\nThis looks fairly straightforward to me and a big improvement to how we\u0027re [not] handling multiple ceph clusters in a deployment. +1 while gibi takes a look at the latest PS.","accounts_in_message":[],"_revision_number":3},{"id":"c7ee01337f45db9214338970bc8eaf21a84dc0b6","author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"date":"2020-05-26 23:57:05.000000000","message":"Patch Set 3: Code-Review+1\n\nThis is a really neat way of going about solving this issue.\n\nSomething to note is that this obviously requires the Glance server to have access to all the Ceph clusters, which might not necessarily be a feasible task (probably even harder in an edge cloud scenario).\n\nAn alternative (which is far more complicated, so I wouldn\u0027t want to block the progress on this) would be for any imagebackends to implement a local cache so that one of the nova-computes downloads the image, uploads it to a known location on the image backend (RBD cluster) and so future boots will CoW from it.\n\nBut that is a whole another domain of problems which are: cleaning up base images, figuring out how to \u0027lock\u0027 an image while a compute node is downloading, etc.  While a lot of those constructs _kinda_ exist right now, it\u0027s still pretty hard to implement it for RBD.\n\nAll-in-all, +1 from an operators point-of-view.  I think a way to workaround the issue of being connected to multiple Ceph\u0027s is making sure that a Nova compute node can point towards a _specific_ instance of Glance so that the download/import happens on that cloud-local Glance instance (but connected to the same database so it ends up in the database)","accounts_in_message":[],"_revision_number":3},{"id":"db11826882cbaf840bbc63e2b89c0aef81ca9798","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2020-05-27 07:49:12.000000000","message":"Patch Set 3: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"4cca393a31c691e2ed4c68500fd31abada53edc4","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-05-27 13:52:02.000000000","message":"Patch Set 3:\n\n(2 comments)\n\n\u003e This is a really neat way of going about solving this issue.\n \u003e \n \u003e Something to note is that this obviously requires the Glance server\n \u003e to have access to all the Ceph clusters, which might not\n \u003e necessarily be a feasible task (probably even harder in an edge\n \u003e cloud scenario).\n\nFWIW, this solution comes directly as a request for edge scenarios. It only _requires_ glance to know about all RBD stores for the improved behavior. If you have one edge that glance doesn\u0027t know about that is using RBD, you\u0027ll get the same broken behavior as today. However, I can\u0027t really think of any reason you would _want_ to do that.\n\n \u003e An alternative (which is far more complicated, so I wouldn\u0027t want\n \u003e to block the progress on this) would be for any imagebackends to\n \u003e implement a local cache so that one of the nova-computes downloads\n \u003e the image, uploads it to a known location on the image backend (RBD\n \u003e cluster) and so future boots will CoW from it.\n \u003e \n \u003e But that is a whole another domain of problems which are: cleaning\n \u003e up base images, figuring out how to \u0027lock\u0027 an image while a compute\n \u003e node is downloading, etc.  While a lot of those constructs _kinda_\n \u003e exist right now, it\u0027s still pretty hard to implement it for RBD.\n\nYeah, this was discussed with the glance people a year ago when this plan was originally arranged. There\u0027s also the concern of a cinder sharing the same rbd pool and fighting with nova (or another glance) to do this work. IIRC, the glance people were pretty adamant that it was glance\u0027s job to provide this, and nova\u0027s job to orchestrate it as needed and I agree.\n\n \u003e All-in-all, +1 from an operators point-of-view.  I think a way to\n \u003e workaround the issue of being connected to multiple Ceph\u0027s is\n \u003e making sure that a Nova compute node can point towards a _specific_\n \u003e instance of Glance so that the download/import happens on that\n \u003e cloud-local Glance instance (but connected to the same database so\n \u003e it ends up in the database)\n\nI know we\u0027re prescribing running a glance api worker at edge sites for the caching aspects, but I don\u0027t know the details. However, I assume this is already possible and that nova asking the local-er glance to do the copy ends up with the local glance also having cached it while copying.","accounts_in_message":[],"_revision_number":3},{"id":"af8501dffd8a44b2cdab8b41ce2a6229323f11ed","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2020-05-27 17:02:44.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\n(2 comments)\n\nI think this looks good. Nice improvement and relatively simple approach, I like it.\n\nUpgrading to +2+W as gibi has confirmed his comments have been addressed.","accounts_in_message":[],"_revision_number":3},{"id":"287986bc3e30d576f32704a9ca79fc0a7481e036","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-27 17:02:55.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"ade6e2f97f31db544eb70c8281a9bf2019f54242","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-27 17:13:31.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"b744eacbd5d5aeafd7b38db636f5d9b5eee89e25","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-27 17:13:31.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/13c82a4d59ea4a93bc514ad62c0554d7 : SUCCESS in 9m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c2e88eaa555d45158754938cdf54ac8f : SUCCESS in 4m 12s","accounts_in_message":[],"_revision_number":3},{"id":"ee7c5486c41522ff8d1df214bf58ab3c96a25f9b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-27 17:17:58.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-specs https://zuul.opendev.org/t/openstack/build/ad0e6f9750fc43818796962017ebc9da : SUCCESS in 1m 37s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"6ce755f5ba392a62c7bf8bd664b1bbf1a987c77d","revisions":{"2693a3cec8dab729560f3107a96d6b3b339fe3c3":{"kind":"REWORK","_number":1,"created":"2020-05-21 21:11:29.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/26/730126/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/26/730126/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/1"}}},"commit":{"parents":[{"commit":"216f5941ee4b6c2da53fbe277b22cd6c5e282b63","subject":"Merge \"Add spec for downloading images via RBD\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/216f5941ee4b6c2da53fbe277b22cd6c5e282b63"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-05-21 21:11:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-05-21 21:11:13.000000000","tz":-420},"subject":"Add rbd-glance-multistore spec","message":"Add rbd-glance-multistore spec\n\nChange-Id: I09c5cc5c7f53cadc0bd14bb92f163078aec45643\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/2693a3cec8dab729560f3107a96d6b3b339fe3c3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/2693a3cec8dab729560f3107a96d6b3b339fe3c3"}]},"branch":"refs/heads/master"},"3175d58f807e6bcdc68fca77c7b2d3bb671321c4":{"kind":"REWORK","_number":2,"created":"2020-05-22 14:40:06.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/26/730126/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/26/730126/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/2"}}},"commit":{"parents":[{"commit":"216f5941ee4b6c2da53fbe277b22cd6c5e282b63","subject":"Merge \"Add spec for downloading images via RBD\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/216f5941ee4b6c2da53fbe277b22cd6c5e282b63"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-05-21 21:11:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-05-22 14:39:57.000000000","tz":-420},"subject":"Add rbd-glance-multistore spec","message":"Add rbd-glance-multistore spec\n\nChange-Id: I09c5cc5c7f53cadc0bd14bb92f163078aec45643\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/3175d58f807e6bcdc68fca77c7b2d3bb671321c4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/3175d58f807e6bcdc68fca77c7b2d3bb671321c4"}]},"branch":"refs/heads/master"},"6ce755f5ba392a62c7bf8bd664b1bbf1a987c77d":{"kind":"REWORK","_number":3,"created":"2020-05-26 16:19:42.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/26/730126/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/26/730126/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/26/730126/3"}}},"commit":{"parents":[{"commit":"216f5941ee4b6c2da53fbe277b22cd6c5e282b63","subject":"Merge \"Add spec for downloading images via RBD\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/216f5941ee4b6c2da53fbe277b22cd6c5e282b63"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-05-21 21:11:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-05-26 16:19:33.000000000","tz":-420},"subject":"Add rbd-glance-multistore spec","message":"Add rbd-glance-multistore spec\n\nChange-Id: I09c5cc5c7f53cadc0bd14bb92f163078aec45643\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/6ce755f5ba392a62c7bf8bd664b1bbf1a987c77d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/6ce755f5ba392a62c7bf8bd664b1bbf1a987c77d"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
