diff options
| author | Christian Breunig <christian@breunig.cc> | 2025-09-18 16:34:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-18 16:34:41 +0200 |
| commit | f8ecb5136beba589cb01d241b09b1832a00b0e0d (patch) | |
| tree | 1ac25c0a52747cc0a55e70449c019d95a50d41c5 | |
| parent | 3fec74185970d4ad3b176e3126ffcdd5ab07b11d (diff) | |
| parent | 5c5d3a6b839b2a612fefb7d5f0443b80ceb156d0 (diff) | |
| download | vyos-1x-f8ecb5136beba589cb01d241b09b1832a00b0e0d.tar.gz vyos-1x-f8ecb5136beba589cb01d241b09b1832a00b0e0d.zip | |
Merge pull request #4724 from l0crian1/fix-container-branch
container: T7681: fix multiple name servers
| -rwxr-xr-x | smoketest/scripts/cli/test_container.py | 7 | ||||
| -rwxr-xr-x | src/conf_mode/container.py | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/smoketest/scripts/cli/test_container.py b/smoketest/scripts/cli/test_container.py index 864207308..73fbb907f 100755 --- a/smoketest/scripts/cli/test_container.py +++ b/smoketest/scripts/cli/test_container.py @@ -117,13 +117,14 @@ class TestContainer(VyOSUnitTestSHIM.TestCase): def test_name_server(self): cont_name = 'dns-test' net_name = 'net-test' - name_server = '192.168.0.1' + name_servers = ['192.168.0.1', '192.168.0.2'] prefix = '192.0.2.0/24' self.cli_set(base_path + ['network', net_name, 'prefix', prefix]) self.cli_set(base_path + ['name', cont_name, 'image', busybox_image]) - self.cli_set(base_path + ['name', cont_name, 'name-server', name_server]) + for name_server in name_servers: + self.cli_set(base_path + ['name', cont_name, 'name-server', name_server]) self.cli_set( base_path + [ @@ -144,7 +145,7 @@ class TestContainer(VyOSUnitTestSHIM.TestCase): self.cli_commit() n = cmd_to_json(f'sudo podman inspect {cont_name}') - self.assertEqual(n['HostConfig']['Dns'][0], name_server) + self.assertEqual(n['HostConfig']['Dns'], name_servers) tmp = cmd(f'sudo podman exec -it {cont_name} cat /etc/resolv.conf') self.assertIn(name_server, tmp) diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py index 8950f857e..4fe1e432c 100755 --- a/src/conf_mode/container.py +++ b/src/conf_mode/container.py @@ -443,10 +443,14 @@ def generate_run_arguments(name, container_config, host_ident): if 'allow_host_pid' in container_config: host_pid = '--pid host' - name_server = '' + name_server = [] if 'name_server' in container_config: for ns in container_config['name_server']: - name_server += f'--dns {ns}' + name_server.append(f'--dns {ns}') + if name_server: + name_server = ' '.join(name_server) + else: + name_server = '' container_base_cmd = f'--detach --interactive --tty --replace {capabilities} {privileged} --cpus {cpu_quota} {sysctl_opt} ' \ f'--memory {memory}m --shm-size {shared_memory}m --memory-swap 0 --restart {restart} --log-driver={log_driver} ' \ |
