)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"bcab08cb187f8f50daffb69bc2a7694a514768c6","unresolved":true,"context_lines":[{"line_number":29,"context_line":"Example output:"},{"line_number":30,"context_line":"    \"Labels\": {"},{"line_number":31,"context_line":"        \"org.opencontainers.image.authors\": \"Kolla Project (https://launchpad.net/kolla)\","},{"line_number":32,"context_line":"        \"org.opencontainers.image.created\": \"2025-12-22T14:02:47.015819\","},{"line_number":33,"context_line":"        \"org.opencontainers.image.description\": \"OpenStack Kolla keystone-ssh image\","},{"line_number":34,"context_line":"        \"org.opencontainers.image.licenses\": \"Apache-2.0\","},{"line_number":35,"context_line":"        \"org.opencontainers.image.revision\": \"96b54022857ccef8dc6bb11789abe32119827109\","}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"2c891bc0_a31db9f9","line":32,"updated":"2026-03-30 15:26:52.000000000","message":"this time is not RFC3339 compliant - https://specs.opencontainers.org/image-spec/annotations/#pre-defined-annotation-keys\n\nit should have either timezone offset or Z suffix for UTC\n\nalso shown in the build logs\n\nhttps://03b09b2c4c61a51fac54-e21f3284a69ab3bb1c3a75be83aa4c39.ssl.cf2.rackcdn.com/openstack/115d988c746e4e73b9d5c53b3c47d3d2/kolla/build/openstack-base.log\n\nalso source looks odd:\nINFO:kolla.common.utils.openstack-base:Step 15/18 : LABEL org.opencontainers.image.source\u003dfile:///home/zuul/src/opendev.org/openstack/kolla\n\nand I can\u0027t see revision there in the log","commit_id":"9ebf07bc3a445a01a3aab0849df2843ee516757f"},{"author":{"_account_id":37306,"name":"Piotr Milewski","display_name":"Piotr Milewski","email":"vurmil@gmail.com","username":"vurmil"},"change_message_id":"f5066437e37b5e972c1d48057843f4ef6257a026","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Example output:"},{"line_number":30,"context_line":"    \"Labels\": {"},{"line_number":31,"context_line":"        \"org.opencontainers.image.authors\": \"Kolla Project (https://launchpad.net/kolla)\","},{"line_number":32,"context_line":"        \"org.opencontainers.image.created\": \"2025-12-22T14:02:47.015819\","},{"line_number":33,"context_line":"        \"org.opencontainers.image.description\": \"OpenStack Kolla keystone-ssh image\","},{"line_number":34,"context_line":"        \"org.opencontainers.image.licenses\": \"Apache-2.0\","},{"line_number":35,"context_line":"        \"org.opencontainers.image.revision\": \"96b54022857ccef8dc6bb11789abe32119827109\","}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3219937d_1b2042a0","line":32,"in_reply_to":"2c891bc0_a31db9f9","updated":"2026-03-30 15:44:54.000000000","message":"Timestamp Fixed to be RFC 3339 compliant by adding the Z suffix for UTC.\n\nSource/Revision: The file:// URL appeared because PIP records local filesystem paths during directory-based installs.\nI\u0027ve added a fallback to Git to ensure the official repo URL and commit hash are used instead.","commit_id":"9ebf07bc3a445a01a3aab0849df2843ee516757f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":37306,"name":"Piotr Milewski","display_name":"Piotr Milewski","email":"vurmil@gmail.com","username":"vurmil"},"change_message_id":"cb6bb9afa86e77d5ce1f1514c6e102486e0cb97b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a8f5cede_3b6d7a50","updated":"2025-12-23 11:05:57.000000000","message":"We still need to clarify what exactly you would like to see. For reference, Zuul builds images from the local path, so the labels in the build logs reflect that. For example, when building barbican-api, Zuul shows:\norg.opencontainers.image.authors\u003dKolla Project (https://launchpad.net/kolla)\norg.opencontainers.image.created\u003d2025-12-23T09:40:21.449188\norg.opencontainers.image.description\u003dOpenStack Kolla barbican-api image\norg.opencontainers.image.licenses\u003dApache-2.0\norg.opencontainers.image.source\u003dfile:///home/zuul/src/opendev.org/openstack/kolla\norg.opencontainers.image.title\u003dbarbican-api\norg.opencontainers.image.url\u003dhttps://opendev.org/openstack/kolla\norg.opencontainers.image.version\u003d21.1.0\n\nLocally, the labels on my keystone-ssh image look like this:\n\"build-date\": \"20251222\",\n\"kolla_version\": \"21.1.0\",\n\"maintainer\": \"Kolla Project (https://launchpad.net/kolla)\",\n\"name\": \"keystone-ssh\",\n\"org.opencontainers.image.authors\": \"Kolla Project (https://launchpad.net/kolla)\",\n\"org.opencontainers.image.created\": \"2025-12-22T14:02:47.015819\",\n\"org.opencontainers.image.description\": \"OpenStack Kolla keystone-ssh image\",\n\"org.opencontainers.image.licenses\": \"Apache-2.0\",\n\"org.opencontainers.image.ref.name\": \"ubuntu\",\n\"org.opencontainers.image.revision\": \"96b54022857ccef8dc6bb11789abe32119827109\",\n\"org.opencontainers.image.source\": \"https://opendev.org/openstack/kolla\",\n\"org.opencontainers.image.title\": \"keystone-ssh\",\n\"org.opencontainers.image.url\": \"https://opendev.org/openstack/kolla\",\n\"org.opencontainers.image.version\": \"master-ubuntu-noble\"\n\nSo, Zuul builds from the path, and the image labels reflect the build environment and source. We can decide what details you want to include or emphasize.\n\nIf you want, I can also make a shorter, one-paragraph version suitable for messaging or email. Do you want me to do that?","commit_id":"b2b9fde0c2dc5cbe74aedfa70ecaccf254e4a10d"},{"author":{"_account_id":37306,"name":"Piotr Milewski","display_name":"Piotr Milewski","email":"vurmil@gmail.com","username":"vurmil"},"change_message_id":"f27837536173de885d1860fa5ccba28da65e9266","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2dd1e65f_1a4794fe","in_reply_to":"a8f5cede_3b6d7a50","updated":"2025-12-23 18:20:18.000000000","message":"Acknowledged","commit_id":"b2b9fde0c2dc5cbe74aedfa70ecaccf254e4a10d"}],"kolla/image/kolla_worker.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"399bb130d6d74e2a187fabb0597d5926b5d2b739","unresolved":true,"context_lines":[{"line_number":182,"context_line":"                            data[\u0027vcs_info\u0027][\u0027commit_id\u0027])"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"                    if labels:"},{"line_number":185,"context_line":"                        LOG.info(f\"Detected PIP install source: {labels}\")"},{"line_number":186,"context_line":"                        return labels"},{"line_number":187,"context_line":"        except Exception as e:"},{"line_number":188,"context_line":"            LOG.debug(f\"Could not retrieve PIP direct_url info: {e}\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"23e37730_53e20e83","line":185,"updated":"2026-03-25 05:43:42.000000000","message":"I\u0027d say LOG.debug? I don\u0027t think we need that every time, do we?","commit_id":"b2b9fde0c2dc5cbe74aedfa70ecaccf254e4a10d"},{"author":{"_account_id":37306,"name":"Piotr Milewski","display_name":"Piotr Milewski","email":"vurmil@gmail.com","username":"vurmil"},"change_message_id":"e7734d14371aabc8396eca2e15232f59230d5a8e","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                            data[\u0027vcs_info\u0027][\u0027commit_id\u0027])"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"                    if labels:"},{"line_number":185,"context_line":"                        LOG.info(f\"Detected PIP install source: {labels}\")"},{"line_number":186,"context_line":"                        return labels"},{"line_number":187,"context_line":"        except Exception as e:"},{"line_number":188,"context_line":"            LOG.debug(f\"Could not retrieve PIP direct_url info: {e}\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"2f2fab46_f6dca737","line":185,"in_reply_to":"23e37730_53e20e83","updated":"2026-03-25 08:03:36.000000000","message":"Acknowledged","commit_id":"b2b9fde0c2dc5cbe74aedfa70ecaccf254e4a10d"}]}
