)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f0e5fd5ea5f32f17af4b7f2fce5831f6a73bf95c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f4c0670e_5400153f","updated":"2025-03-26 12:31:34.000000000","message":"what will happen to existing volumes, do we need something extra to add labels without running a complete redeployment?","commit_id":"055166b729276aa92f1c7c50a937ce2a1d106279"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ad94c8312ed5816ae3e71b123ff6e57113d3919f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7a8a3ead_41f10ef7","in_reply_to":"31571d76_3f5dfaad","updated":"2025-03-28 03:40:23.000000000","message":"Ah, ok, thx for the reference.","commit_id":"055166b729276aa92f1c7c50a937ce2a1d106279"},{"author":{"_account_id":37726,"name":"Marek Buch","display_name":"marekbuch","email":"marek.buch@tietoevry.com","username":"marekbuch"},"change_message_id":"aa1196e189d5a29496c327d96a9de8ae0d834955","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"31571d76_3f5dfaad","in_reply_to":"f4c0670e_5400153f","updated":"2025-03-27 07:51:44.000000000","message":"Adding or modifying labels of already existing volumes is not possible. Current deployments will have to be redeployed.\n\"Labels on images, containers, local daemons, volumes, and networks are static for the lifetime of the object. To change these labels you must recreate the object.\"[1]\n\nhttps://docs.docker.com/engine/manage-resources/labels/","commit_id":"055166b729276aa92f1c7c50a937ce2a1d106279"}],"ansible/module_utils/kolla_docker_worker.py":[{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"82af3a6db6b82afbba483a7386cd37c27828387b","unresolved":true,"context_lines":[{"line_number":474,"context_line":"                            self.dc.volumes().get(\"Volumes\", [])}"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"        for volume in volumes:"},{"line_number":477,"context_line":"            if \":\" in volume:"},{"line_number":478,"context_line":"                volume_name \u003d volume.split(\":\")[0]"},{"line_number":479,"context_line":"                if \"/\" in volume_name:"},{"line_number":480,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"75801c9a_9f7cdf3d","line":477,"range":{"start_line":477,"start_character":12,"end_line":477,"end_character":29},"updated":"2025-03-06 14:49:22.000000000","message":"Isn\u0027t this check redundant? I can\u0027t think of any case where \":\" would be missing. Docker allows you to do `docker run -v some_volume ubuntu` but I don\u0027t think k-a uses it anywhere.","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"2c8909328fca1c5862a614ba007a64699e07520d","unresolved":false,"context_lines":[{"line_number":474,"context_line":"                            self.dc.volumes().get(\"Volumes\", [])}"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"        for volume in volumes:"},{"line_number":477,"context_line":"            if \":\" in volume:"},{"line_number":478,"context_line":"                volume_name \u003d volume.split(\":\")[0]"},{"line_number":479,"context_line":"                if \"/\" in volume_name:"},{"line_number":480,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"7802d60b_0cb56f6b","line":477,"range":{"start_line":477,"start_character":12,"end_line":477,"end_character":29},"in_reply_to":"75801c9a_9f7cdf3d","updated":"2025-03-11 13:33:27.000000000","message":"Done","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"82af3a6db6b82afbba483a7386cd37c27828387b","unresolved":true,"context_lines":[{"line_number":479,"context_line":"                if \"/\" in volume_name:"},{"line_number":480,"context_line":"                    continue"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"                if volume_name in existing_volumes:"},{"line_number":483,"context_line":"                    continue"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"                self.create_volume(name\u003dvolume_name)"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7df0d3f6_c52f121e","line":483,"range":{"start_line":482,"start_character":16,"end_line":483,"end_character":28},"updated":"2025-03-06 14:49:22.000000000","message":"Also maybe redundant? The existence of the volume is already being checked in `create_volume` on `L466`","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"2c8909328fca1c5862a614ba007a64699e07520d","unresolved":false,"context_lines":[{"line_number":479,"context_line":"                if \"/\" in volume_name:"},{"line_number":480,"context_line":"                    continue"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"                if volume_name in existing_volumes:"},{"line_number":483,"context_line":"                    continue"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"                self.create_volume(name\u003dvolume_name)"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"83dbf655_55b297ea","line":483,"range":{"start_line":482,"start_character":16,"end_line":483,"end_character":28},"in_reply_to":"7df0d3f6_c52f121e","updated":"2025-03-11 13:33:27.000000000","message":"Done","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"}],"ansible/module_utils/kolla_podman_worker.py":[{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"82af3a6db6b82afbba483a7386cd37c27828387b","unresolved":true,"context_lines":[{"line_number":645,"context_line":"        existing_volumes \u003d {v.name for v in self.pc.volumes.list()}"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        for volume in volumes:"},{"line_number":648,"context_line":"            if \":\" in volume:"},{"line_number":649,"context_line":"                volume_name \u003d volume.split(\":\")[0]"},{"line_number":650,"context_line":"                if \"/\" in volume_name:"},{"line_number":651,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"2ad55028_b24d6d67","line":648,"range":{"start_line":648,"start_character":12,"end_line":648,"end_character":29},"updated":"2025-03-06 14:49:22.000000000","message":"ditto","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"2c8909328fca1c5862a614ba007a64699e07520d","unresolved":false,"context_lines":[{"line_number":645,"context_line":"        existing_volumes \u003d {v.name for v in self.pc.volumes.list()}"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        for volume in volumes:"},{"line_number":648,"context_line":"            if \":\" in volume:"},{"line_number":649,"context_line":"                volume_name \u003d volume.split(\":\")[0]"},{"line_number":650,"context_line":"                if \"/\" in volume_name:"},{"line_number":651,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"6f686eb4_80aec567","line":648,"range":{"start_line":648,"start_character":12,"end_line":648,"end_character":29},"in_reply_to":"2ad55028_b24d6d67","updated":"2025-03-11 13:33:27.000000000","message":"Done","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"82af3a6db6b82afbba483a7386cd37c27828387b","unresolved":true,"context_lines":[{"line_number":650,"context_line":"                if \"/\" in volume_name:"},{"line_number":651,"context_line":"                    continue"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"                if volume_name in existing_volumes:"},{"line_number":654,"context_line":"                    continue"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"                self.create_volume(name\u003dvolume_name)"},{"line_number":657,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"795f3d76_2e8ca8fd","line":654,"range":{"start_line":653,"start_character":16,"end_line":654,"end_character":28},"updated":"2025-03-06 14:49:22.000000000","message":"ditto","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"2c8909328fca1c5862a614ba007a64699e07520d","unresolved":false,"context_lines":[{"line_number":650,"context_line":"                if \"/\" in volume_name:"},{"line_number":651,"context_line":"                    continue"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"                if volume_name in existing_volumes:"},{"line_number":654,"context_line":"                    continue"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"                self.create_volume(name\u003dvolume_name)"},{"line_number":657,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"950dd1f1_92e977bb","line":654,"range":{"start_line":653,"start_character":16,"end_line":654,"end_character":28},"in_reply_to":"795f3d76_2e8ca8fd","updated":"2025-03-11 13:33:27.000000000","message":"Done","commit_id":"d80f652ae56bbe84bf019b3dd8c83c3bf5ed0a2b"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"2c8909328fca1c5862a614ba007a64699e07520d","unresolved":true,"context_lines":[{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def create_volume(self, name\u003dNone):"},{"line_number":631,"context_line":"        volume_name \u003d name if name else self.params.get(\u0027name\u0027)"},{"line_number":632,"context_line":"        if not self.check_volume():"},{"line_number":633,"context_line":"            self.changed \u003d True"},{"line_number":634,"context_line":"            args \u003d dict("},{"line_number":635,"context_line":"                name\u003dvolume_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"824f1237_b26416a1","line":632,"range":{"start_line":632,"start_character":20,"end_line":632,"end_character":32},"updated":"2025-03-11 13:33:27.000000000","message":"The podman CI fails due to the following reason \n`podman.errors.exceptions.APIError: 500 Server Error: Internal Server Error (volume with name kolla_logs already exists: volume already exists)`\n\nThis is moth likely due to faulty implementation of check_volumes(). You should also pass the name of the volume to that function, similarly like for create_volume().\n\nThis is only a problem for podman, because it is one of the few differences between podman and docker implementation.","commit_id":"accdc587b1c94d7e6609d962582589f48ff6942e"},{"author":{"_account_id":37726,"name":"Marek Buch","display_name":"marekbuch","email":"marek.buch@tietoevry.com","username":"marekbuch"},"change_message_id":"31b6710533d6ad269bb807a7419f9fd27018a1a0","unresolved":false,"context_lines":[{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def create_volume(self, name\u003dNone):"},{"line_number":631,"context_line":"        volume_name \u003d name if name else self.params.get(\u0027name\u0027)"},{"line_number":632,"context_line":"        if not self.check_volume():"},{"line_number":633,"context_line":"            self.changed \u003d True"},{"line_number":634,"context_line":"            args \u003d dict("},{"line_number":635,"context_line":"                name\u003dvolume_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"a43c6141_219eb169","line":632,"range":{"start_line":632,"start_character":20,"end_line":632,"end_character":32},"in_reply_to":"824f1237_b26416a1","updated":"2025-03-27 07:57:31.000000000","message":"Done","commit_id":"accdc587b1c94d7e6609d962582589f48ff6942e"}],"releasenotes/notes/assign-labels-to-kolla-volumes-4c733756a7c746d2.yaml":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f0e5fd5ea5f32f17af4b7f2fce5831f6a73bf95c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implements assigning labels to kolla volumes."},{"line_number":5,"context_line":"    Kolla volumes do not have assigned any labels,"},{"line_number":6,"context_line":"    that makes identification and filtering for kolla specific volumes hard."},{"line_number":7,"context_line":"    This feature would be useful in podman migrations and"},{"line_number":8,"context_line":"    allows for easier volume management such as destroying volumes."},{"line_number":9,"context_line":"    `LP#1630545 \u003chttps://bugs.launchpad.net/kolla-ansible/+bug/1630545\u003e`"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7a5de81f_9897bee4","line":7,"range":{"start_line":5,"start_character":1,"end_line":7,"end_character":57},"updated":"2025-03-26 12:31:34.000000000","message":"the reno should describe the merged change, so e.g.\n\n```suggestion\n    Kolla volumes did not have assigned any labels,\n    that made identification and filtering for kolla specific volumes hard.\n    This feature is useful in podman migrations and\n```","commit_id":"055166b729276aa92f1c7c50a937ce2a1d106279"},{"author":{"_account_id":37726,"name":"Marek Buch","display_name":"marekbuch","email":"marek.buch@tietoevry.com","username":"marekbuch"},"change_message_id":"db183e6be81ecb820a7860ee5f83ee12a0bfab51","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implements assigning labels to kolla volumes."},{"line_number":5,"context_line":"    Kolla volumes do not have assigned any labels,"},{"line_number":6,"context_line":"    that makes identification and filtering for kolla specific volumes hard."},{"line_number":7,"context_line":"    This feature would be useful in podman migrations and"},{"line_number":8,"context_line":"    allows for easier volume management such as destroying volumes."},{"line_number":9,"context_line":"    `LP#1630545 \u003chttps://bugs.launchpad.net/kolla-ansible/+bug/1630545\u003e`"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3cb65f50_6da4d673","line":7,"range":{"start_line":5,"start_character":1,"end_line":7,"end_character":57},"in_reply_to":"7a5de81f_9897bee4","updated":"2025-03-27 07:57:04.000000000","message":"Fix applied.","commit_id":"055166b729276aa92f1c7c50a937ce2a1d106279"}]}
