aboutsummaryrefslogtreecommitdiff
path: root/ansible/module_utils/kolla_podman_worker.py
AgeCommit message (Collapse)AuthorFilesLines
2026-07-01UnicodeDecodeError in PodmanWorker.compare_configEttore Simone1-2/+6
During container config comparison, podman's Docker-compat exec API inconsistently demultiplexes the 8-byte frame headers from the output stream depending on podman version, leaving binary bytes in raw_output. This will raise an "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x?? in position 167: invalid start byte" Closes-Bug: 2153943 Change-Id: Ida1c017f50b9a24b88f8962d304eb015fa357211 Signed-off-by: Ettore Simone <ettore.simone@gmail.com> (cherry picked from commit c99f521356012d5bc42ab3c41a994b67657e86f0)
2026-05-06kolla_container: Return annotation of comparison failuresMichal Nasiadka1-9/+4
Assisted-By: Claude Sonnet 4.6 Change-Id: If6f09c727bc5c7af27786cdc92c998d653dd4ad1 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-11-29Fix idempotence on podman volume comparisonBertrand Lanson1-38/+54
Due to podman returning all mount option flags in Binds list, The compare_volumes function could not be idempotent because some flags would be skipped everytime, or analyzed when they shouldn't. This new version fixes it by filtering out all default flags from podman for both the requested and current volumes, making comparison accurate. It also takes into account special privileged paths that have the noexec flag added. Closes-bug: #2131039 Change-Id: I173bcb2b1f8c5b81f8395924dfccf73b060100b9 Signed-off-by: Bertrand Lanson <bertrand.lanson@protonmail.com>
2025-11-29Fix podman idempotence on comparing container dimensionsBertrand Lanson1-8/+46
Podman containers are created with default ulimites for RLIMIT_NOFILE and RLIMIT_NPROC that are breaking idempotence for kolla_container in check_container mode. We forbid users from setting them, so we should also ignore them when checking dimensions to make the module idempotent. Closes-bug: #2131038 Change-Id: If71589a666c4a3a8003a3419518fd7e4182c5e2b Signed-off-by: Bertrand Lanson <bertrand.lanson@protonmail.com>
2025-11-29Fix idempotence on comparing capabilities for podmanBertrand Lanson1-0/+36
Currently, we add the AUDIT_WRITE capability for all unprivileged podman containers. This causes a diff because the cap is popped from params before comparing with the running container's actual values. This patch fixes it by overriding compare_cap_add() to normalize capability formats and account for auto-added AUDIT_WRITE, while working around a bug in older Podman versions where AUDIT_WRITE doesn't appear in the inspect API response. Closes-bug: #2133434 Change-Id: I61fc50654fb06e041776fd394f6b1cab2f9903ba Signed-off-by: Bertrand Lanson <bertrand.lanson@protonmail.com>
2025-10-28Bump ansible-core to 2.18/2.19Michal Nasiadka1-5/+9
Bumped collections in requirements-core.yml to Ansible 12 major versions, see [1]. [1]: https://github.com/ansible-community/ansible-build-data/blob/main/12/ansible-12.1.0.yaml Depends-On: https://review.opendev.org/c/openstack/kolla/+/960307 Co-authored-by: Doug Szumski doug@stackhpc.com Change-Id: If8a29052d8a43ffc0fef11514adabb5e4ab9d977 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-25group_vars: Reorganize huge all.yml into smaller filesMichal Nasiadka1-1/+1
This will help us to trigger scenario jobs on changes in given group_vars files. Changes to Zuul config to trigger given scenarios will be posted as a follow-up. Change-Id: I3f17adf655d2d0c1fc2969153dddb0c72b11397a Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-03-27Assign labels to kolla volumesMarek Buch1-6/+22
Kolla volumes do not have assigned any labels, that makes identification and filtering for kolla specific volumes hard. This change allows for easier volume management. Closes-bug: #1630545 Change-Id: I6b536f73433cfc64881ac66e53aa0a5eed709ce6 Signed-off-by: Marek Buch <marek.buch@tietoevry.com>
2024-09-05Set KOLLA_SERVICE_NAME in Podman containersMartin Hiner1-5/+3
Fixes issue in PodmanWorker where it didn't set KOLLA_SERVICE_NAME environment variable when creating new container. Additionally, two methods were moved from DockerWorker to ContainerWorker as they are applicable to both engines. Closes-Bug: #2078940 Change-Id: I273444fc828678d3c6803bce1bc8db1c5366b9b6 Signed-off-by: Martin Hiner <martin.hiner@tietoevry.com>
2024-07-24Merge "Fix podman healtcheck when not enabled"Zuul1-1/+2
2024-07-08Fix podman healtcheck when not enabledIvan Halomi1-1/+2
There was a bug where setting the test command for the health check to 'NONE' would throw an error in podman_worker. This was problematic since K-A uses 'NONE' as an indicator that the health check is not enabled. Closes-Bug: #2071912 Change-Id: I3140bb79eace58b23f579be3da569c502c52c38c Signed-off-by: Ivan Halomi <ivan.halomi@tietoevry.com>
2024-07-03Merge "Enhanced explanation of volume handling with podman"Zuul1-6/+13
2024-07-02Enhanced explanation of volume handling with podmanIvan Halomi1-6/+13
Add more explanatory documentation why is parsing of volumes needed during creation of container to stay consistent with the documentation inside docker worker. Change-Id: Id7c90a6ec04f4a21a75f2edb39f80a64199b5f86 Signed-off-by: Ivan Halomi <ivan.halomi@tietoevry.com>
2024-06-26Merge "Support mode in named volumes when using podman"Zuul1-2/+6
2024-05-27Fix missing commas in kolla_podman_workerMartin Hiner1-3/+3
List of strings CONTAINER_PARAMS is missing comma separators, which makes it an implicit concatenation of list items that should be separate. Closes-Bug: #2067278 Change-Id: Iec9a8de184481dae058377fa8d7bbd8da729d62c Signed-off-by: Martin Hiner <martin.hiner@tietoevry.com>
2024-04-22CI: Add codespell to pep8Michal Nasiadka1-3/+3
Fix existing spelling errors Change-Id: Ie689cf5a344aaa630a4860448b09242333a8e119
2024-03-29tests: Replace imp with importlib.machineryMichal Nasiadka1-1/+2
It's needed for Python3.12 support, because imp has been dropped [1]. Also shlex dropped s=None support [2]. [1]: https://docs.python.org/3/whatsnew/3.12.html [2]: https://github.com/python/cpython/issues/94352 Change-Id: I23f37897ea08ac708f6df485f699122df647e552
2024-02-27Support mode in named volumes when using podmanWill Szumski1-2/+6
Volumes with a mode specifier were causing the container to fail to start with the error: "Wrong format of volume". ironic-dnsmasq was one services affected by this issue, but you could also hit this issue when using the volume customisation variables. Closes-Bug: #2054834 Change-Id: I848bd2838a17756f1c71b07befe1e3d966f5b6c2
2023-11-14Introduce oneshot docker_restart_policyMichal Nasiadka1-2/+2
docker_restart_policy: no causes systemd units to not get created and we use it in CI to disable restarts on services. Introducing oneshot policy to not create systemd unit for oneshot containers (those that are running bootstrap tasks, like db bootstrap and don't need a systemd unit), but still create systemd units for long lived containers but with Restart=No. Change-Id: I9e0d656f19143ec2fcad7d6d345b2c9387551604
2023-10-20Add support of podman deploymentIvan Halomi1-0/+674
This change adds basic deployment based on Podman container manager as an alternative to Docker. Signed-off-by: Ivan Halomi <i.halomi@partner.samsung.com> Signed-off-by: Martin Hiner <m.hiner@partner.samsung.com> Signed-off-by: Petr Tuma <p.tuma@partner.samsung.com> Change-Id: I2b52964906ba8b19b8b1098717b9423ab954fa3d Depends-On: Ie4b4c1cf8fe6e7ce41eaa703b423dedcb41e3afc