)]}'
{"id":"openstack%2Fopenstacksdk~788477","triplet_id":"openstack%2Fopenstacksdk~master~I7e8a6fe9320e087047adc090a94230a6f543cb95","project":"openstack/openstacksdk","branch":"master","topic":"glance-replace-tags","hashtags":[],"change_id":"I7e8a6fe9320e087047adc090a94230a6f543cb95","subject":"Support replacing image tags","status":"ABANDONED","created":"2021-04-28 11:53:45.000000000","updated":"2021-04-29 10:13:47.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"44dff947d10745e5a491db5a93e59c7ee2423765","_number":788477,"virtual_id_number":788477,"owner":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2021-04-28 22:52:12.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_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},"Allow-Post-Review":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Abstain","+1":"Approved for Zuul Post Review Pipeline"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-04-28 13:30:46.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-04-28 21:27:35.000000000","updated_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"CC"}],"messages":[{"id":"78a9bda19f9af84085a5981524abd5dd71d44eeb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2021-04-28 11:53:45.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f55e87ee5dbb987283b7de85765825aa99e65792","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2021-04-28 12:01:14.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"0dace7f234cef40988cc695a74125c5b8fb65677","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 13:30:46.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- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/420a22bd68cb4374bc665173e41addb8 : SUCCESS in 4m 03s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b7f854d0d48b433b8f5767aa6516ed5a : SUCCESS in 4m 29s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/378a88e932bd4661a689ad77353191be : SUCCESS in 4m 31s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/c8381f42b4a84002898d5c638b3834a9 : SUCCESS in 4m 19s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/502b490a2f0a4ff8bdac1edbfdd7d86d : SUCCESS in 52m 59s\n- openstacksdk-tox-py38-tips https://zuul.opendev.org/t/openstack/build/631d2254b7d848a8b4ec330d2c4a7212 : SUCCESS in 4m 52s\n- os-client-config-tox-py37-tips https://zuul.opendev.org/t/openstack/build/5e177e5d49fe4f86a495769c3b604014 : SUCCESS in 4m 05s\n- osc-tox-py36-tips https://zuul.opendev.org/t/openstack/build/fbf0716bc99f49f4a7f2923dd9c41737 : SUCCESS in 5m 58s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/78a7c9a3ed4c478fbe4cabdd6dadcec2 : SUCCESS in 6m 25s\n- opendev-buildset-registry https://zuul.opendev.org/t/openstack/build/b33dbd194ef54409b47cf02041d0b824 : SUCCESS in 55m 59s\n- nodepool-build-image-siblings https://zuul.opendev.org/t/openstack/build/1325250dd57a431b82b102c6f828d58d : POST_FAILURE in 46m 40s\n- dib-nodepool-functional-openstack-centos-8-stream-src https://zuul.opendev.org/t/openstack/build/None : SKIPPED\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/f969989c783a4f518f0befef0a17b7c7 : SUCCESS in 36m 55s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/7441f189ab0245b0a3f6a39ab215930d : SUCCESS in 1h 10m 57s\n- openstacksdk-functional-devstack-senlin https://zuul.opendev.org/t/openstack/build/3dedd99f88ff4fe7a63fd85bbf521df0 : SUCCESS in 50m 08s\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/b115394ec320479b99ad4f7ac1549af9 : SUCCESS in 40m 25s (non-voting)\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/3860d9ee58b548e78001fa6733f7ece0 : SUCCESS in 36m 13s (non-voting)\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/604e3693fc6c4c5cbfc2feefdde1c9d9 : POST_FAILURE in 1h 23m 09s (non-voting)\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/eaa643e75b674e8dafa55d3741a5df27 : FAILURE in 46m 04s (non-voting)\n- ironic-inspector-tempest-openstacksdk-src https://zuul.opendev.org/t/openstack/build/49394529b16b4f07b81306114c8e85b0 : SUCCESS in 1h 01m 53s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-focal https://zuul.opendev.org/t/openstack/build/cecf66dba2bf412e862b2c969d7e154a : SUCCESS in 27m 36s (non-voting)\n- metalsmith-integration-openstacksdk-src https://zuul.opendev.org/t/openstack/build/8c3fc3a17e5f458eab4cef9715f7406f : SUCCESS in 49m 40s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/01c6497951ca46388f8b696baf7c6670 : SUCCESS in 46m 07s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"591166375a690e384b73a1c42877c4bf18c24966","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2021-04-28 21:19:34.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"5b16fa6eec4e95d43c4989ec1f40c395ec6f37d0","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2021-04-28 21:27:35.000000000","message":"Patch Set 2:\n\nEventually, cloud.image.update_image(\u0027b7f7a499-47a7-4765-967a-0030801eccaf\u0027, tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027]) will do what you describe, so not sure why this extra method is needed. The other thing, that update_image_properties is still failing in case you try to update tags with it, and that is the main issue right now which prevents from updating image with ansible collection IMO","accounts_in_message":[],"_revision_number":2},{"id":"24a9d3a4a6993fef4a4f46fa4118437392c07f7e","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2021-04-28 21:29:17.000000000","message":"Patch Set 2:\n\n\u003e Patch Set 2:\n\u003e \n\u003e Eventually, cloud.image.update_image(\u0027b7f7a499-47a7-4765-967a-0030801eccaf\u0027, tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027]) will do what you describe, so not sure why this extra method is needed. The other thing, that update_image_properties is still failing in case you try to update tags with it, and that is the main issue right now which prevents from updating image with ansible collection IMO\n\nSo you can\u0027t jsut add tags here https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/image.py#L220 (tried with https://review.opendev.org/c/openstack/ansible-collections-openstack/+/783850)","accounts_in_message":[],"_revision_number":2},{"id":"a4c3e10a7a77115cfef1cc830bc3ad9376581bff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 22:52:12.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4fb295d9d8c34874a801f0e6d01a35c5 : SUCCESS in 4m 11s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/890896ffc0ca459f91bcb9bffacb3211 : SUCCESS in 5m 19s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/b50f83d056134fe9bce683be6291799d : SUCCESS in 4m 35s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/1e6c8c4e6daf4197a24261d01c85a241 : SUCCESS in 4m 55s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/8543a63cf3ce41088ea8475214fd1c7b : SUCCESS in 55m 47s\n- openstacksdk-tox-py38-tips https://zuul.opendev.org/t/openstack/build/acb69fb8f45f41d0b49a452c02b9e26f : SUCCESS in 5m 32s\n- os-client-config-tox-py37-tips https://zuul.opendev.org/t/openstack/build/b61d5eb67b704d5db22fb1fd9109ace9 : SUCCESS in 5m 42s\n- osc-tox-py36-tips https://zuul.opendev.org/t/openstack/build/57fccce3b9be4aa384db95299da71685 : SUCCESS in 5m 04s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ad0411db3a094b9a9f47b1aca20598a3 : SUCCESS in 7m 37s\n- opendev-buildset-registry https://zuul.opendev.org/t/openstack/build/122c31120e5646f4bcaa9a25f779c147 : SUCCESS in 1h 06m 35s\n- nodepool-build-image-siblings https://zuul.opendev.org/t/openstack/build/80d13e685754497e80ecb0507ed4e24c : SUCCESS in 19m 45s\n- dib-nodepool-functional-openstack-centos-8-stream-src https://zuul.opendev.org/t/openstack/build/8823134801d24bbfbbf14f84d57154d3 : SUCCESS in 34m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/44d063e3fc6143a2bf2c23d8117ce7e4 : SUCCESS in 51m 03s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/18b3cfc3c8384569bdc2322307ac0243 : SUCCESS in 1h 14m 52s\n- openstacksdk-functional-devstack-senlin https://zuul.opendev.org/t/openstack/build/efab39444dbc488c93d7342a106007d4 : SUCCESS in 50m 53s\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/e983595c36a54ca28d5db63cbfc0a9aa : SUCCESS in 1h 06m 29s (non-voting)\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/80dc4e6447fd46dcbd2bc5cd000e8980 : SUCCESS in 30m 46s (non-voting)\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/80733dcbe4f74e2d85bf7e81662e5b43 : POST_FAILURE in 1h 21m 09s (non-voting)\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/39160bc42c27470a978e4e5cbab1f191 : FAILURE in 59m 51s (non-voting)\n- ironic-inspector-tempest-openstacksdk-src https://zuul.opendev.org/t/openstack/build/4f92617d6fee4d2bad62298d2a5b2965 : SUCCESS in 53m 24s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-focal https://zuul.opendev.org/t/openstack/build/c08e30cbaaba45e1a8b94f48047e39db : SUCCESS in 27m 57s (non-voting)\n- metalsmith-integration-openstacksdk-src https://zuul.opendev.org/t/openstack/build/f70f4dbb733d490981bb6b8e099053e8 : SUCCESS in 54m 53s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/3b68b17ab4064d05917548ebda3240dd : SUCCESS in 43m 53s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"a70684edc12a00ec98a42ea06fc845c570182d29","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2021-04-28 23:29:02.000000000","message":"Patch Set 2:\n\n\u003e Patch Set 2:\n\u003e \n\u003e Eventually, cloud.image.update_image(\u0027b7f7a499-47a7-4765-967a-0030801eccaf\u0027, tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027]) will do what you describe, so not sure why this extra method is needed. The other thing, that update_image_properties is still failing in case you try to update tags with it, and that is the main issue right now which prevents from updating image with ansible collection IMO\n\nNo, `cloud.image.update_image(\u0027b7f7a499-47a7-4765-967a-0030801eccaf\u0027, tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027])` can\u0027t do what this patch does, e.g. if an image has tags `[\u0027tag0\u0027, \u0027tag1\u0027]`, `update_image(tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027])` will fail because the request body is something like:\n\n```\n[\n    {\n        \"op\": \"remove\",\n        \"path\": \"/tags/0\"\n    },\n    {\n        \"op\": \"add\",\n        \"path\": \"/tags/1\",\n        \"value\": \"tag2\"\n    }\n]\n```\n\nWhich is not supported in Glance.\n\n```\n$ cat \u003c\u003cEOF | http patch ${glance_url}/images/b7f7a499-47a7-4765-967a-0030801eccaf X-Auth-Token:$token Content-Type:application/openstack-images-v2.1-json-patch\n\u003e [\n\u003e     {\n\u003e         \"op\": \"remove\",\n\u003e         \"path\": \"/tags/1\"\n\u003e     }\n\u003e ]\n\u003e EOF\nHTTP/1.1 400 Bad Request\nConnection: close\nContent-Length: 133\nContent-Type: application/json\nDate: Wed, 28 Apr 2021 11:35:56 GMT\nServer: Apache/2.4.29 (Ubuntu)\nx-openstack-request-id: req-a407a0a1-e2d7-4310-a6bf-347dc8482f24\n\n{\n    \"code\": \"400 Bad Request\",\n    \"message\": \"Invalid JSON pointer for this resource: \u0027/tags/1\u0027\u003cbr /\u003e\u003cbr /\u003e\\n\\n\\n\",\n    \"title\": \"Bad Request\"\n}\n```","accounts_in_message":[],"_revision_number":2},{"id":"854caa3eba584685e00ded89e6da7788a3db6a74","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2021-04-28 23:30:04.000000000","message":"Patch Set 2:\n\nupdate_image_properties is not meant to change tags.","accounts_in_message":[],"_revision_number":2},{"id":"b163186a04839599b94bafb8814a14d4cc62bd3d","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2021-04-29 05:47:23.000000000","message":"Patch Set 2:\n\n\u003e No, `cloud.image.update_image(\u0027b7f7a499-47a7-4765-967a-0030801eccaf\u0027, tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027])` can\u0027t do what this patch does, e.g. if an image has tags `[\u0027tag0\u0027, \u0027tag1\u0027]`, `update_image(tags\u003d[\u0027tag1\u0027, \u0027tag2\u0027])` will fail because the request body is something like:\n\n\u003e\u003e\u003e from openstack import connect\n\u003e\u003e\u003e conn \u003d connect()\n\u003e\u003e\u003e image \u003d conn.get_image(name_or_id\u003d\u0027d9178f9e-3c1d-4d3d-a022-12d264a08228\u0027)\n\u003e\u003e\u003e image.tags\n[\u0027testing\u0027]\n\u003e\u003e\u003e conn.image.update_image(\u0027d9178f9e-3c1d-4d3d-a022-12d264a08228\u0027, tags\u003d[\u0027cirros\u0027, \u0027dbaas\u0027])\nopenstack.image.v2.image.Image(id\u003dd9178f9e-3c1d-4d3d-a022-12d264a08228, tags\u003d[\u0027dbaas\u0027, \u0027cirros\u0027], name\u003dcirros_ansible, disk_format\u003draw, container_format\u003dbare, visibility\u003dprivate, size\u003d16338944, virtual_size\u003d16338944, status\u003dactive, checksum\u003d1d3062cd89af34e419f7100277f38b2b, protected\u003dTrue, min_ram\u003d0, min_disk\u003d0, owner\u003d324d213e796646018ead6312e5b7e4a1, os_hidden\u003dFalse, os_hash_algo\u003dsha512, os_hash_value\u003d553d220ed58cfee7dafe003c446a9f197ab5edf8ffc09396c74187cf83873c877e7ae041cb80f3b91489acf687183adcd689b53b38e3ddd22e627e7f98a09c46, created_at\u003d2021-04-28T15:54:37Z, updated_at\u003d2021-04-29T05:46:07Z, locations\u003d[{\u0027url\u0027: \u0027file:///var/lib/glance/images/d9178f9e-3c1d-4d3d-a022-12d264a08228\u0027, \u0027metadata\u0027: {\u0027store\u0027: \u0027file\u0027}}], file\u003d/v2/images/d9178f9e-3c1d-4d3d-a022-12d264a08228/file, schema\u003d/v2/schemas/image, properties\u003d{\u0027owner_specified.openstack.md5\u0027: \u0027\u0027, \u0027owner_specified.openstack.sha256\u0027: \u0027\u0027, \u0027owner_specified.openstack.object\u0027: \u0027images/cirros_ansible\u0027, \u0027stores\u0027: \u0027file\u0027}, location\u003dMunch({\u0027cloud\u0027: \u0027default\u0027, \u0027region_name\u0027: \u0027RegionOne\u0027, \u0027zone\u0027: None, \u0027project\u0027: Munch({\u0027id\u0027: \u0027324d213e796646018ead6312e5b7e4a1\u0027, \u0027name\u0027: \u0027admin\u0027, \u0027domain_id\u0027: None, \u0027domain_name\u0027: \u0027Default\u0027})}))\n\u003e\u003e\u003e conn.get_image(name_or_id\u003d\u0027d9178f9e-3c1d-4d3d-a022-12d264a08228\u0027).tags\n[\u0027dbaas\u0027, \u0027cirros\u0027]\n\u003e\u003e\u003e","accounts_in_message":[],"_revision_number":2},{"id":"569b4c7ecd56c562430d91c16293b98ee97fd315","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2021-04-29 05:53:29.000000000","message":"Patch Set 2:\n\n\u003e Patch Set 2:\n\u003e \n\u003e update_image_properties is not meant to change tags.\n\nwhile it\u0027s true, it still calls update_image with all passed kwargs at some point but I think it\u0027s update_image from proxy which does different thing from image.update_image.","accounts_in_message":[],"_revision_number":2},{"id":"44dff947d10745e5a491db5a93e59c7ee2423765","tag":"autogenerated:gerrit:abandon","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2021-04-29 10:13:47.000000000","message":"Abandoned\n\nDmitriy was right.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"58aaa6af28435238a4b9ad07ea485c23988c37b1","revisions":{"0490ce5984ef7543f08da3b1d49ae2679ab901d5":{"kind":"REWORK","_number":1,"created":"2021-04-28 11:53:45.000000000","uploader":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"ref":"refs/changes/77/788477/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/77/788477/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/1"}}},"commit":{"parents":[{"commit":"6327052ef0a3e0c4096dc09d673dd1d40dbcc3ed","subject":"Add support for the GroupType resource","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/6327052ef0a3e0c4096dc09d673dd1d40dbcc3ed"}]}],"author":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2021-04-28 11:51:24.000000000","tz":720},"committer":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2021-04-28 11:51:26.000000000","tz":720},"subject":"Support replacing image tags","message":"Support replacing image tags\n\nAdded a new method replace_tags for image so that it could be\nconsumed by tools such as ansible.\n\nChange-Id: I7e8a6fe9320e087047adc090a94230a6f543cb95\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/0490ce5984ef7543f08da3b1d49ae2679ab901d5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/0490ce5984ef7543f08da3b1d49ae2679ab901d5"}]},"branch":"refs/heads/master"},"58aaa6af28435238a4b9ad07ea485c23988c37b1":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2021-04-28 12:01:14.000000000","uploader":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"ref":"refs/changes/77/788477/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/77/788477/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/77/788477/2"}}},"commit":{"parents":[{"commit":"6327052ef0a3e0c4096dc09d673dd1d40dbcc3ed","subject":"Add support for the GroupType resource","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/6327052ef0a3e0c4096dc09d673dd1d40dbcc3ed"}]}],"author":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2021-04-28 11:51:24.000000000","tz":720},"committer":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2021-04-28 12:01:14.000000000","tz":0},"subject":"Support replacing image tags","message":"Support replacing image tags\n\nAdded a new method replace_tags for image so that it could be\nconsumed by tools such as ansible.\n\n```\nimport openstack\ncloud \u003d openstack.connect()\ncloud.image.replace_tags(\u0027b7f7a499-47a7-4765-967a-0030801eccaf\u0027, [\u0027tag1\u0027, \u0027tag2\u0027])\n```\n\nChange-Id: I7e8a6fe9320e087047adc090a94230a6f543cb95\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/58aaa6af28435238a4b9ad07ea485c23988c37b1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/58aaa6af28435238a4b9ad07ea485c23988c37b1"}]},"branch":"refs/heads/master","description":"Edit commit message"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
