diff options
| author | Martin Hiner <martin.hiner@tietoevry.com> | 2024-09-04 17:00:41 +0200 |
|---|---|---|
| committer | Martin Hiner <martin.hiner@tietoevry.com> | 2024-09-05 11:54:07 +0200 |
| commit | e0fbbab3b16888c6b6ae193049b0d36874f9c642 (patch) | |
| tree | e4637faf24ce91cd0d57e25515139c8e1c92d93d /ansible/module_utils | |
| parent | 656d5db47939b7bc3d9fc5bed1771953b991967a (diff) | |
| download | kolla-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.py | 11 | ||||
| -rw-r--r-- | ansible/module_utils/kolla_docker_worker.py | 11 | ||||
| -rw-r--r-- | ansible/module_utils/kolla_podman_worker.py | 8 |
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: |
