)]}'
{"ci/roles/image/defaults/main.yml":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"8e2333bb21719d91b117f436acd43ae0bbbae8a3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"image_name: ansible_image"},{"line_number":2,"context_line":"image_tags:"},{"line_number":3,"context_line":"  - test"},{"line_number":4,"context_line":"  - ansible"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"f03a234e_8589408a","line":4,"range":{"start_line":2,"start_character":1,"end_line":4,"end_character":11},"updated":"2021-04-29 09:44:03.000000000","message":"for some reason the tags order was reversed:\n\n 2021-04-28 20:05:27.407727 | controller |         \"tags\": [\n 2021-04-28 20:05:27.407733 | controller |             \"ansible\",\n 2021-04-28 20:05:27.407738 | controller |             \"test\"\n 2021-04-28 20:05:27.407744 | controller |         ],\n\nhttps://f71619cfa10cd3fc99b7-3a4749c0c4f3cc7a5cc841370b346a1f.ssl.cf5.rackcdn.com/783850/9/check/ansible-collections-openstack-functional-devstack/6bdba58/job-output.txt","commit_id":"5c2c5c27b1197e20c3bdd097161573b3bce55d42"}],"ci/roles/image/tasks/main.yml":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"7056164f8054a20d12c0a02863b49b2a3e72d3f5","unresolved":true,"context_lines":[{"line_number":13,"context_line":"     name: \"{{ image_name }}\""},{"line_number":14,"context_line":"     filename: \"{{ tmp_file.stdout }}\""},{"line_number":15,"context_line":"     disk_format: raw"},{"line_number":16,"context_line":"     tags: \"{{ image_tags }}\""},{"line_number":17,"context_line":"  register: image"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Get details of created image"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"e393d1a6_c2f3dedf","line":16,"range":{"start_line":16,"start_character":5,"end_line":16,"end_character":29},"updated":"2021-04-29 09:47:38.000000000","message":"Rocky and stein should not run this test, please limit it for specific SDK version: \n\n  when: sdk_version is version(\u00270.56\u0027, \u0027\u003e\u003d\u0027)","commit_id":"5c2c5c27b1197e20c3bdd097161573b3bce55d42"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d460ed74c2c2976e63f1496ddfe1e95774014450","unresolved":true,"context_lines":[{"line_number":13,"context_line":"     name: \"{{ image_name }}\""},{"line_number":14,"context_line":"     filename: \"{{ tmp_file.stdout }}\""},{"line_number":15,"context_line":"     disk_format: raw"},{"line_number":16,"context_line":"     tags: \"{{ image_tags }}\""},{"line_number":17,"context_line":"  register: image"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Get details of created image"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"78c25f3e_37d856f4","line":16,"range":{"start_line":16,"start_character":5,"end_line":16,"end_character":29},"in_reply_to":"e393d1a6_c2f3dedf","updated":"2021-04-29 09:52:41.000000000","message":"Please ignore my comment, these jobs don\u0027t vote.","commit_id":"5c2c5c27b1197e20c3bdd097161573b3bce55d42"}],"plugins/modules/image.py":[{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"9abeaa2bb8b0a462c05977a1603eeaf9372b67a8","unresolved":true,"context_lines":[{"line_number":229,"context_line":"                ramdisk\u003dmodule.params[\u0027ramdisk\u0027],"},{"line_number":230,"context_line":"                protected\u003dmodule.params[\u0027protected\u0027],"},{"line_number":231,"context_line":"                **module.params[\u0027properties\u0027])"},{"line_number":232,"context_line":"            image \u003d cloud.get_image(name_or_id\u003dimage.id)"},{"line_number":233,"context_line":"            module.exit_json(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        elif module.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"8bd77044_e8755906","line":232,"updated":"2021-04-29 10:25:20.000000000","message":"If image exists, tags should be also updated.","commit_id":"5c2c5c27b1197e20c3bdd097161573b3bce55d42"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"77e6ad31fec25931cbf470c4e2a089a377f620a0","unresolved":true,"context_lines":[{"line_number":229,"context_line":"                ramdisk\u003dmodule.params[\u0027ramdisk\u0027],"},{"line_number":230,"context_line":"                protected\u003dmodule.params[\u0027protected\u0027],"},{"line_number":231,"context_line":"                **module.params[\u0027properties\u0027])"},{"line_number":232,"context_line":"            image \u003d cloud.get_image(name_or_id\u003dimage.id)"},{"line_number":233,"context_line":"            module.exit_json(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        elif module.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"332490c3_7863cc93","line":232,"in_reply_to":"894dc6c0_0ef6843b","updated":"2021-04-29 12:47:14.000000000","message":"I tried that in https://review.opendev.org/c/openstack/ansible-collections-openstack/+/783850/8/plugins/modules/image.py with the result you described https://zuul.opendev.org/t/openstack/build/87b20f318eed409aa6bcd3a7f25abe6b/log/job-output.txt#34371\n\nSo I think that there\u0027s smth weird in openstacksdk, but I meant that I\u0027d use some different approach on solving that rather then https://review.opendev.org/c/openstack/openstacksdk/+/788477\n\nAs I think the weird thing happens somewhere in `update_image_properties` as cloud.image.update_image handles scenarion nicely.\n\nFor me big win would be at least adding support to set tags, and we can iterate later on updating them as well.","commit_id":"5c2c5c27b1197e20c3bdd097161573b3bce55d42"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"40b51191cc5a8be788e989d8a86016135e9be3b0","unresolved":true,"context_lines":[{"line_number":229,"context_line":"                ramdisk\u003dmodule.params[\u0027ramdisk\u0027],"},{"line_number":230,"context_line":"                protected\u003dmodule.params[\u0027protected\u0027],"},{"line_number":231,"context_line":"                **module.params[\u0027properties\u0027])"},{"line_number":232,"context_line":"            image \u003d cloud.get_image(name_or_id\u003dimage.id)"},{"line_number":233,"context_line":"            module.exit_json(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        elif module.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"894dc6c0_0ef6843b","line":232,"in_reply_to":"8bd77044_e8755906","updated":"2021-04-29 12:42:29.000000000","message":"well, yes, but as you said, adding tags into update_image_properties realy cause `400 Bad Request` and I haven\u0027t figured why yet :(","commit_id":"5c2c5c27b1197e20c3bdd097161573b3bce55d42"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"4328ae5be1eb6b26c2a420a16563e4d4ee7c21ed","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                ramdisk\u003dself.params[\u0027ramdisk\u0027],"},{"line_number":228,"context_line":"                protected\u003dself.params[\u0027protected\u0027],"},{"line_number":229,"context_line":"                **self.params[\u0027properties\u0027])"},{"line_number":230,"context_line":"            image \u003d self.conn.get_image(name_or_id\u003dimage.id)"},{"line_number":231,"context_line":"            self.exit(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        elif self.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"277b7147_3318f4c1","line":230,"updated":"2021-04-30 01:39:16.000000000","message":"To make update tags work, how about we just add:\n\n  if module.params[\u0027tags\u0027]:\n      cloud.image.update_image(image.id, tags\u003dmodule.params[\u0027tags\u0027])","commit_id":"943cf407f8019464651b019f13bb767b7cea3325"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"18516cdfaccd0c802d504210e8dcf37ec4699865","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                ramdisk\u003dself.params[\u0027ramdisk\u0027],"},{"line_number":228,"context_line":"                protected\u003dself.params[\u0027protected\u0027],"},{"line_number":229,"context_line":"                **self.params[\u0027properties\u0027])"},{"line_number":230,"context_line":"            image \u003d self.conn.get_image(name_or_id\u003dimage.id)"},{"line_number":231,"context_line":"            self.exit(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        elif self.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"35abc6da_6a58b3de","line":230,"in_reply_to":"277b7147_3318f4c1","updated":"2021-04-30 05:03:12.000000000","message":"For some reason in ansible collection is raises 400, as you said before. See CI results for patchset 12","commit_id":"943cf407f8019464651b019f13bb767b7cea3325"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"281c4ce18d8070adbb5ed663ff2d0efdc997e495","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                ramdisk\u003dself.params[\u0027ramdisk\u0027],"},{"line_number":228,"context_line":"                protected\u003dself.params[\u0027protected\u0027],"},{"line_number":229,"context_line":"                **self.params[\u0027properties\u0027])"},{"line_number":230,"context_line":"            image \u003d self.conn.get_image(name_or_id\u003dimage.id)"},{"line_number":231,"context_line":"            self.exit(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        elif self.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7fc9d419_06fb48aa","line":230,"in_reply_to":"35abc6da_6a58b3de","updated":"2021-04-30 05:06:50.000000000","message":"So might be you abandoned https://review.opendev.org/c/openstack/openstacksdk/+/788477too early after all. But still I think the issue here is somewhere in update_image_properties, as I think it should be able to handle tags update as well after all.\nJust don\u0027t have enough time to debug it futher right now","commit_id":"943cf407f8019464651b019f13bb767b7cea3325"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"d6052b6ffef2457ee322680306e225d0db7fc8ea","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                ramdisk\u003dself.params[\u0027ramdisk\u0027],"},{"line_number":228,"context_line":"                protected\u003dself.params[\u0027protected\u0027],"},{"line_number":229,"context_line":"                **self.params[\u0027properties\u0027])"},{"line_number":230,"context_line":"            image \u003d self.conn.get_image(name_or_id\u003dimage.id)"},{"line_number":231,"context_line":"            self.exit(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        elif self.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"b273b496_2e20241d","line":230,"in_reply_to":"38148dcd_21b5bf36","updated":"2021-04-30 20:15:15.000000000","message":"Well, I think `cloud` should be undefined, as I don\u0027t really see how it\u0027s going to be valid here... But let\u0027s see.","commit_id":"943cf407f8019464651b019f13bb767b7cea3325"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"2e95c9326476419313b5332cb2eb8024ef8d22dc","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                ramdisk\u003dself.params[\u0027ramdisk\u0027],"},{"line_number":228,"context_line":"                protected\u003dself.params[\u0027protected\u0027],"},{"line_number":229,"context_line":"                **self.params[\u0027properties\u0027])"},{"line_number":230,"context_line":"            image \u003d self.conn.get_image(name_or_id\u003dimage.id)"},{"line_number":231,"context_line":"            self.exit(changed\u003dchanged, image\u003dimage, id\u003dimage.id)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        elif self.params[\u0027state\u0027] \u003d\u003d \u0027absent\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"38148dcd_21b5bf36","line":230,"in_reply_to":"7fc9d419_06fb48aa","updated":"2021-04-30 06:09:51.000000000","message":"Maybe I didn\u0027t make myself understood, but after discussing with you earlier, updating image tags could succeed in my env with my suggested code above.","commit_id":"943cf407f8019464651b019f13bb767b7cea3325"}]}
