aboutsummaryrefslogtreecommitdiff
path: root/ansible/module_utils
diff options
context:
space:
mode:
authorMartin Hiner <martin.hiner@tietoevry.com>2024-09-04 17:00:41 +0200
committerMartin Hiner <martin.hiner@tietoevry.com>2024-09-05 11:54:07 +0200
commite0fbbab3b16888c6b6ae193049b0d36874f9c642 (patch)
treee4637faf24ce91cd0d57e25515139c8e1c92d93d /ansible/module_utils
parent656d5db47939b7bc3d9fc5bed1771953b991967a (diff)
downloadkolla-ansible-e0fbbab3b16888c6b6ae193049b0d36874f9c642.tar.gz
kolla-ansible-e0fbbab3b16888c6b6ae193049b0d36874f9c642.zip
Set KOLLA_SERVICE_NAME in Podman containers
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>
Diffstat (limited to 'ansible/module_utils')
-rw-r--r--ansible/module_utils/kolla_container_worker.py11
-rw-r--r--ansible/module_utils/kolla_docker_worker.py11
-rw-r--r--ansible/module_utils/kolla_podman_worker.py8
3 files changed, 14 insertions, 16 deletions
diff --git a/ansible/module_utils/kolla_container_worker.py b/ansible/module_utils/kolla_container_worker.py
index 7fdf54175..bc0f3b471 100644
--- a/ansible/module_utils/kolla_container_worker.py
+++ b/ansible/module_utils/kolla_container_worker.py
@@ -565,3 +565,14 @@ class ContainerWorker(ABC):
@abstractmethod
def ensure_image(self):
pass
+
+ def _inject_env_var(self, environment_info):
+ newenv = {
+ 'KOLLA_SERVICE_NAME': self.params.get('name').replace('_', '-')
+ }
+ environment_info.update(newenv)
+ return environment_info
+
+ def _format_env_vars(self):
+ env = self._inject_env_var(self.params.get('environment'))
+ return {k: "" if env[k] is None else env[k] for k in env}
diff --git a/ansible/module_utils/kolla_docker_worker.py b/ansible/module_utils/kolla_docker_worker.py
index 2daf13eab..cd8fdbb57 100644
--- a/ansible/module_utils/kolla_docker_worker.py
+++ b/ansible/module_utils/kolla_docker_worker.py
@@ -310,17 +310,6 @@ class DockerWorker(ContainerWorker):
return host_config
- def _inject_env_var(self, environment_info):
- newenv = {
- 'KOLLA_SERVICE_NAME': self.params.get('name').replace('_', '-')
- }
- environment_info.update(newenv)
- return environment_info
-
- def _format_env_vars(self):
- env = self._inject_env_var(self.params.get('environment'))
- return {k: "" if env[k] is None else env[k] for k in env}
-
def build_container_options(self):
volumes, binds = self.generate_volumes()
diff --git a/ansible/module_utils/kolla_podman_worker.py b/ansible/module_utils/kolla_podman_worker.py
index 757f5f461..f0073cef6 100644
--- a/ansible/module_utils/kolla_podman_worker.py
+++ b/ansible/module_utils/kolla_podman_worker.py
@@ -94,11 +94,9 @@ class PodmanWorker(ContainerWorker):
args['mounts'] = mounts
args['volumes'] = filtered_volumes
- # in case value is not string it has to be converted
- environment = self.params.get('environment')
- if environment:
- for key, value in environment.items():
- environment[key] = str(value)
+ env = self._format_env_vars()
+ args['environment'] = {k: str(v) for k, v in env.items()}
+ self.params.pop('environment', None)
healthcheck = self.params.get('healthcheck')
if healthcheck: