)]}'
{"id":"openstack%2Fpython-glanceclient~13709","triplet_id":"openstack%2Fpython-glanceclient~master~I0c7f0a64d883e058993b954a1c465c5b057f2bcf","project":"openstack/python-glanceclient","branch":"master","topic":"bug/1056220","hashtags":[],"change_id":"I0c7f0a64d883e058993b954a1c465c5b057f2bcf","subject":"Handle create/update of images with unknown size","status":"MERGED","created":"2012-09-26 13:47:39.000000000","updated":"2012-10-13 02:17:31.000000000","submitted":"2012-10-13 02:17:31.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"86c3c5c26d638b8ff41fc10cfd197f4c0f2799a6","_number":13709,"virtual_id_number":13709,"owner":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2012-10-13 02:17:31.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},{"value":0,"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"}],"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":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2012-10-08 13:07:39.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},{"value":2,"date":"2012-10-09 17:22:39.000000000","_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"}],"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":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2012-10-08 13:07:39.000000000","_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},{"value":1,"date":"2012-10-13 01:50:28.000000000","_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},{"value":0,"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},{"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2012-09-27 18:18:07.000000000","updated_by":{"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},"reviewer":{"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},"state":"REVIEWER"},{"updated":"2012-10-13 01:50:28.000000000","updated_by":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"reviewer":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"state":"REVIEWER"},{"updated":"2012-10-13 02:17:31.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"e8314109795eaff135f36ea97645af0a7b438bfa","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2012-09-27 16:29:21.000000000","message":"Patch Set 1:\n\nrecheck","accounts_in_message":[],"_revision_number":1},{"id":"a63e2ec67cc7584bc182cf0b5d3294538328bd6c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-09-27 16:49:44.000000000","message":"Patch Set 1: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/13709/1/check/gate-python-glanceclient-merge/409 : SUCCESS\n- http://logs.openstack.org/13709/1/check/gate-python-glanceclient-docs/323 : SUCCESS\n- http://logs.openstack.org/13709/1/check/gate-python-glanceclient-pep8/387 : SUCCESS\n- http://logs.openstack.org/13709/1/check/gate-python-glanceclient-python26/386 : SUCCESS\n- http://logs.openstack.org/13709/1/check/gate-python-glanceclient-python27/386 : SUCCESS\n- http://logs.openstack.org/13709/1/check/gate-tempest-devstack-vm/13101 : SUCCESS\n- http://logs.openstack.org/13709/1/check/gate-tempest-devstack-vm-cinder/3080 : SUCCESS\n","accounts_in_message":[],"_revision_number":1},{"id":"9a59327546116a0a548649ae472a496ac32efbdc","author":{"_account_id":4299,"name":"Daniel He","email":"csdhe.geek@gmail.com","username":"drdanhe"},"date":"2012-09-27 18:18:07.000000000","message":"Patch Set 1: Looks good to me, but someone else must approve\n\nGood styple of Python. It works for me","accounts_in_message":[],"_revision_number":1},{"id":"28ffce5169b1cebd1fdb539d148c47614996f900","author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"date":"2012-10-02 00:55:54.000000000","message":"Patch Set 1: I would prefer that you didn\u0027t merge this\n\n(1 inline comment)\n\n","accounts_in_message":[],"_revision_number":1},{"id":"044eb5941da61f98faceda205eb65f952ad304bf","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2012-10-08 12:13:46.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"de635415d2d29583b0f8e18c6b750d45d155468c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-10-08 12:51:45.000000000","message":"Patch Set 2: Doesn\u0027t seem to work\n\nBuild failed\n\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-merge/426 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-docs/340 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-pep8/404 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-python26/403 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-python27/403 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-tempest-devstack-vm/13924 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-tempest-devstack-vm-cinder/3903 : FAILURE\n","accounts_in_message":[],"_revision_number":2},{"id":"fb18944b2534c2fa337cfcc16fff0fdbb8775a8a","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2012-10-08 13:07:39.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"0b343a61f477b435434d5416e878eae316fa5189","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-10-08 13:30:11.000000000","message":"Patch Set 2: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-merge/427 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-docs/341 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-pep8/405 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-python26/404 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-python-glanceclient-python27/404 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-tempest-devstack-vm/13926 : SUCCESS\n- http://logs.openstack.org/13709/2/check/gate-tempest-devstack-vm-cinder/3905 : SUCCESS\n","accounts_in_message":[],"_revision_number":2},{"id":"77122e64e1c2b9e6c4446ad6f7048ccd0fcd5b77","author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"date":"2012-10-08 16:58:17.000000000","message":"Patch Set 2:\n\nI think I understand it why, but I want to make sure everybody is on the same page. Can you explain why this fix isn\u0027t going to cause regression on bug 1045824?","accounts_in_message":[],"_revision_number":2},{"id":"7cf35e77cfbf33365159024125866523559e73ef","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2012-10-09 16:03:33.000000000","message":"Patch Set 2:\n\nHi Brian,\n\nYeah, you\u0027re right to double check that this change won\u0027t affect other corner cases. \n\nI tried to test as much as I could ... the matrix of tests I was running was:\n\necho hi | glance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\ncat /etc/motd |  glance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nglance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare \u003c /etc/motd\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nglance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare --file /etc/motd\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\ntouch /tmp/empty.$$\ncat /tmp/empty.$$ | glance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nglance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare --file /tmp/empty.$$\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nrm /tmp/empty.$$\n\n\n(* part A)\nid\u003d`glance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare | grep \u0027^| id\u0027 | awk \u0027{print $4}\u0027`\n\n(* part B)\nglance --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-update $id \u003c /etc/motd\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nid\u003d`glance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare | grep \u0027^| id\u0027 | awk \u0027{print $4}\u0027`\n\n\necho hi | glance --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-update $id\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nglance --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-update $id --property xxx\u003dyyy\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\n\necho !!FIFO create!!\n\nmkfifo /tmp/fifo.$$\n\nglance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare \u003c /tmp/fifo.$$ \u003e /tmp/out.$$ \u0026\n\necho hi \u003e /tmp/fifo.$$\n\nwait\n\ncat /tmp/out.$$\nrm /tmp/out.$$\n\nrm /tmp/fifo.$$\n\n\necho !!FIFO update!!\nid\u003d`glance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-create --disk-format raw --container-format bare | grep \u0027^| id\u0027 | awk \u0027{print $4}\u0027`\n\nif [ $? -ne 0 ]\nthen\n  echo fail\n  exit 1\nfi\n\nmkfifo /tmp/fifo.$$\n\nglance  --os-image-url https://localhost:9292  --os-auth-token $TOKEN -d -v  --insecure image-update $id \u003c /tmp/fifo.$$ \u003e /tmp/out.$$ \u0026\n\necho hi \u003e /tmp/fifo.$$\n\nwait\n\ncat /tmp/out.$$\n\n\n\nAs far as I can tell one of these tests (marked \u0027*\u0027) is equivalent to the case in that bug.\n\nI\u0027m not sure of the best way to go about it, but I think that there is some room for more functional tests such as these as part of the review/gating jobs. (I don\u0027t know if they would live in the python-glanceclient code or glance or tempest...)","accounts_in_message":[],"_revision_number":2},{"id":"ddbdd266c4f243234b4d6f4cecd50e42058116fa","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2012-10-09 16:11:19.000000000","message":"Patch Set 2:\n\n\u003e Can you explain why this fix isn\u0027t going to cause regression on bug 1045824?\n\nI never answered your question, sorry. The \u0027update\u0027 will use PUT so \u0027transfer-encoding: chunked\u0027 will be enabled, so the absence of a content-length header makes sense.","accounts_in_message":[],"_revision_number":2},{"id":"eb98ba3b083e25c8c1ec16e68ccec2589c79a2fe","author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"date":"2012-10-09 17:22:39.000000000","message":"Patch Set 2: Looks good to me (core reviewer)\n\nThanks, Stuart.","accounts_in_message":[],"_revision_number":2},{"id":"ea31aeaef7d495aaa84ba43279ee6e0cee68ddc5","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-10-13 01:50:28.000000000","message":"Patch Set 2: No score\n\nStarting gate jobs.\nhttps://jenkins.openstack.org/zuul/status","accounts_in_message":[],"_revision_number":2},{"id":"c0b176bb138ef306f4f1bc70fbf37f3aa6dea7eb","author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"date":"2012-10-13 01:50:28.000000000","message":"Patch Set 2: Approved\n\n","accounts_in_message":[],"_revision_number":2},{"id":"9f691899eda571a2e1da4fe0be0621319b4638b2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-10-13 02:17:31.000000000","message":"Patch Set 2: Verified\n\nBuild successful\n\n- http://logs.openstack.org/13709/2/gate/gate-python-glanceclient-merge/432 : SUCCESS\n- http://logs.openstack.org/13709/2/gate/gate-python-glanceclient-docs/346 : SUCCESS\n- http://logs.openstack.org/13709/2/gate/gate-python-glanceclient-pep8/410 : SUCCESS\n- http://logs.openstack.org/13709/2/gate/gate-python-glanceclient-python26/409 : SUCCESS\n- http://logs.openstack.org/13709/2/gate/gate-python-glanceclient-python27/409 : SUCCESS\n- http://logs.openstack.org/13709/2/gate/gate-tempest-devstack-vm/14494 : SUCCESS\n- http://logs.openstack.org/13709/2/gate/gate-tempest-devstack-vm-cinder/4473 : SUCCESS\n","accounts_in_message":[],"_revision_number":2},{"id":"e5b284a812f01413147843e5d72381273cf3d411","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-10-13 02:17:31.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"727aadbc257ec3c99dd1621202948d288d45c8cc","revisions":{"fb671ae209bfbd9c76a08012b33dcf2a3c0fe083":{"kind":"REWORK","_number":1,"created":"2012-09-26 13:47:39.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/09/13709/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/09/13709/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/1"}}},"commit":{"parents":[{"commit":"ff3060c067bb2a860642a1c2e01ef151df8c5243","subject":"Use full URI path from Glance endpoint in HTTP requests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/ff3060c067bb2a860642a1c2e01ef151df8c5243"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2012-09-26 12:56:51.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2012-09-26 13:36:14.000000000","tz":0},"subject":"Handle create/update of images with unknown size","message":"Handle create/update of images with unknown size\n\nIt may not be possible to know in advance the total\nsize of image data which is to be uploaded, for example\nif the data is being piped to stdin.\n\nTo handle this we use HTTP Transfer-Encoding: chunked\nand do not set any image size headers.\n\nVarious subtly different cases needed to be handled for\nboth image-create and image-update, including:\n\n * input from named pipe\n * piped input of zero size\n * regular file of zero length\n\nFix for bug 1056220.\n\nChange-Id: I0c7f0a64d883e058993b954a1c465c5b057f2bcf\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/fb671ae209bfbd9c76a08012b33dcf2a3c0fe083"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/fb671ae209bfbd9c76a08012b33dcf2a3c0fe083"}]},"branch":"refs/heads/master"},"727aadbc257ec3c99dd1621202948d288d45c8cc":{"kind":"REWORK","_number":2,"created":"2012-10-08 12:13:46.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/09/13709/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/09/13709/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/09/13709/2"}}},"commit":{"parents":[{"commit":"cdc06d9fdb15cd19bd5d26304dfebf092c6c8df8","subject":"Simplify http(s) connection instantiation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/cdc06d9fdb15cd19bd5d26304dfebf092c6c8df8"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2012-09-26 12:56:51.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2012-10-08 11:16:18.000000000","tz":0},"subject":"Handle create/update of images with unknown size","message":"Handle create/update of images with unknown size\n\nIt may not be possible to know in advance the total\nsize of image data which is to be uploaded, for example\nif the data is being piped to stdin.\n\nTo handle this we use HTTP Transfer-Encoding: chunked\nand do not set any image size headers.\n\nVarious subtly different cases needed to be handled for\nboth image-create and image-update, including:\n\n * input from named pipe\n * piped input of zero size\n * regular file of zero length\n\nFix for bug 1056220.\n\nChange-Id: I0c7f0a64d883e058993b954a1c465c5b057f2bcf\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/727aadbc257ec3c99dd1621202948d288d45c8cc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/727aadbc257ec3c99dd1621202948d288d45c8cc"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
