)]}'
{"id":"openstack%2Fglance~769976","triplet_id":"openstack%2Fglance~master~I12daccb43c535b579c22f9d0742039b2ab42e929","project":"openstack/glance","branch":"master","topic":"bp/distributed-image-import","hashtags":[],"change_id":"I12daccb43c535b579c22f9d0742039b2ab42e929","subject":"Distributed image import","status":"MERGED","created":"2021-01-08 18:19:54.000000000","updated":"2021-03-04 00:00:55.000000000","submitted":"2021-03-03 23:58:57.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":43,"unresolved_comment_count":18,"has_review_started":true,"submission_id":"769976-bp/distributed-image-import","meta_rev_id":"162ec7898b7b95d742e8956b93dcd5b0a4c1cdb7","_number":769976,"virtual_id_number":769976,"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":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-03-03 23:58:56.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":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":2,"date":"2021-03-03 17:08:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":2,"date":"2021-03-03 05:03:02.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":1,"date":"2021-03-03 17:08:58.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"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":{"recommended":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":1,"date":"2021-03-03 05:03:02.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","value":1,"default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"}],"reviewers":{"CC":[{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]}],"REVIEWER":[{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-01-08 18:28:34.000000000","updated_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2021-01-08 18:28:34.000000000","updated_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"reviewer":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"state":"REVIEWER"},{"updated":"2021-01-08 18:28:34.000000000","updated_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"REVIEWER"},{"updated":"2021-01-08 19:03:10.000000000","updated_by":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"reviewer":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"state":"REVIEWER"},{"updated":"2021-01-08 19:13:01.000000000","updated_by":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"reviewer":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"state":"REVIEWER"},{"updated":"2021-01-08 19:13:01.000000000","updated_by":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"reviewer":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"state":"REVIEWER"},{"updated":"2021-01-08 21:30:19.000000000","updated_by":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"reviewer":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"state":"CC"},{"updated":"2021-01-08 23:49:10.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":"2021-01-09 00:48:29.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":"2021-03-03 17:08:58.000000000","updated_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"reviewer":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"state":"REVIEWER"}],"messages":[{"id":"9f535fa01ce9beb02ea079a928d3794ea5f9f43f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-08 18:19:54.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"368f58b821e8cf25b7a95d88ba542986ca17e609","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-08 18:28:01.000000000","message":"Patch Set 1:\n\nI thought I would help move this along a bit by PoC\u0027ing the approach, since I hadn\u0027t seen any code for that yet and the spec is still pending (apologies if I missed it). I just used an extra_properties key for expediency, but obviously we can replace that with a formal one, pending the outcome of that discussion on the spec.\n\nThis does work locally with roughly these steps:\n\n* Start with a normal devstack\n* Start another g-api instance on a different port that it does not know about (and thus will never send requests to). Configure direct_url\u003d on that one to point to the right host/port\n* Create an image and stage its data directly to the second worker (glance --os-image-url\u003d$url image-stage ...)\n* Run glance image-import normally, which hits the regular worker and proxies to the other one","accounts_in_message":[],"_revision_number":1},{"id":"8ca278d63673bcb029e07ee426204b9a94c06f22","author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"date":"2021-01-08 21:30:19.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"3c5672d015f68bdf10cece6fab27ebc3c1926de7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-08 21:46:30.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"d58c26fdd932ff01ee9e87b3b3791c40aae2ad63","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-08 21:47:36.000000000","message":"Patch Set 2:\n\nUpdated with an even simpler available thing from keystonauth1 to remove the shim, thanks to help from Lance.","accounts_in_message":[],"_revision_number":2},{"id":"1a5553220f3ae5cd9c74435a7e22e57c30f9e768","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-08 23:49:10.000000000","message":"Patch Set 2:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/2/check-not-vote/ext-glance-zuul/93a4cde : FAILURE in 4m 51s","accounts_in_message":[],"_revision_number":2},{"id":"824f95137ef470386488321af98d06316cecbf2d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-09 00:48:29.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- grenade https://zuul.opendev.org/t/openstack/build/a5ddecaa4e23487c85ba517aff9fe5fa : SUCCESS in 1h 00m 50s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/59f587fd3a3f49799c8125e022e4be73 : SUCCESS in 1h 12m 12s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4adfe00c48514cb381d6256c9cb9f320 : FAILURE in 6m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/585e130f903c46be90d4277905c7e494 : SUCCESS in 7m 50s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7d44641c5bc04efb9063df0226d7c80b : FAILURE in 4m 45s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/896090de27384d308dd245bfd355593f : FAILURE in 5m 59s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/3bbcaf01f3934aed939db5bbb302a8df : SUCCESS in 5m 06s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4a0d5a9e5c324fda82839b2337e98ec5 : SUCCESS in 6m 19s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/5b68119512e44a1f95df67e4c6d31e1f : SUCCESS in 9m 53s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/800ded303b884a05bde53d01cead432c : SUCCESS in 13m 05s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/c7bfa85c391c49e78ef1556dc3f82fe0 : SUCCESS in 4m 29s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/5331d2d2025a4db783b95503091f0cb7 : SUCCESS in 59m 04s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/31c3b59117754a128ce4e45d1539c891 : SUCCESS in 1h 21m 48s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/496217d2278e42b1bbc12147659e0c62 : SUCCESS in 1h 23m 15s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/09a4c53d279a4d4d8d98eda8b8cd93d1 : SUCCESS in 1h 16m 12s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/77a85709f3bd48e2b51ce6ed6577eaf3 : SUCCESS in 1h 03m 14s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/4c386ed60e4d4feb850ddd04235b9f90 : FAILURE in 58m 50s","accounts_in_message":[],"_revision_number":2},{"id":"5a447c14926b4a136597171b62810e1146fcc2e2","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-01-11 04:45:18.000000000","message":"Patch Set 2:\n\nThis is a good start, simple and clean approach.","accounts_in_message":[],"_revision_number":2},{"id":"babd3c7006ae590883103cd362cc4be3a35342ff","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2021-01-11 17:13:59.000000000","message":"Patch Set 2: Code-Review-1\n\n(2 comments)\n\nTwo things to think about inline.","accounts_in_message":[],"_revision_number":2},{"id":"c380162712f87246c9f837ca50cb9393d3abb393","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-11 18:19:19.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"71ec873b3a95902ee3fedb04b38baaf8799c48f3","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-11 19:07:07.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"d98d242e022e3082288e99f126985228c86fd699","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-12 17:14:30.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"f53ffbb8f77eb2ed5ba620b5e858d0ccd5e2faff","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-12 17:21:15.000000000","message":"Patch Set 3:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/3/check-not-vote/ext-glance-zuul/09a9220 : FAILURE in 5m 57s","accounts_in_message":[],"_revision_number":3},{"id":"4a83ae54075b9911e07a47f85a465fe3627f2030","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-12 17:44:37.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"481c97111aac4667801ec54dbc8a8133418ae697","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-12 18:21:18.000000000","message":"Patch Set 4:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/4/check-not-vote/ext-glance-zuul/8ccc017 : FAILURE in 5m 16s","accounts_in_message":[],"_revision_number":4},{"id":"f6ae29875973d825a2f2597ad1abd2e5d4a45efb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-12 18:38:37.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"2f0c9d1a65cdd232fea79bda52eb21e72d1f02aa","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-12 20:17:27.000000000","message":"Patch Set 5:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/5/check-not-vote/ext-glance-zuul/3d47f3f : FAILURE in 5m 01s","accounts_in_message":[],"_revision_number":5},{"id":"ca46bcf55fde408930a20f592acb09f9294f782b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-12 22:58:21.000000000","message":"Uploaded patch set 6: Commit message was updated.","accounts_in_message":[],"_revision_number":6},{"id":"073100e9bd4469a4f46a32533b46c20345fa824a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-13 00:26:16.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"f04ea1ff88b7f17b4e89ae56a4531c7bace08b15","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-13 01:54:03.000000000","message":"Patch Set 7:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/7/check-not-vote/ext-glance-zuul/78d7eca : FAILURE in 5m 13s","accounts_in_message":[],"_revision_number":7},{"id":"c8ebaf87ae35a6c3cc7a342c6fd256c6906f5517","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-13 06:35:24.000000000","message":"Patch Set 7: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- grenade https://zuul.opendev.org/t/openstack/build/25badbafd35748f283b0b057777105cd : SUCCESS in 1h 05m 06s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/a03b7c1f834c4234ae3f53b35d1b4cf0 : SUCCESS in 1h 20m 40s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/367a7a2fa1534849828416aa1f9ecd48 : SUCCESS in 7m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cbde415cc1134e7f95573b680aee37c7 : SUCCESS in 5m 47s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7f7d6404b7054d7db97ce8806f62cd83 : SUCCESS in 7m 02s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/522ae6a86658451cbb982b408c4ffd0a : SUCCESS in 4m 37s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/3507c4c00e4c4a28ac981a1efe0cf12f : SUCCESS in 5m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/59d8e35d77d84dc79e4d862d9a443243 : SUCCESS in 6m 32s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/e27abe1dc8c7453a84b7979be72cbdd8 : SUCCESS in 7m 54s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/d85eb0d0401544e0b206d4f122a4ddae : SUCCESS in 8m 23s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/e1d50860ddbe4ddc83fcc6b68bce2a13 : SUCCESS in 4m 57s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/479f6b4ade6c459fb74524fc6b3edbf4 : SUCCESS in 1h 00m 15s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/ce3b0d9d54cf4fa39801dc86767a49ba : FAILURE in 1h 48m 33s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/743edb2f62a04160aca260d478718b52 : SUCCESS in 1h 14m 54s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/1385deaecd4748fcb086348616f31e66 : SUCCESS in 1h 28m 42s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f39e28550edd4daa821f80a52cf6c3d9 : SUCCESS in 1h 00m 37s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/db0c5301a5264b88a543f5985de0ce14 : SUCCESS in 1h 29m 41s","accounts_in_message":[],"_revision_number":7},{"id":"c228d96dd5c4d7986ded51cbce3671d95b8fb261","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-13 17:03:28.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"a91acd22a3f22e9f43b1077941e805ce06a554be","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-14 00:28:41.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"11b646e7009798165ae37764a600d8b3ec12bdf2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-15 00:00:37.000000000","message":"Patch Set 9: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- grenade https://zuul.opendev.org/t/openstack/build/d6e157c19c474ea2a03df9499ec6c3db : SUCCESS in 1h 07m 34s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/3e3082e1bfa24376b8b01aa93e87d42b : FAILURE in 1h 34m 44s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b1a969ea8afc423b9adc52e1bb628d13 : SUCCESS in 7m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d771c6375082432f8b8cd3defdf463f8 : SUCCESS in 4m 44s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ec5d41de4d354098bf9f3d9b9093b8bb : SUCCESS in 5m 36s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/b810633e9d0f4ca8b024ace2a71c7bd4 : SUCCESS in 5m 24s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/f03112e6acc04ae9a696d8fa6dfbb88e : SUCCESS in 20m 13s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f0041dcbed9341a98bf40b5334348077 : SUCCESS in 18m 40s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/83402032ede846d18367f19a8994b2ed : SUCCESS in 19m 32s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/037b7a6ca69e4dcdba11ec46503916f2 : SUCCESS in 9m 17s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/7628427cb198473681c97965447e4f43 : SUCCESS in 4m 47s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/75980752f8c04530b3917fa76b72a66d : SUCCESS in 1h 44m 07s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/39f70316e3124d41875f40ede3436f1f : FAILURE in 1h 07m 22s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/645e4b5470844551b2f4b28e4d6de77a : TIMED_OUT in 2h 14m 04s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/b701eedbde2b4bedb06069d7be50bd21 : TIMED_OUT in 2h 06m 21s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/896da7503875432ca659e75fa8d3d1c5 : SUCCESS in 1h 50m 11s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/b582d2eb98ed4f909a15401e37cc7eb0 : SUCCESS in 2h 00m 04s","accounts_in_message":[],"_revision_number":9},{"id":"3cddb97f354748d1fe42563e7be7f8270cf6753a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-15 00:06:18.000000000","message":"Patch Set 9:\n\n(1 comment)\n\nrecheck all manner of gate fail","accounts_in_message":[],"_revision_number":9},{"id":"ace658c3b36a035be99c3701c0ea973459aa6b2b","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-15 11:33:02.000000000","message":"Patch Set 9:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/9/check-not-vote/ext-glance-zuul/360997a : FAILURE in 5m 46s","accounts_in_message":[],"_revision_number":9},{"id":"cb9f52ceac9398fdadb807760b174897b661240b","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-15 14:34:06.000000000","message":"Patch Set 9:\n\nNote that this passes the tempest test, running with devstack in CI:\n\nhttps://zuul.opendev.org/t/openstack/build/bb009a77417d4b7bb2e9fa100c19bbb1/log/job-output.txt#27777\n\nThere\u0027s also a test_remote_delete, which does the stage and delete against different workers, which also passed.","accounts_in_message":[],"_revision_number":9},{"id":"23a59fd71be39d2183464594ad3e73d1a0e0880a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-01-15 14:36:14.000000000","message":"Patch Set 9:\n\nrecheck unrelated failures","accounts_in_message":[],"_revision_number":9},{"id":"f6d995fe22cf21e365f28843656a6185a1986722","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-15 23:26:16.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/737cdaeeaf564704bd3c5f747af41bef : SUCCESS in 1h 10m 20s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/48dbd90e5e1c4a2eafea4c59d0338935 : SUCCESS in 1h 23m 51s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/107a0fe84fdb45a79ffbae1e7dc0d778 : SUCCESS in 6m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e395fe3649a646a1a48b9e58f39d6ba6 : SUCCESS in 4m 48s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/5261ea54200b4f9c9819f7972f982a18 : SUCCESS in 5m 34s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/e2202f190ab74b0aabb05b18cdd3b3d5 : SUCCESS in 5m 08s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d26624b2aff74681b7c659d0577428df : SUCCESS in 7m 44s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f31af9377b9b4c72b1ee51bc76945822 : SUCCESS in 7m 09s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/02d6309e34944e15af1c230cdf2e63ab : SUCCESS in 7m 28s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/de96d9694f044df2821ff4f74654bea7 : SUCCESS in 9m 17s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/c05e7a85467645368011a535a31d4056 : SUCCESS in 4m 40s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/fbdae425c7b441caada7b857de301070 : SUCCESS in 1h 05m 48s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/0ebbc8551af3439095a6880cf5678cb9 : SUCCESS in 1h 12m 14s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/fe1f85b6d441469db2781bc6c5c24784 : SUCCESS in 1h 13m 19s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/a764b643abb745519d012206d97db33e : SUCCESS in 1h 23m 00s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/12c08ebf5e5f46789305fc25796dd39c : SUCCESS in 58m 03s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/ad3eb2b5f76f4481a3e26c9c2e0bed1c : SUCCESS in 1h 10m 34s","accounts_in_message":[],"_revision_number":9},{"id":"a2cdd4b4f523d63cfa6d76c37d0586c4c7c61c8c","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-01-16 00:02:04.000000000","message":"Patch Set 9:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/9/check-not-vote/ext-glance-zuul/446c5b1 : FAILURE in 4m 44s","accounts_in_message":[],"_revision_number":9},{"id":"e09ac8999689d95856db5e768228339db0a0ed2c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2021-02-01 17:28:43.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"aa0563fcaa1dd4a886fafec58212e22397b66a10","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-02-01 18:21:47.000000000","message":"Patch Set 10: Code-Review-1\n\n(6 comments)\n\nAs we discussed in the meeting, I would very much like to see this be a separate patch on top of my original one, with just the location changes. That will make it easier to actually suss out the differences.\n\nThis patch includes not only the properties-\u003elocations changes, but also a bunch of other unrelated or supporting refactors (which may very well be good), but which distract from and confuse the actual implementation. They make this patch much larger in scope than it should be, which is *just* the proxy-to-stage-host behavior. It looks to me like you\u0027re adding a big special case to the storing of the image in the staging store, but it\u0027s hard for me to tell if that is really just part of your refactor, or actually necessary for the use of locations to store the staging host metadata entry. I\u0027m also not sure if the refactors are required to use the locations for storing the staging host or not.\n\nI see no new or changed tests for all the refactors. I suspect that means they\u0027re not currently tested, or not thoroughly enough. I would expect to see added test coverage to go along with them to prove that they work and are equivalent to what we have now. I also see no tests for the actual use of locations for storing the staging host, but it is also hard to separate the new staging host stuff from the refactors to even know which bits would/should be separately tested.\n\nSo, in summary, I would very much like to see:\n 1. The refactors be split into separate patches with tests that we can potentially merge ahead of\n    the proxying change.\n 2. My PS9 restored as PS11, and with your proposed locations changes as a patch on top, and tests to\n    show that we are using them properly.\n 3. You orphaned the patch above this one that enables the additional worker and enables the tempest \n    test. The previous patch was fully tested in devstack and tempest, and I don\u0027t anticipate \n    approving this approach until we see that test also passing on this one. So please either rebase \n    that on top of your proposed changes patch, or clone it to go above yours to enable the test.\n\nIt would have been easier if the refactors and the proposed locations changes were kept separate from the beginning, but let me know if you need help splitting those from PS9 and I\u0027ll be glad to assist (or just do it for you), because I think it\u0027s important.","accounts_in_message":[],"_revision_number":10},{"id":"99a5c8c424d7446bbb1159a8a9adfdf2b4ba1abb","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2021-02-01 20:56:32.000000000","message":"Patch Set 10:\n\n(8 comments)\n\n\u003e Patch Set 10: Code-Review-1\n\u003e \n\u003e (6 comments)\n\u003e \n\u003e As we discussed in the meeting, I would very much like to see this be a separate patch on top of my original one, with just the location changes. That will make it easier to actually suss out the differences.\n\nLike discussed in IRC, getting between delta, and the individual approaches in gerrit is pretty easy and makes it much faster to compare. \n\u003e \n\u003e This patch includes not only the properties-\u003elocations changes, but also a bunch of other unrelated or supporting refactors (which may very well be good), but which distract from and confuse the actual implementation. They make this patch much larger in scope than it should be, which is *just* the proxy-to-stage-host behavior. It looks to me like you\u0027re adding a big special case to the storing of the image in the staging store, but it\u0027s hard for me to tell if that is really just part of your refactor, or actually necessary for the use of locations to store the staging host metadata entry. I\u0027m also not sure if the refactors are required to use the locations for storing the staging host or not.\n\nAnd this is exactly the attitude why I said the quick and easy is not good enough. You wanted to take the scope of the spec, which should pretty clearly underline that the approach explained is there to clean up lots of the technical debt we left behind by merging the image import in the shape it was. Yet you took the \"new and shiny\" and strapped it on with some bubblegum and duct tape to call it good. You wanted to see PoC to understand _why_ this approach was so important that the duct tape and bubblegum wasn\u0027t good enough to tick the box. Well all the refactoring around staging and import flows are the reason.\n\n\u003e \n\u003e I see no new or changed tests for all the refactors. I suspect that means they\u0027re not currently tested, or not thoroughly enough. I would expect to see added test coverage to go along with them to prove that they work and are equivalent to what we have now. I also see no tests for the actual use of locations for storing the staging host, but it is also hard to separate the new staging host stuff from the refactors to even know which bits would/should be separately tested.\n\nYeah lets worry about the tests when we\u0027re past of \"PoC for you to understand the concept of the design\".\n\n\u003e \n\u003e So, in summary, I would very much like to see:\n\u003e  1. The refactors be split into separate patches with tests that we can potentially merge ahead of\n\u003e     the proxying change.\n\nI\u0027m open to suggestions of how/if this should be split after we have the spec what we\u0027re doing agreed.\n\n\u003e  2. My PS9 restored as PS11, and with your proposed locations changes as a patch on top, and tests to\n\u003e     show that we are using them properly.\n\nDitto, we can look testing and rewriting this as it\u0027s own change once we\u0027ve got past the spec phase of the work.\n\n\u003e  3. You orphaned the patch above this one that enables the additional worker and enables the tempest \n\u003e     test. The previous patch was fully tested in devstack and tempest, and I don\u0027t anticipate \n\u003e     approving this approach until we see that test also passing on this one. So please either rebase \n\u003e     that on top of your proposed changes patch, or clone it to go above yours to enable the test.\n\nDitto, changes to tempest are implementation details, we\u0027ll get there once we get past the spec phase. \n\u003e \n\u003e It would have been easier if the refactors and the proposed locations changes were kept separate from the beginning, but let me know if you need help splitting those from PS9 and I\u0027ll be glad to assist (or just do it for you), because I think it\u0027s important.\n\nIt would have been easier if you would have implemented your PoC based on the design written in the spec or focussed explaining your reasons in the spec rather than making quick and dirty implementation and expecting the spec to be aligned with that.","accounts_in_message":[],"_revision_number":10},{"id":"f58794fae0ba4a5dc451cbf91e728892d930ce06","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-01 21:46:23.000000000","message":"Patch Set 10: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- grenade https://zuul.opendev.org/t/openstack/build/3164a720ce8e4d7fa67f6e654b91bff4 : FAILURE in 1h 04m 11s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/108ece1225a04d119e931742a6fd6265 : FAILURE in 28m 47s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4fca27e8df434e4faad90d7eba6c78a0 : FAILURE in 6m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/089ed77634d842aa8c5178fbda2364cf : SUCCESS in 7m 47s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/3ce62e8ad2574c329fed021cb2949e39 : FAILURE in 5m 03s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/894be5785ef746b2a96a156820761e9f : FAILURE in 7m 46s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/96c15f390189453f84eb443a56466e2f : SUCCESS in 6m 21s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff2cef4714a24975b3cfcea5548fa9b3 : SUCCESS in 7m 32s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/3be62d24cac2443abfcc92540a9f1781 : FAILURE in 9m 00s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/02a1903f4d1c41039d65b9518d925367 : FAILURE in 9m 55s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/b03b1b5c3e99481b91513c47757a3013 : SUCCESS in 5m 28s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/9981f8ca0f104e79929844ad3a445fe4 : FAILURE in 35m 21s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/6d420a15e4fe46fa98af4a450a1562b0 : POST_FAILURE in 26m 25s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/56449941805d46c9b66254920b395ad5 : POST_FAILURE in 30m 05s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/2bc5ebe9554441e6b2baf189eff969a9 : POST_FAILURE in 29m 04s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/645d8212779a4eb2801709cded606365 : FAILURE in 58m 30s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/ee4fe0c2cbec4cd6b68e267f582a4adb : FAILURE in 34m 51s","accounts_in_message":[],"_revision_number":10},{"id":"3b2f34ab608c0d4ef53b8b7674da219108bfe63a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-02-01 22:27:37.000000000","message":"Patch Set 10:\n\n(6 comments)\n\n\u003e Like discussed in IRC, getting between delta, and the individual approaches in gerrit is pretty easy and makes it much faster to compare. \n\nAlso like I said in IRC, it\u0027s not easier, both because you\u0027re changing more than needs to be changed just to support the proxy behavior, and because you bring in all the rebase noise with this.\n\n\u003e And this is exactly the attitude why I said the quick and easy is not good enough. You wanted to take the scope of the spec, which should pretty clearly underline that the approach explained is there to clean up lots of the technical debt we left behind by merging the image import in the shape it was. Yet you took the \"new and shiny\" and strapped it on with some bubblegum and duct tape to call it good. You wanted to see PoC to understand _why_ this approach was so important that the duct tape and bubblegum wasn\u0027t good enough to tick the box. Well all the refactoring around staging and import flows are the reason.\n\nFor what it\u0027s worth, when I wrote this (bubble gum tested and duct tape validated) implementation, the spec still said we were doing this all over a RabbitMQ fanout, and called for storing the url in an unspecified database field: \"this approach will require additional expanding migration to our database\". Nothing in the spec at that point about storing them in locations:\n\nhttps://review.opendev.org/c/openstack/glance-specs/+/763574/1/specs/wallaby/approved/glance/distributed-image-import.rst\n\nIt sounds like there\u0027s another lite spec\u0027s worth of work here to finish the import implementation\u0027s use of the staging store, which appears to be good cleanup, but it\u0027s separate from this proxy effort, IMHO. It will be very helpful to examine that in isolation, where we can test for things like whether or not having a location with the image being inactive and without a size breaks anything. If it does, then there\u0027s more work to be done to fix it, and/or more discussion to be had to decide if it\u0027s worth it.\n\n\u003e Yeah lets worry about the tests when we\u0027re past of \"PoC for you to understand the concept of the design\".\n\nAck, fair enough.\n\n\u003e I\u0027m open to suggestions of how/if this should be split after we have the spec what we\u0027re doing agreed.\n\nIMHO, the split should be one or more patches to refactor the use of the store to image.set_data(staging\u003dTrue), separate from this distributed import implementation.\n\nI think I can see the metadata bits of the store location as a sufficient replacement for the properties (although I still don\u0027t think it\u0027s *better*), but it\u0027s hard to tell at what cost that really comes, until we know what amount of those store-related changes will and won\u0027t pass tests. Needing to have the data model insert a URL into the thing right before it shoves it into the database is another layering thing I\u0027d personally try to avoid. The URL by which the API worker is accessible is API business. If we make the data model assume it, then it becomes harder to do things like split out the backend into a worker thread, process, or RPC minion.\n\nThat said, if we test and land the staging store refactors, then the \"which metadata blob does this use to store the url\" question becomes much less important.","accounts_in_message":[],"_revision_number":10},{"id":"6952efdd564ff54c97054c31109966e4f80e882e","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2021-02-01 23:06:59.000000000","message":"Patch Set 10:\n\n\u003e That said, if we test and land the staging store refactors, then the \"which metadata blob does this use to store the url\" question becomes much less important.\n\nI think this very bit here got me to understand the fundamental difference of thinking we\u0027re having about this patch. I think this might help, let me know if you agree with my analysis:\n\nFor you this is a quick and simple \"we need to proxy an API call\" nothing super special on that, lets put a note stored somewhere commonly available who needs to deal with it and move on.\n\nFor me \"putting that note somewhere\" part was immediate red flag that we\u0027re not tracking customer data properly. Not a news, we have bunch of NOTEs and TODOs across the code about this, but I did not see this as problem of needing to proxy an API call, I saw this as data tracking and leaking issue, which if fixed right will conveniently give us what we need to also proxy that call to the right place with pretty little addition to that data tracking. Since we discussed about \"just proxying the request to correct node\" in PTG I\u0027ve never thought this as an issue of proxying the call to right place but the fact that we didn\u0027t know already what the right place was. Thus also when writing the spec, I approached it from the data perspective not from the perspective of \"What should we do with this request we just got but can\u0027t handle ourselves\". I\u0027d say I\u0027ve been pushing more details on the prerequisites than the feature itself.\n\nI totally agree btw. Once we know where that blop of customer data is we need to deal with your proxy code is, not specifically attached, nice layer onto that.","accounts_in_message":[],"_revision_number":10},{"id":"6dd2cfac67e1ceb470ae60b21ffa6451f4f0e2c2","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-02-02 00:11:13.000000000","message":"Patch Set 10:\n\n\u003e I think this very bit here got me to understand the fundamental difference of thinking we\u0027re having about this patch. I think this might help, let me know if you agree with my analysis:\n\u003e \n\u003e For you this is a quick and simple \"we need to proxy an API call\" nothing super special on that, lets put a note stored somewhere commonly available who needs to deal with it and move on.\n\nYes, for me, this patch should be the proxy only. That is the only thing related to being able to use import without shared storage between the API nodes that a user can or should see to consider this implemented/fixed. That\u0027s the scope of the patch, as laid out in the commit message, and it\u0027s also the only thing called out in the \"problem description\" part of the spec.\n\nAs I said in my comments on the spec, since that \"note\" should only need to live for a few minutes in normal situations, it\u0027s wholly unimportant where it goes, so long as it does not expose anything to the user that it shouldn\u0027t, nor get lost or be difficult to look up again when we need it. That was my original concern with adding a field to the database to store this transient thing for a brief period, as well as my concern over needing to block this whole effort on any changes required to start recording a location for the staging images. I have not yet heard any concrete reasoning for why putting it in an extra_property is not reasonable (other than the quota issue, which was already a problem and for which I have provided a general fix).\n\nWhat I don\u0027t want to do is block this thing any longer. If the store locations thing was done today and there was a layering-appropriate way to get the url into the location metadata, then I\u0027d be fine doing that. I can see the glimmer of that future in the changes you\u0027ve made here, but there are still things to discuss I think (like the layering concern of who owns the url, and whether or not any of those changes might confuse a client).\n\nI do not think that using an os_glance property in the interim is harmful. Even if the location stuff landed next cycle, it would be trivial to honor both for a single cycle to avoid upgrade issues. As noted multiple times I also don\u0027t think it\u0027s harmful permanently, but I think you\u0027re assuming a future where having it in locations benefits the proxy *and* something else, which is fine.\n \n\u003e For me \"putting that note somewhere\" part was immediate red flag that we\u0027re not tracking customer data properly. Not a news, we have bunch of NOTEs and TODOs across the code about this, but I did not see this as problem of needing to proxy an API call, I saw this as data tracking and leaking issue, which if fixed right will conveniently give us what we need to also proxy that call to the right place with pretty little addition to that data tracking. Since we discussed about \"just proxying the request to correct node\" in PTG I\u0027ve never thought this as an issue of proxying the call to right place but the fact that we didn\u0027t know already what the right place was. Thus also when writing the spec, I approached it from the data perspective not from the perspective of \"What should we do with this request we just got but can\u0027t handle ourselves\". I\u0027d say I\u0027ve been pushing more details on the prerequisites than the feature itself.\n\nOkay, I\u0027m still confused about the confusion I guess, because the spec never included much about the data model in its original form. I also don\u0027t understand what of the os_glance-based approach is likely to leak or lose track of anything (other than what can already be lost today, as noted by the web-download data leak discussion). However, I\u0027m happy to believe that this held other special meaning for you beyond solving the title problem, especially if it means we can split the two efforts apart :)\n\n\u003e I totally agree btw. Once we know where that blop of customer data is we need to deal with your proxy code is, not specifically attached, nice layer onto that.\n\nOkay, but I\u0027m not sure where this leaves us, though. Maybe you could explain where you see things going from here after this realization? Given where we are in the cycle, how long this code has been waiting, as well as how long this problem has gone unsolved, I\u0027d still like to see us merge the original version of this tested and working implementation (modulo the bikeshedding about the config option name of *course*).\n\nI\u0027d like to review the store and location changes, fully understand the benefit of using a glance store for the staging area, as well as the motivation behind further crystalizing their relationship, and provide input into the decisions about who sets things like the url in metadata. I\u0027d like to do that...separate from this proxy implementation. In IRC some days ago you made it sound like doing those store changes would never happen if not part of this, but I\u0027m more than happy to commit to reviewing the changes and participating in that discussion to help make sure it does not get ignored.\n\nI would be happy to split the proxy stuff out of your spec into a separate one (as long as that doesn\u0027t present a paperwork problem for getting it done this cycle) and let you focus on a spec and implementation of the staging store changes, if that helps. Also happy to see the spec stripped down to just the proxy stuff in support of the \"problem description\" that it already lays out, and follow that with a spec to address the store issues you see.","accounts_in_message":[],"_revision_number":10},{"id":"6c27def383e439e4952801ab274222a7d9c618d4","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-02-02 07:27:21.000000000","message":"Patch Set 10:\n\n\u003e Patch Set 10:\n\u003e \n\u003e (8 comments)\n\u003e \n\u003e \u003e Patch Set 10: Code-Review-1\n\u003e \u003e \n\u003e \u003e (6 comments)\n\u003e \u003e \n\u003e \u003e As we discussed in the meeting, I would very much like to see this be a separate patch on top of my original one, with just the location changes. That will make it easier to actually suss out the differences.\n\u003e \n\u003e Like discussed in IRC, getting between delta, and the individual approaches in gerrit is pretty easy and makes it much faster to compare. \n\u003e \u003e \n\u003e \u003e This patch includes not only the properties-\u003elocations changes, but also a bunch of other unrelated or supporting refactors (which may very well be good), but which distract from and confuse the actual implementation. They make this patch much larger in scope than it should be, which is *just* the proxy-to-stage-host behavior. It looks to me like you\u0027re adding a big special case to the storing of the image in the staging store, but it\u0027s hard for me to tell if that is really just part of your refactor, or actually necessary for the use of locations to store the staging host metadata entry. I\u0027m also not sure if the refactors are required to use the locations for storing the staging host or not.\n\u003e \n\u003e And this is exactly the attitude why I said the quick and easy is not good enough. You wanted to take the scope of the spec, which should pretty clearly underline that the approach explained is there to clean up lots of the technical debt we left behind by merging the image import in the shape it was. Yet you took the \"new and shiny\" and strapped it on with some bubblegum and duct tape to call it good. You wanted to see PoC to understand _why_ this approach was so important that the duct tape and bubblegum wasn\u0027t good enough to tick the box. Well all the refactoring around staging and import flows are the reason.\n\u003e \n\nI think this totally going in different direction; It\u0027s not like someone is hijacking others efforts here.\n\nThe spec was sitting there long time without reviews/progress (may be due to year end vacation/holidays or lack of availability of core members). Dan has thought new and simple way of implementation and pushed PoC so that he could get early comments about his approach. Again due to lack of reviews/discussions (due to year end we didn\u0027t had weekly meeting for straight two weeks + I went on leaves for 1 week after that) he went ahead and implemented it fully backed with tempest/CI tests to prove he has working PoC if we decide to go this way. \n\n\n\u003e \u003e \n\u003e \u003e I see no new or changed tests for all the refactors. I suspect that means they\u0027re not currently tested, or not thoroughly enough. I would expect to see added test coverage to go along with them to prove that they work and are equivalent to what we have now. I also see no tests for the actual use of locations for storing the staging host, but it is also hard to separate the new staging host stuff from the refactors to even know which bits would/should be separately tested.\n\u003e \n\u003e Yeah lets worry about the tests when we\u0027re past of \"PoC for you to understand the concept of the design\".\n\u003e \n\u003e \u003e \n\u003e \u003e So, in summary, I would very much like to see:\n\u003e \u003e  1. The refactors be split into separate patches with tests that we can potentially merge ahead of\n\u003e \u003e     the proxying change.\n\u003e \n\u003e I\u0027m open to suggestions of how/if this should be split after we have the spec what we\u0027re doing agreed.\n\u003e \n\u003e \u003e  2. My PS9 restored as PS11, and with your proposed locations changes as a patch on top, and tests to\n\u003e \u003e     show that we are using them properly.\n\u003e \n\u003e Ditto, we can look testing and rewriting this as it\u0027s own change once we\u0027ve got past the spec phase of the work.\n\u003e \n\u003e \u003e  3. You orphaned the patch above this one that enables the additional worker and enables the tempest \n\u003e \u003e     test. The previous patch was fully tested in devstack and tempest, and I don\u0027t anticipate \n\u003e \u003e     approving this approach until we see that test also passing on this one. So please either rebase \n\u003e \u003e     that on top of your proposed changes patch, or clone it to go above yours to enable the test.\n\u003e \n\u003e Ditto, changes to tempest are implementation details, we\u0027ll get there once we get past the spec phase. \n\u003e \u003e \n\u003e \u003e It would have been easier if the refactors and the proposed locations changes were kept separate from the beginning, but let me know if you need help splitting those from PS9 and I\u0027ll be glad to assist (or just do it for you), because I think it\u0027s important.\n\u003e \n\u003e It would have been easier if you would have implemented your PoC based on the design written in the spec or focussed explaining your reasons in the spec rather than making quick and dirty implementation and expecting the spec to be aligned with that.","accounts_in_message":[],"_revision_number":10},{"id":"72c72af26ce00599c58fe225cb558b6ac9381848","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-02-02 07:33:30.000000000","message":"Patch Set 10:\n\n\u003e Patch Set 10:\n\u003e \n\u003e \u003e I think this very bit here got me to understand the fundamental difference of thinking we\u0027re having about this patch. I think this might help, let me know if you agree with my analysis:\n\u003e \u003e \n\u003e \u003e For you this is a quick and simple \"we need to proxy an API call\" nothing super special on that, lets put a note stored somewhere commonly available who needs to deal with it and move on.\n\u003e \n\u003e Yes, for me, this patch should be the proxy only. That is the only thing related to being able to use import without shared storage between the API nodes that a user can or should see to consider this implemented/fixed. That\u0027s the scope of the patch, as laid out in the commit message, and it\u0027s also the only thing called out in the \"problem description\" part of the spec.\n\u003e \n\u003e As I said in my comments on the spec, since that \"note\" should only need to live for a few minutes in normal situations, it\u0027s wholly unimportant where it goes, so long as it does not expose anything to the user that it shouldn\u0027t, nor get lost or be difficult to look up again when we need it. That was my original concern with adding a field to the database to store this transient thing for a brief period, as well as my concern over needing to block this whole effort on any changes required to start recording a location for the staging images. I have not yet heard any concrete reasoning for why putting it in an extra_property is not reasonable (other than the quota issue, which was already a problem and for which I have provided a general fix).\n\u003e \n\u003e What I don\u0027t want to do is block this thing any longer. If the store locations thing was done today and there was a layering-appropriate way to get the url into the location metadata, then I\u0027d be fine doing that. I can see the glimmer of that future in the changes you\u0027ve made here, but there are still things to discuss I think (like the layering concern of who owns the url, and whether or not any of those changes might confuse a client).\n\u003e \n\u003e I do not think that using an os_glance property in the interim is harmful. Even if the location stuff landed next cycle, it would be trivial to honor both for a single cycle to avoid upgrade issues. As noted multiple times I also don\u0027t think it\u0027s harmful permanently, but I think you\u0027re assuming a future where having it in locations benefits the proxy *and* something else, which is fine.\n\u003e  \n\u003e \u003e For me \"putting that note somewhere\" part was immediate red flag that we\u0027re not tracking customer data properly. Not a news, we have bunch of NOTEs and TODOs across the code about this, but I did not see this as problem of needing to proxy an API call, I saw this as data tracking and leaking issue, which if fixed right will conveniently give us what we need to also proxy that call to the right place with pretty little addition to that data tracking. Since we discussed about \"just proxying the request to correct node\" in PTG I\u0027ve never thought this as an issue of proxying the call to right place but the fact that we didn\u0027t know already what the right place was. Thus also when writing the spec, I approached it from the data perspective not from the perspective of \"What should we do with this request we just got but can\u0027t handle ourselves\". I\u0027d say I\u0027ve been pushing more details on the prerequisites than the feature itself.\n\u003e \n\u003e Okay, I\u0027m still confused about the confusion I guess, because the spec never included much about the data model in its original form. I also don\u0027t understand what of the os_glance-based approach is likely to leak or lose track of anything (other than what can already be lost today, as noted by the web-download data leak discussion). However, I\u0027m happy to believe that this held other special meaning for you beyond solving the title problem, especially if it means we can split the two efforts apart :)\n\u003e \n\u003e \u003e I totally agree btw. Once we know where that blop of customer data is we need to deal with your proxy code is, not specifically attached, nice layer onto that.\n\u003e \n\u003e Okay, but I\u0027m not sure where this leaves us, though. Maybe you could explain where you see things going from here after this realization? Given where we are in the cycle, how long this code has been waiting, as well as how long this problem has gone unsolved, I\u0027d still like to see us merge the original version of this tested and working implementation (modulo the bikeshedding about the config option name of *course*).\n\u003e \n\u003e I\u0027d like to review the store and location changes, fully understand the benefit of using a glance store for the staging area, as well as the motivation behind further crystalizing their relationship, and provide input into the decisions about who sets things like the url in metadata. I\u0027d like to do that...separate from this proxy implementation. In IRC some days ago you made it sound like doing those store changes would never happen if not part of this, but I\u0027m more than happy to commit to reviewing the changes and participating in that discussion to help make sure it does not get ignored.\n\u003e \n\u003e I would be happy to split the proxy stuff out of your spec into a separate one (as long as that doesn\u0027t present a paperwork problem for getting it done this cycle) and let you focus on a spec and implementation of the staging store changes, if that helps. Also happy to see the spec stripped down to just the proxy stuff in support of the \"problem description\" that it already lays out, and follow that with a spec to address the store issues you see.\n\n\nWent through all the discussion, lengthy but interesting one.\nEven though this is just a PoC, +1 for splitting the patches\n1. location change patch\n2. refactoring patch (change is store code to use location staging change)\n3. proxy call patch\n\nThis will help all the reviewers to understand it better.","accounts_in_message":[],"_revision_number":10},{"id":"030ef4d47130d30c0b7d960bb88742093b256a09","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-02-02 08:22:54.000000000","message":"Patch Set 10:\n\n(1 comment)\n\n\u003e Patch Set 10:\n\u003e \n\u003e \u003e That said, if we test and land the staging store refactors, then the \"which metadata blob does this use to store the url\" question becomes much less important.\n\u003e \n\u003e I think this very bit here got me to understand the fundamental difference of thinking we\u0027re having about this patch. I think this might help, let me know if you agree with my analysis:\n\u003e \n\u003e For you this is a quick and simple \"we need to proxy an API call\" nothing super special on that, lets put a note stored somewhere commonly available who needs to deal with it and move on.\n\u003e \n\u003e For me \"putting that note somewhere\" part was immediate red flag that we\u0027re not tracking customer data properly. Not a news, we have bunch of NOTEs and TODOs across the code about this, but I did not see this as problem of needing to proxy an API call, I saw this as data tracking and leaking issue, which if fixed right will conveniently give us what we need to also proxy that call to the right place with pretty little addition to that data tracking. Since we discussed about \"just proxying the request to correct node\" in PTG I\u0027ve never thought this as an issue of proxying the call to right place but the fact that we didn\u0027t know already what the right place was. Thus also when writing the spec, I approached it from the data perspective not from the perspective of \"What should we do with this request we just got but can\u0027t handle ourselves\". I\u0027d say I\u0027ve been pushing more details on the prerequisites than the feature itself.\n\u003e \n\u003e I totally agree btw. Once we know where that blop of customer data is we need to deal with your proxy code is, not specifically attached, nice layer onto that.","accounts_in_message":[],"_revision_number":10},{"id":"cb4d44e0bf0992c0d39032cf13590a03f56d06f4","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2021-02-03 12:51:31.000000000","message":"Patch Set 10:\n\n(1 comment)","accounts_in_message":[],"_revision_number":10},{"id":"e937329b7fe7578a43bb7c060ce3a6af0fb2f5c7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-02-04 16:10:51.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"40f5f39edb67d5fadf2556ecb99a1963afc668c7","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2021-02-04 18:01:16.000000000","message":"Patch Set 11: Code-Review-2\n\nI don\u0027t expect us being able to get to an agreement on the new spec proposal now 2 weeks after the deadline as we couldn\u0027t work through that over the past 2 months previous. Let\u0027s not merge the code before we\u0027ve got the spec agreed on.","accounts_in_message":[],"_revision_number":11},{"id":"a778a70de546719bf9057dd86692ae42f494ae4d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-04 22:05:24.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/39de259f30d34145994f9b0c816ac4a7 : SUCCESS in 59m 44s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/044429648502408a8715818ff5af191c : SUCCESS in 1h 54m 03s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b70a9aee7abb42ad95233ab3b77e666a : SUCCESS in 8m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/45b0e7d51b2a41a3aacbc450966f9dc3 : SUCCESS in 4m 39s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2adb9c9f85d44d0da5bdeef02268d846 : SUCCESS in 5m 47s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1859446268cf4b7aac2b05567ea683f0 : SUCCESS in 5m 03s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/0063ee1797514fb085e3c0d2b6dd2e6d : SUCCESS in 5m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7de11dbe4eac41b7b664b1a6df4afe32 : SUCCESS in 7m 20s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/16e90ffd4b184f3e915776222f7ebad1 : SUCCESS in 7m 50s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/86becfae5d0d4bada928ff958457abc5 : SUCCESS in 7m 48s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/307f008067ad4d4a82f8196ab1c2dd39 : SUCCESS in 4m 57s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/dd4b9dee6b564898be09a23f37f53afa : SUCCESS in 1h 05m 44s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/14a2a8d3420c40d1b1a71a3de119c0a7 : SUCCESS in 1h 12m 00s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/5b6d39e54f1149c28fe213d83955a665 : SUCCESS in 1h 14m 57s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/04c04c07bd2c412a92956ee9ee6a6e4d : SUCCESS in 1h 13m 52s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c67f6a8b52804a348756be8a291a6194 : SUCCESS in 1h 07m 09s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/f08639747f6646fdb1bb5eff88c27420 : SUCCESS in 1h 07m 43s","accounts_in_message":[],"_revision_number":11},{"id":"f7bd53d7bf9e5a0f53691b68b30e79f9e4ecc815","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-02-17 14:06:05.000000000","message":"Patch Set 11: Code-Review-1 Review-Priority+1\n\n(6 comments)\n\nSome nits and suggestions inline, still have to look at the tests","accounts_in_message":[],"_revision_number":11},{"id":"b0860915c587895bd422baf86e1f40e5424829be","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-02-17 14:28:18.000000000","message":"Patch Set 11:\n\n(3 comments)","accounts_in_message":[],"_revision_number":11},{"id":"7f7b3114000630ee1c39cfdfb4829bcb6e74f142","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-02-17 14:44:46.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"78d2b08bd373659d95f70d33bf55bb0f9f373ddb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-17 17:05:24.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/b23d49408224464d9ec845405379ca83 : SUCCESS in 58m 24s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/585b02eb5c7e42a5bb4dcaa955879d86 : SUCCESS in 1h 06m 42s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9287bf64b97243079361e31bc395cca7 : SUCCESS in 7m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e2bf0d7557ff4c3bb5d96081d237f80a : SUCCESS in 5m 11s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/177161f457c64e7e8de4bcfdf379566c : SUCCESS in 5m 51s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/cb14debe38ae430ba28ea0a9b43cd756 : SUCCESS in 5m 59s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/56f78cf52f694fa28db47d38c08249c8 : SUCCESS in 6m 22s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/42c3ab238129483ea144fe74cbe67c66 : SUCCESS in 7m 42s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/56d553d1af634893a2fba59a7e8039eb : SUCCESS in 8m 31s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/5deec805c3be419381290c90bd092bff : SUCCESS in 9m 28s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/1c5816750cdf4a1a8e04365e9768559e : SUCCESS in 5m 40s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/ceab0ba637e344e2ab4b50416edf8512 : SUCCESS in 1h 16m 21s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/ffbb8f95ee4244f2ae087c6d57563b10 : SUCCESS in 1h 10m 38s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/3e250e7add2e49f0ae364dd6c52ab354 : SUCCESS in 1h 14m 55s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/be929743595f4680af9084c7ac216a4f : SUCCESS in 1h 29m 31s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5ef3aee5982a4beb973793c73cca82c9 : SUCCESS in 1h 22m 13s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/77eebaed1c664e5e9b82a52cc354e091 : SUCCESS in 1h 00m 37s","accounts_in_message":[],"_revision_number":12},{"id":"4a32d837aa1bc7232d57bbc54876b4a6f01b7068","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2021-03-01 16:57:31.000000000","message":"Patch Set 12: Code-Review-1\n\nForced to drop my -2 due to internal pressure. Doesn\u0027t make it any less problematic.","accounts_in_message":[],"_revision_number":12},{"id":"2e16fe18eace96041624e5aee5c261c5168a8d6d","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-03-01 18:42:23.000000000","message":"Patch Set 12: Code-Review-1\n\n(3 comments)\n\nCouple of nits pointed out by Sean otherwise works well functionally.\nTested manually in local environment, working as per expectations.\n\nI guess we also need to document this feature to provide better understanding to user/operator.","accounts_in_message":[],"_revision_number":12},{"id":"64d672469175282ce28478a8a282daa4d6ff5dfa","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-03-01 18:54:19.000000000","message":"Patch Set 12:\n\n(1 comment)\n\n\u003e I guess we also need to document this feature to provide better understanding to user/operator.\n\nYep, I\u0027ll start looking at where the best place to do that will be.","accounts_in_message":[],"_revision_number":12},{"id":"068637dae5bdfc2f31f8d79548d22658cc30886b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-03-01 18:56:27.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"42b831bb60ec85a4fea9bc1e0081c8b74b10f246","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-03-01 18:59:15.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"af15789ca313fc11b06c1c51ea00a62a3b01e842","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-03-01 19:42:54.000000000","message":"Patch Set 14:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/14/check-not-vote/ext-glance-zuul/ab431a1 : FAILURE in 15m 59s","accounts_in_message":[],"_revision_number":14},{"id":"1fd6eea71879791a1fc545ae729e61f63eb2ce0c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-01 21:11:44.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/d9210a8ec1944050bb2279b38bc025dd : SUCCESS in 1h 06m 52s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/ccefed85a1534de9abe02b9556df755c : SUCCESS in 1h 09m 33s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9fa0c012f6c74a748052c4a7384921bb : SUCCESS in 7m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bc4b84230b994a3abe3a92890e327a16 : SUCCESS in 8m 32s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/eaf49c6dac584841b9e42e96fddaa4d4 : SUCCESS in 6m 42s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/509311124c2246759a0ce9cd53de3aab : SUCCESS in 6m 43s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d71093c7698a478788f0a59e9b227500 : SUCCESS in 6m 28s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9cc9baeea0dd48939a7d7851fb613b02 : SUCCESS in 8m 31s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/5bce5bdf34764463abb70d62d585d687 : SUCCESS in 10m 43s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/46ed7d4927d84ec39399438e614b33c3 : SUCCESS in 9m 16s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/4b1b7c48614649b88bbf3ec1a18fccfb : SUCCESS in 6m 41s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/320c28dff80648aeb6f21b74df835c20 : SUCCESS in 1h 40m 49s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/56a71512b6934a2ab5f433c58b5db00d : SUCCESS in 1h 13m 39s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/1ade35b32f094cdaaca4186934304500 : SUCCESS in 1h 28m 50s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/fc085e9cc7254c188d8ebee229a0c7c7 : SUCCESS in 1h 04m 25s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/39a60dfdc16842dead678ee7c601ee6b : SUCCESS in 59m 56s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/fe82f50c598445cf81b376c11244d832 : SUCCESS in 1h 12m 15s","accounts_in_message":[],"_revision_number":14},{"id":"8c66cbc6597f9c1b946684d72d20c746b685d12a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-03-01 21:12:28.000000000","message":"Patch Set 14:\n\n\u003e I guess we also need to document this feature to provide better understanding to user/operator.\n\nhttps://review.opendev.org/c/openstack/glance/+/778072","accounts_in_message":[],"_revision_number":14},{"id":"7df16ad89bf3043d9434456462a9312a581f5348","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-03-02 04:29:47.000000000","message":"Patch Set 14: Code-Review+2\n\nThank you Dan!!","accounts_in_message":[],"_revision_number":14},{"id":"2ba3b0bb63b3d263fce8262279edea6efd8cb898","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-03-02 19:53:18.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"bd9d63e39f83587674a7f098a64cca238215b54f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-02 21:32:35.000000000","message":"Patch Set 15: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/4b2626c51c864161ab035943233e32fb : SUCCESS in 1h 03m 56s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/374be0c2fed34bfebd744665924b34cd : SUCCESS in 1h 10m 25s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2d01802451894efab89880995c4cf9d0 : SUCCESS in 7m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f200de9aba314623940e7dca31ab8517 : SUCCESS in 5m 48s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ad170a50d42245d1b1479dd1f956965c : SUCCESS in 6m 00s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1af01e6a8ec24122af158553e32f4ac9 : SUCCESS in 6m 05s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d449a58158fb465d82df0b3b7687a6a8 : SUCCESS in 5m 22s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3df56768b1264887a63ae2ca72aefd8c : SUCCESS in 6m 24s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/12844dcdec1a41e1839eec5ad16afff9 : SUCCESS in 9m 22s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/4662fb57b1794aaf8dfa3d51b683cfc6 : SUCCESS in 8m 45s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/ca6540ff305c4d7198176c1a64da5187 : SUCCESS in 4m 49s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/2c05df2274334a1385cf1f8b795cb18f : SUCCESS in 1h 10m 12s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/a3d9052854c54ad593f541da949370a6 : SUCCESS in 1h 20m 07s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/4a19ac6d6eed49e59b3bf3b95caae4a6 : SUCCESS in 1h 08m 34s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/458bdd56d4db42e694420e0b62ca2ee2 : FAILURE in 1h 18m 09s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/45c6c65d448c41fd91b1c8b3604cb79a : SUCCESS in 1h 08m 01s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/d5fc338d73d04f41882189ec2292ab5a : SUCCESS in 1h 32m 17s","accounts_in_message":[],"_revision_number":15},{"id":"f0bebc4e830d8db889a5bf89112af1f9a3151fb4","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-03-02 21:49:57.000000000","message":"Patch Set 15:\n\nBuild failed\n\n- dsvm-glance http://207.189.188.190/logs/769976/769976/15/check-not-vote/ext-glance-zuul/6cab289 : FAILURE in 16m 05s","accounts_in_message":[],"_revision_number":15},{"id":"a0b53c027c8a8f846b829ffd94161718640554fc","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-03-03 05:03:02.000000000","message":"Patch Set 15: Code-Review+2 Review-Priority+1","accounts_in_message":[],"_revision_number":15},{"id":"a554a156adb48fd2c5ca400a535a2c7ac09e7d6b","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2021-03-03 17:08:58.000000000","message":"Patch Set 15: Code-Review+2 Workflow+1\n\nCode wise this looks good to me. I haven\u0027t personally tested it out, but based on info from others it sounds like there has been enough manual testing in addition to the automated test coverage that I am comfortable approving.","accounts_in_message":[],"_revision_number":15},{"id":"cc915310d1166bc3af2246c82f147be1444a37f0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-03 20:02:13.000000000","message":"Patch Set 15: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":15},{"id":"c2d47443349772b08bd5324174939f02d6a64551","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-03 23:58:56.000000000","message":"Patch Set 15: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/b58c44fe3d614291bff488ef8f5ef036 : SUCCESS in 54m 27s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/371634b2144c4d24b0538f62513bd958 : SUCCESS in 1h 12m 15s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a09ded4bfbcb4100b0fcc799ffb8214d : SUCCESS in 8m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/356f8aac81ce4c18b0f85aac5533a5d7 : SUCCESS in 8m 35s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/5526be0b2aef471cad8e03c56c015db5 : SUCCESS in 10m 23s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/3430e61f14484170a49539b17300981a : SUCCESS in 8m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4a74e762aa1c47d08bd9a024ab48a930 : SUCCESS in 8m 05s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/9d29ed3bf04c4f38ad54980b83f4b859 : SUCCESS in 12m 10s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/b6791858768045559602e8d8df2ba92e : SUCCESS in 9m 19s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/f72be73eb1864cf49d1313796a497d1e : SUCCESS in 1h 10m 52s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/7ad3629d1b5c4b8ab26f0914a4953400 : SUCCESS in 1h 15m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6868f2e0746b40a7880da72665dd59c1 : SUCCESS in 58m 15s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/7dcb9e0b9a254a54aea86d8676989275 : SUCCESS in 1h 10m 30s","accounts_in_message":[],"_revision_number":15},{"id":"6d48961e77d588e02d0a4df9bbe2bf5dbefc7dc3","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-03 23:58:57.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":15},{"id":"162ec7898b7b95d742e8956b93dcd5b0a4c1cdb7","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-04 00:00:55.000000000","message":"Patch Set 15:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/363c1deef9db49cdb45dfc5c6963d037 : SUCCESS in 1m 16s","accounts_in_message":[],"_revision_number":15}],"current_revision_number":15,"current_revision":"41e1cecbe63c778ce8e92519993c61588ea1f0cb","revisions":{"24874aacbaf2ea759640ac8ad090998128f909c0":{"kind":"REWORK","_number":1,"created":"2021-01-08 18:19:54.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/1"}}},"commit":{"parents":[{"commit":"6504588aaa849b89f4b6dfc22d17ee2f8e3b80f2","subject":"Victoria RC-1 release notes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6504588aaa849b89f4b6dfc22d17ee2f8e3b80f2"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 19:17:19.000000000","tz":-480},"subject":"PoC: Distributed image import","message":"PoC: Distributed image import\n\nThis is a very rough PoC of the distributed image import spec. It \"works\"\nin local testing, but it\u0027s far from ready. It just demonstrates the\nidea enough to test it locally.\n\nThe general problem is that image import involves staging the image\ndata before the actual import. That happens on one worker, which may\nor may not be the same worker that receives the import request.\n\nThe general idea of this approach to address the problem is that\nwhen a worker stages the image, it records its direct url on the\nimage. When the import request comes in, any other host will\nproxy that HTTP request direct to the original host instead of\ntrying to do the import itself.\n\nThis still needs (at least):\n\n * Fixing tests of course\n * Some way to test this easily in devstack and CI\n * Protection of the os_glance_stage_host, or\n * ...formalizing the staging host into a dedicated attribute\n * Handling of the case where we can\u0027t call to the original host\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/24874aacbaf2ea759640ac8ad090998128f909c0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/24874aacbaf2ea759640ac8ad090998128f909c0"}]},"branch":"refs/heads/master"},"0f49b81f908f60355e6ac9de6e55e200673488b8":{"kind":"REWORK","_number":2,"created":"2021-01-08 21:46:30.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/2"}}},"commit":{"parents":[{"commit":"6504588aaa849b89f4b6dfc22d17ee2f8e3b80f2","subject":"Victoria RC-1 release notes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6504588aaa849b89f4b6dfc22d17ee2f8e3b80f2"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 22:43:29.000000000","tz":-480},"subject":"PoC: Distributed image import","message":"PoC: Distributed image import\n\nThis is a very rough PoC of the distributed image import spec. It \"works\"\nin local testing, but it\u0027s far from ready. It just demonstrates the\nidea enough to test it locally.\n\nThe general problem is that image import involves staging the image\ndata before the actual import. That happens on one worker, which may\nor may not be the same worker that receives the import request.\n\nThe general idea of this approach to address the problem is that\nwhen a worker stages the image, it records its direct url on the\nimage. When the import request comes in, any other host will\nproxy that HTTP request direct to the original host instead of\ntrying to do the import itself.\n\nThis still needs (at least):\n\n * Fixing tests of course\n * Some way to test this easily in devstack and CI\n * Protection of the os_glance_stage_host, or\n * ...formalizing the staging host into a dedicated attribute\n * Handling of the case where we can\u0027t call to the original host\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/0f49b81f908f60355e6ac9de6e55e200673488b8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/0f49b81f908f60355e6ac9de6e55e200673488b8"}]},"branch":"refs/heads/master"},"04b7a7b559623e3e1fd7700d658494882fb90738":{"kind":"REWORK","_number":3,"created":"2021-01-12 17:14:30.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/3"}}},"commit":{"parents":[{"commit":"f32d39230d0ee949bdb996be3aea2c8f3dd35dd3","subject":"Move some helper functions to base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f32d39230d0ee949bdb996be3aea2c8f3dd35dd3"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-12 18:11:53.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nThis still needs (at least):\n\n * Some way to test this easily in devstack and CI\n * Potentially a better arrangement of the functional tests,\n   where we can start two different synchronous API configurations.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/04b7a7b559623e3e1fd7700d658494882fb90738"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/04b7a7b559623e3e1fd7700d658494882fb90738"}]},"branch":"refs/heads/master"},"c751adfbbb4242ecf2c018abf69ec2786ca752b6":{"kind":"REWORK","_number":4,"created":"2021-01-12 17:44:37.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/4"}}},"commit":{"parents":[{"commit":"f32d39230d0ee949bdb996be3aea2c8f3dd35dd3","subject":"Move some helper functions to base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f32d39230d0ee949bdb996be3aea2c8f3dd35dd3"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-12 18:41:48.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nThis still needs (at least):\n\n * Some way to test this easily in devstack and CI\n * Potentially a better arrangement of the functional tests,\n   where we can start two different synchronous API configurations.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c751adfbbb4242ecf2c018abf69ec2786ca752b6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c751adfbbb4242ecf2c018abf69ec2786ca752b6"}]},"branch":"refs/heads/master"},"efc33f498efa25ee59131013eb334e533dedbcfd":{"kind":"REWORK","_number":5,"created":"2021-01-12 18:38:37.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/5"}}},"commit":{"parents":[{"commit":"f32d39230d0ee949bdb996be3aea2c8f3dd35dd3","subject":"Move some helper functions to base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f32d39230d0ee949bdb996be3aea2c8f3dd35dd3"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-12 19:01:06.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nThis still needs (at least):\n\n * Some way to test this easily in devstack and CI\n * Potentially a better arrangement of the functional tests,\n   where we can start two different synchronous API configurations.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/efc33f498efa25ee59131013eb334e533dedbcfd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/efc33f498efa25ee59131013eb334e533dedbcfd"}]},"branch":"refs/heads/master"},"6679b3af6512464fa91f88575877e447bd4cb964":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2021-01-12 22:58:21.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/6"}}},"commit":{"parents":[{"commit":"f32d39230d0ee949bdb996be3aea2c8f3dd35dd3","subject":"Move some helper functions to base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f32d39230d0ee949bdb996be3aea2c8f3dd35dd3"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-12 23:55:55.000000000","tz":-480},"subject":"WIP: Distributed image import","message":"WIP: Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nThis still needs (at least):\n\n * Some way to test this easily in devstack and CI\n * Potentially a better arrangement of the functional tests,\n   where we can start two different synchronous API configurations.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6679b3af6512464fa91f88575877e447bd4cb964"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6679b3af6512464fa91f88575877e447bd4cb964"}]},"branch":"refs/heads/master"},"eeb0b1c86a1349a7ee73c07f268a88672796fe7b":{"kind":"REWORK","_number":7,"created":"2021-01-13 00:26:16.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/7"}}},"commit":{"parents":[{"commit":"f32d39230d0ee949bdb996be3aea2c8f3dd35dd3","subject":"Move some helper functions to base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f32d39230d0ee949bdb996be3aea2c8f3dd35dd3"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-13 01:13:44.000000000","tz":-480},"subject":"WIP: Distributed image import","message":"WIP: Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nThis still needs (at least):\n\n * Some way to test this easily in devstack and CI\n * Potentially a better arrangement of the functional tests,\n   where we can start two different synchronous API configurations.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/eeb0b1c86a1349a7ee73c07f268a88672796fe7b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/eeb0b1c86a1349a7ee73c07f268a88672796fe7b"}]},"branch":"refs/heads/master"},"f5ffbbe90610d8a30f6e471191e932065662ac75":{"kind":"REWORK","_number":8,"created":"2021-01-13 17:03:28.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/8"}}},"commit":{"parents":[{"commit":"4d9c7b573ee2dc75fcf393ddab0a66fcd0a470b9","subject":"Fix a typo in functional helper class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/4d9c7b573ee2dc75fcf393ddab0a66fcd0a470b9"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-13 17:53:54.000000000","tz":-480},"subject":"WIP: Distributed image import","message":"WIP: Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f5ffbbe90610d8a30f6e471191e932065662ac75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f5ffbbe90610d8a30f6e471191e932065662ac75"}]},"branch":"refs/heads/master"},"14b15031a9a1aa85ed14c725ebef6d4d52419fcb":{"kind":"REWORK","_number":9,"created":"2021-01-14 00:28:41.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/9"}}},"commit":{"parents":[{"commit":"c01e80cc624cd740fdc5077a145a9e4af136ba5f","subject":"Add get_ksa_client() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c01e80cc624cd740fdc5077a145a9e4af136ba5f"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-14 00:45:36.000000000","tz":-480},"subject":"WIP: Distributed image import","message":"WIP: Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/14b15031a9a1aa85ed14c725ebef6d4d52419fcb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/14b15031a9a1aa85ed14c725ebef6d4d52419fcb"}]},"branch":"refs/heads/master"},"8ca338089c24f9ec68523657a7d1c7401ab7d17a":{"kind":"REWORK","_number":10,"created":"2021-02-01 17:28:43.000000000","uploader":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"ref":"refs/changes/76/769976/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/10"}}},"commit":{"parents":[{"commit":"6558c6e1a0e820c913fd4afacdee14117c8c0c89","subject":"Add get_ksa_client() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6558c6e1a0e820c913fd4afacdee14117c8c0c89"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Erno Kuvaja","email":"jokke@usr.fi","date":"2021-02-01 17:28:24.000000000","tz":0},"subject":"WIP: Distributed image import","message":"WIP: Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API node has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL to the staged location metadata.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nCo-authored-by: Erno Kuvaja \u003cjokke@usr.fi\u003e\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/8ca338089c24f9ec68523657a7d1c7401ab7d17a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/8ca338089c24f9ec68523657a7d1c7401ab7d17a"}]},"branch":"refs/heads/master"},"059a161ff080ab1db47c991dcb5ab18cb71f4f1d":{"kind":"REWORK","_number":11,"created":"2021-02-04 16:10:51.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/11"}}},"commit":{"parents":[{"commit":"ec7a64a07d11052dbaed0fcd3987b3de67c7fb57","subject":"Add get_ksa_client() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/ec7a64a07d11052dbaed0fcd3987b3de67c7fb57"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-02-04 17:05:47.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/059a161ff080ab1db47c991dcb5ab18cb71f4f1d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/059a161ff080ab1db47c991dcb5ab18cb71f4f1d"}]},"branch":"refs/heads/master"},"bc0525f365c6be078506179b4bafa976ce9c1f0a":{"kind":"REWORK","_number":12,"created":"2021-02-17 14:44:46.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/12"}}},"commit":{"parents":[{"commit":"6be8679c1a1cc7124926fb42bee36ae36e1d28ba","subject":"Add get_ksa_client() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6be8679c1a1cc7124926fb42bee36ae36e1d28ba"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-02-17 15:43:21.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nImplements: blueprint distributed-image-import\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bc0525f365c6be078506179b4bafa976ce9c1f0a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bc0525f365c6be078506179b4bafa976ce9c1f0a"}]},"branch":"refs/heads/master"},"1a4521a678263ddf859153530fb8c45c0390d7ec":{"kind":"REWORK","_number":13,"created":"2021-03-01 18:56:27.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/13"}}},"commit":{"parents":[{"commit":"782ff60cbf5857493eda19be8e0592ddc2e0f6d5","subject":"Add get_ksa_client() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/782ff60cbf5857493eda19be8e0592ddc2e0f6d5"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-03-01 18:56:23.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nImplements: blueprint distributed-image-import\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a4521a678263ddf859153530fb8c45c0390d7ec"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a4521a678263ddf859153530fb8c45c0390d7ec"}]},"branch":"refs/heads/master"},"dc77dd79a21df34720b40b427d43057c06e7cbac":{"kind":"REWORK","_number":14,"created":"2021-03-01 18:59:15.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/14"}}},"commit":{"parents":[{"commit":"782ff60cbf5857493eda19be8e0592ddc2e0f6d5","subject":"Add get_ksa_client() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/782ff60cbf5857493eda19be8e0592ddc2e0f6d5"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-03-01 18:59:07.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nImplements: blueprint distributed-image-import\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/dc77dd79a21df34720b40b427d43057c06e7cbac"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/dc77dd79a21df34720b40b427d43057c06e7cbac"}]},"branch":"refs/heads/master"},"41e1cecbe63c778ce8e92519993c61588ea1f0cb":{"kind":"REWORK","_number":15,"created":"2021-03-02 19:53:18.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/769976/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/769976/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/769976/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/769976/15"}}},"commit":{"parents":[{"commit":"144cdf90be14cd45868d864cbd9d5a160c9e8859","subject":"Merge \"Add get_ksa_client() helper\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/144cdf90be14cd45868d864cbd9d5a160c9e8859"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-01-08 18:59:38.000000000","tz":-480},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-03-02 19:52:12.000000000","tz":-480},"subject":"Distributed image import","message":"Distributed image import\n\nThis implements distributed image import support, which addresses\nthe problem when one API worker has staged the image and another\nreceives the import request.\n\nThe general approach is that when a worker stages the image, it\nrecords its self-reference URL in the image\u0027s extra_properties.  When\nthe import request comes in, any other host will proxy that HTTP\nrequest direct to the original host instead of trying to do the import\nitself.\n\nImplements: blueprint distributed-image-import\n\nChange-Id: I12daccb43c535b579c22f9d0742039b2ab42e929\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/41e1cecbe63c778ce8e92519993c61588ea1f0cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/41e1cecbe63c778ce8e92519993c61588ea1f0cb"}]},"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":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"}},{"label":"Review-Priority","status":"MAY","applied_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}}]}],"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":{}}}]}
