| Age | Commit message (Collapse) | Author | Files | Lines |
|
In generate_tls(), tls_cert and tls_key were assigned with trailing
commas, which caused them to become single-element tuples (None,)
instead of None. This made the if tls_cert: check always true,
leading to TypeError when check_file() received a tuple instead
of a string path.
Remove the trailing commas so tls_cert and tls_key are plain values.
Remove TestTLS.setUp(_get_host_timezone) for stable branches:
_get_host_timezone does not exist in kolla_container_worker.py
on older branches, causing AttributeError in TestTLS setUp.
Closes-Bug: #2166845
Change-Id: I06b8876838ee2ec3c20c9a98448fc9e5588f32cd
Signed-off-by: Tikhon Masalov <t.masalov@maxima-int.com>
(cherry picked from commit 2f8958235bc16a89a33c0711f1dfcb7bca87a1a9)
|
|
check_image() from kolla_docker_worker returns None when the image
doesn't exist locally. This means that when compare_labels tries to read
a value from it, it will error out. This chain happens when comparing an
image that doesn't exist locally. In the past we didn't hit this because
checks ran sequentially and it would exit before hitting this. A recent
change [1] means that now all checks run always.
This patch fixes the issue in two ways. First, it makes the docker
worker return an empty dict from check_image when it doesn't exist.
Second, compare_labels now truthy-checks the output before proceeding,
and returns straight away if it's False.
[1] https://review.opendev.org/c/openstack/kolla-ansible/+/978162
Change-Id: I3c33ac3a474f80bca100005f61c1c0bfedc46170
Signed-off-by: Alex Welsh <alex@stackhpc.com>
Closes-Bug: #2166024
(cherry picked from commit ffc50e8d33ade7a0d58ef83b79ed296a28b49608)
|
|
When enabling cpuset_cpus or cpuset_mems on existing Docker containers,
Docker may report the current value as an empty string when no cpuset
constraint is configured.
These dimensions are cpuset-list strings, not numeric resource values.
Compare them as strings in the Docker worker instead of passing them
through the numeric dimension comparison logic.
Closes-Bug: 2143874
Change-Id: I1b8cd72846b28f556c8f9a0ba114a8af9221e85a
Signed-off-by: Loan Harrouin <loan.harrouin@gmail.com>
(cherry picked from commit 8304bb3884237bf5aee1c60715d097e88561d56d)
|
|
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)
|
|
Tests had to be a bit refactored due to pep8 E501 (line too long)
See [1].
[1]: https://github.com/PyCQA/bandit/commit/649b9bdf87f4f9d850b29819b14b847bd3b8f970
Change-Id: I99407525546f50c4ff1c0101316485604c83b07f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Move actions responsible for info about containers
from kolla_container module to kolla_container_facts.
Also fixes a bug with inconsistencies between docker
and podman in kolla_container_facts.
Closes-bug: #2084878
Change-Id: I1db88e28a828ebf073f018b2bae1d9556ec22807
Signed-off-by: Ivan Halomi <ivan.halomi@tietoevry.com>
Signed-off-by: Martin Hiner <martin.hiner@tietoevry.com>
Signed-off-by: Roman KrĨek <roman.krcek@tietoevry.com>
|
|
Library "distutils" is deprecated in Python 3.10:
https://peps.python.org/pep-0632/
The versions previously referenced using StrictVersion should be old
enough that they will not be used in a Dalmatian deployment:
- Ansible 2.11
- Docker API 1.42, included since Docker engine 23.0.0
Change-Id: Ie315004715a1cb5a91dd54bc64b0a8fd0af650ec
|
|
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>
|
|
|
|
When using short notations like `1g` or `512m` to define the
container dimensions, we are always getting the container to
being restarted in each kolla-ansible run, even with no real
changes in the container configs.
Change-Id: Ic8e2dd42b95a8f5c2141a820c55642a3ed7beabd
Closes-Bug: #2070494
|
|
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
|
|
Changes name of ansible module kolla_docker to
kolla_container.
Change-Id: I13c676ed0378aa721a21a1300f6054658ad12bc7
Signed-off-by: Martin Hiner <m.hiner@partner.samsung.com>
|