aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2024-07-24 15:04:05 +0000
committerGerrit Code Review <review@openstack.org>2024-07-24 15:04:05 +0000
commit6891f8c2bb05f54c42728ecbcd7d49176a80ddcd (patch)
tree9f8ea2b9839ab5243f18de684218e155a0f73887
parent5935918f67a78064a14f4c324be8aa22f98a5923 (diff)
parent59bebd41eb768653f8bbccab0df46da3eac5c47c (diff)
downloadkolla-ansible-6891f8c2bb05f54c42728ecbcd7d49176a80ddcd.tar.gz
kolla-ansible-6891f8c2bb05f54c42728ecbcd7d49176a80ddcd.zip
Merge "Fix podman healtcheck when not enabled"
-rw-r--r--ansible/module_utils/kolla_podman_worker.py3
-rw-r--r--releasenotes/notes/bug-2071912-89d2fba8865ddf40.yaml6
-rw-r--r--tests/kolla_container_tests/test_docker_worker.py15
-rw-r--r--tests/kolla_container_tests/test_podman_worker.py12
4 files changed, 35 insertions, 1 deletions
diff --git a/ansible/module_utils/kolla_podman_worker.py b/ansible/module_utils/kolla_podman_worker.py
index dfba6103d..757f5f461 100644
--- a/ansible/module_utils/kolla_podman_worker.py
+++ b/ansible/module_utils/kolla_podman_worker.py
@@ -104,7 +104,8 @@ class PodmanWorker(ContainerWorker):
if healthcheck:
healthcheck = self.parse_healthcheck(healthcheck)
self.params.pop('healthcheck', None)
- args.update(healthcheck)
+ if healthcheck:
+ args.update(healthcheck)
# getting dimensions into separate parameters
dimensions = self.params.get('dimensions')
diff --git a/releasenotes/notes/bug-2071912-89d2fba8865ddf40.yaml b/releasenotes/notes/bug-2071912-89d2fba8865ddf40.yaml
new file mode 100644
index 000000000..f9fae9c1e
--- /dev/null
+++ b/releasenotes/notes/bug-2071912-89d2fba8865ddf40.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+ - |
+ Fixes podman failure when enable_container_healthchecks
+ is set to "no".
+ `LP#2071912 <https://launchpad.net/bugs/2071912>`__
diff --git a/tests/kolla_container_tests/test_docker_worker.py b/tests/kolla_container_tests/test_docker_worker.py
index 021bdf7e6..e6e6f0de2 100644
--- a/tests/kolla_container_tests/test_docker_worker.py
+++ b/tests/kolla_container_tests/test_docker_worker.py
@@ -365,6 +365,21 @@ class TestContainer(base.BaseTestCase):
self.dw.dc.create_container.assert_called_once_with(
**{k: self.fake_data['params'][k] for k in expected_args})
+ def test_create_container_with_None_healthcheck(self):
+ self.fake_data['params']['healthcheck'] = \
+ {'test': ['NONE']}
+ self.dw = get_DockerWorker(self.fake_data['params'])
+ self.dw.dc.create_host_config = mock.MagicMock(
+ return_value=self.fake_data['params']['host_config'])
+ self.dw.create_container()
+ inject_env_when_create_container(self.fake_data['params'])
+ self.assertTrue(self.dw.changed)
+ expected_args = {'command', 'detach', 'environment', 'host_config',
+ 'image', 'labels', 'name', 'tty',
+ 'volumes'}
+ self.dw.dc.create_container.assert_called_once_with(
+ **{k: self.fake_data['params'][k] for k in expected_args})
+
def test_create_container_with_tmpfs(self):
self.fake_data['params']['tmpfs'] = ['/tmp'] # nosec: B108
self.dw = get_DockerWorker(self.fake_data['params'])
diff --git a/tests/kolla_container_tests/test_podman_worker.py b/tests/kolla_container_tests/test_podman_worker.py
index e1fd358a8..60691b1a2 100644
--- a/tests/kolla_container_tests/test_podman_worker.py
+++ b/tests/kolla_container_tests/test_podman_worker.py
@@ -246,6 +246,18 @@ class TestContainer(base.BaseTestCase):
self.assertIsNotNone(hc_call)
self.assertEqual(hc, hc_call)
+ def test_create_container_with_None_healthcheck(self):
+ hc = {'test': ['NONE']}
+ self.fake_data['params']['healthcheck'] = hc
+ self.pw = get_PodmanWorker(self.fake_data['params'].copy())
+
+ self.pw.create_container()
+ self.assertTrue(self.pw.changed)
+ podman_create_kwargs = self.pw.pc.containers.create.call_args.kwargs
+ hc_call = podman_create_kwargs.get('healthcheck', None)
+ self.pw.pc.containers.create.assert_called_once()
+ self.assertIsNone(hc_call)
+
@unittest.skip("Skipping because tmpfs is currently"
" not supported by podman API.")
def test_create_container_with_tmpfs(self):