Repository: exasol/integration-test-docker-environment (language: python)

Issue:
Add option for name server and set 8.8.8.8 as default name server



Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 357001520..5a5cbb127 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,7 @@ Options:
                                   forwarded
 
   --bucketfs-port-forward INTEGER
-                                  Host port to which the bucketfs port gets
+                                  Host port to which the BucketFS port gets
                                   forwarded
 
   --db-mem-size TEXT              The main memory used by the database. Format
@@ -85,10 +85,15 @@ Options:
                                   larger size, because the database needs at
                                   least so much more disk.  [default: 2 GiB]
 
+  --nameserver TEXT               Add a nameserver to the list of DNS
+                                  nameservers which the docker-db should use
+                                  for resolving domain names. You can repeat
+                                  this option to add further nameservers.
+
   --deactivate-database-setup / --no-deactivate-database-setup
                                   Deactivates the setup of the spawned
                                   database, this means no data get populated
-                                  and no jdbc drivers get uploaded. This can
+                                  and no JDBC drivers get uploaded. This can
                                   be used either to save time or as a
                                   workaround for MacOSX where the
                                   test_container seems not to be able to
@@ -98,10 +103,18 @@ Options:
                                   containers
 
   --docker-db-image-version TEXT  Docker DB Image Version against which the
-                                  tests should run.  [default: 6.2.6-d1]
+                                  tests should run.  [default: 7.0.3]
 
   --docker-db-image-name TEXT     Docker DB Image Name against which the tests
                                   should run.  [default: exasol/docker-db]
+
+  --output-directory DIRECTORY    Output directory where the system stores all
+                                  output and log files.  [default:
+                                  .build_output]
+
+  --temporary-base-directory DIRECTORY
+                                  Directory where the system creates temporary
+                                  directories.  [default: /tmp]
 ```
 
 You can look at them on the commandline with:
diff --git a/docker_db_config_template/6.0.12/EXAConf b/docker_db_config_template/6.0.12/EXAConf
index d3275eef7..9807165b2 100644
--- a/docker_db_config_template/6.0.12/EXAConf
+++ b/docker_db_config_template/6.0.12/EXAConf
@@ -9,7 +9,7 @@
     # The type of networks for this cluster: 'public', 'private' or both.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers =
+    NameServers = {{ name_servers }}
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/docker_db_config_template/6.0.13/EXAConf b/docker_db_config_template/6.0.13/EXAConf
index d3275eef7..9807165b2 100644
--- a/docker_db_config_template/6.0.13/EXAConf
+++ b/docker_db_config_template/6.0.13/EXAConf
@@ -9,7 +9,7 @@
     # The type of networks for this cluster: 'public', 'private' or both.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers =
+    NameServers = {{ name_servers }}
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/docker_db_config_template/6.1.1/EXAConf b/docker_db_config_template/6.1.1/EXAConf
index eddf14c3f..a5d00d79f 100644
--- a/docker_db_config_template/6.1.1/EXAConf
+++ b/docker_db_config_template/6.1.1/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/docker_db_config_template/6.1.10/EXAConf b/docker_db_config_template/6.1.10/EXAConf
index f8547c874..7283f6719 100644
--- a/docker_db_config_template/6.1.10/EXAConf
+++ b/docker_db_config_template/6.1.10/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/docker_db_config_template/6.1/EXAConf b/docker_db_config_template/6.1/EXAConf
index ce817923d..594394a79 100644
--- a/docker_db_config_template/6.1/EXAConf
+++ b/docker_db_config_template/6.1/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/docker_db_config_template/6.2.4/EXAConf b/docker_db_config_template/6.2.4/EXAConf
index da65323db..7283f6719 100644
--- a/docker_db_config_template/6.2.4/EXAConf
+++ b/docker_db_config_template/6.2.4/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/docker_db_config_template/6.2/EXAConf b/docker_db_config_template/6.2/EXAConf
index ce817923d..594394a79 100644
--- a/docker_db_config_template/6.2/EXAConf
+++ b/docker_db_config_template/6.2/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/docker_db_config_template/7.0.0/EXAConf b/docker_db_config_template/7.0.0/EXAConf
index 09e11d0a4..e08774c45 100644
--- a/docker_db_config_template/7.0.0/EXAConf
+++ b/docker_db_config_template/7.0.0/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/setup.py b/setup.py
index 459b9e320..b41166b7a 100644
--- a/setup.py
+++ b/setup.py
@@ -74,7 +74,7 @@
     'name': 'exasol-integration-test-docker-environment',
     'version': '0.2.0',
     'description': 'Integration Test Docker Environment for Exasol',
-    'long_description': '# Integration Test Docker Environment\n\n## About\n\nThis project provides a command line interface to start a test environment with an [Exasol Docker-DB](https://hub.docker.com/r/exasol/docker-db). It starts an Exasol Docker-DB container and an associated test container where [EXAPlus CLI](https://docs.exasol.com/connect_exasol/sql_clients/exaplus_cli/exaplus_cli.htm) and  the [Exasol ODBC driver](https://docs.exasol.com/connect_exasol/drivers/odbc.htm) are already installed.\n\nBoth containers exist in the same Docker network. This allows you to connect from the test container to the Docker-DB container. Furthermore, the database gets populated with some test data. You can find the test data under `tests/test/enginedb_small/import.sql`. Besides the test container, you can also access the Exasol database and the Bucket-FS from the host via forwarded ports.\n\n### Comparison to Docker-DB and the Exasol Testcontainers\n\n* This project uses the [Docker-DB](https://hub.docker.com/r/exasol/docker-db), but it does the configuration, setup and startup for you. For example, it waits until the Database and the Bucket-FS accept connections. It also populates the database with test data and provides with the test container as an environment to access the database.\n* The [Exasol Testcontainers](https://github.com/exasol/exasol-testcontainers/) provide similar features for Java integration tests, so if you have an Java project use the Exasol Testcontainer, because they are more integrated in the Java ecosystem then this project. Testcontainers are designed to integrate with popular unit testing frameworks like [JUnit4](https://www.testcontainers.org/test_framework_integration/junit_4/), [JUnit5](https://www.testcontainers.org/test_framework_integration/junit_5/) and [Spock](https://www.testcontainers.org/test_framework_integration/spock/). Most notably, lifecycle management of containers controlled by the tests lifecycle.\n\nHowever, if you have a project in any other language you can use this project to start a test Exasol database via a command line interface.\n\n## Prerequisites\n\nIn order to start a Docker-DB Test Environment, you need:\n\n* Tested Operating System:\n  * Linux\n  * Mac OS X with [Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/) and Intel processor\n  * Windows is currently **not supported**\n* Docker with privileged mode\n* At least 2 GiB RAM\n* We recommend at least 15 GB free disk space on the partition \n  where Docker stores its images and containers. On Linux Docker typically stores \n  the images under `/var/lib/docker`.\n\n## Getting started\n\nClone the repository\n\n```\ngit clone https://github.com/exasol/integration-test-docker-environment\n```\n\nStarting the test environment:\n\n```\n./start-test-env spawn-test-environment --environment-name <NAME>\n```\nor if you work on the code of the Test Environment (requires Python >=3.6 with pip):\n\n```\n./start-test-env-without-docker-runner spawn-test-environment --environment-name <NAME>\n```\n\nShutdown of the test environment is currently done manual.\n\n### Options\n\nThe following options are available to customize the test environment. \n\n```\nUsage: main.py spawn-test-environment [OPTIONS]\n\n  This command spawn a test environment with a docker-db container and a\n  connected test-container. The test-container is reachable by the database\n  for output redirects of UDFs.\n\nOptions:\n  --environment-name TEXT         Name of the docker environment. This name\n                                  gets used as suffix for the container\n                                  db_container_<name> and\n                                  test_container_<name>  [required]\n\n  --database-port-forward INTEGER\n                                  Host port to which the database port gets\n                                  forwarded\n\n  --bucketfs-port-forward INTEGER\n                                  Host port to which the bucketfs port gets\n                                  forwarded\n\n  --db-mem-size TEXT              The main memory used by the database. Format\n                                  <number> <unit>, e.g. 1 GiB. The minimum\n                                  size is 1 GB, below that the database will\n                                  not start.  [default: 2 GiB]\n\n  --db-disk-size TEXT             The disk size available for the database.\n                                  Format <number> <unit>, e.g. 1 GiB. The\n                                  minimum size is 100 MiB. However, the setup\n                                  creates volume files with at least 2 GB\n                                  larger size, because the database needs at\n                                  least so much more disk.  [default: 2 GiB]\n\n  --deactivate-database-setup / --no-deactivate-database-setup\n                                  Deactivates the setup of the spawned\n                                  database, this means no data get populated\n                                  and no jdbc drivers get uploaded. This can\n                                  be used either to save time or as a\n                                  workaround for MacOSX where the\n                                  test_container seems not to be able to\n                                  access the tests directory  [default: False]\n\n  --docker-runtime TEXT           The docker runtime used to start all\n                                  containers\n\n  --docker-db-image-version TEXT  Docker DB Image Version against which the\n                                  tests should run.  [default: 6.2.6-d1]\n\n  --docker-db-image-name TEXT     Docker DB Image Name against which the tests\n                                  should run.  [default: exasol/docker-db]\n```\n\nYou can look at them on the commandline with:\n\n```\n./start-test-env spawn-test-environment --help \n```\n\n### Default Credentials\n\nThe default credentials for the database are\n\n  * User: `sys`\n  * Password: `exasol`\n  \nand for the Bucket-FS:\n\n  * User: `w`\n  * Password: `write`\n  \nor\n\n  * User: `r`\n  * Password: `read`\n\n### Accessing the Environment Information\n\nThe python setup script creates configuration files on the host and in the test container.\n\nOn the host the container information get stored in the build output directory usually under `.build_output/cache/<ENVIRONMENT_NAME>/*`. In the test container the config file is stored at the root directory `/`.\n\nThe following config files are available:\n\n- environment_info.sh: This file is meant to be source by the bash and then provides the information as environment variables. Here an example for the content:\n\n  ```\n  export ENVIRONMENT_NAME=test\n  export ENVIRONMENT_TYPE=EnvironmentType.docker_db\n\n  # Database IP in environment docker network\n  export ENVIRONMENT_DATABASE_HOST=172.21.0.2\n  export ENVIRONMENT_DATABASE_DB_PORT=8888\n  export ENVIRONMENT_DATABASE_BUCKETFS_PORT=6583\n  export ENVIRONMENT_DATABASE_CONTAINER_NAME=db_container_test\n  export ENVIRONMENT_DATABASE_CONTAINER_NETWORK_ALIASES="exasol_test_database db_container_test"\n  # Database IP in the environment docker network\n  export ENVIRONMENT_DATABASE_CONTAINER_IP_ADDRESS=172.21.0.2\n  export ENVIRONMENT_DATABASE_CONTAINER_VOLUMNE_NAME=db_container_test_volume\n  # Database IP on the docker default bridge which under Linux available from the host\n  export ENVIRONMENT_DATABASE_CONTAINER_DEFAULT_BRIDGE_IP_ADDRESS=172.17.0.3\n\n  export ENVIRONMENT_TEST_CONTAINER_NAME=test_container_test\n  export ENVIRONMENT_TEST_CONTAINER_NETWORK_ALIASES="test_container test_container_test"\n  # Test Container IP in the environment docker network\n  export ENVIRONMENT_TEST_CONTAINER_IP_ADDRESS=172.21.0.3\n  ```\n- environment_info.json: Contains the EnvironmentInfo objects pickled with JsonPickle\n  \n### Currently supported Exasol Versions\n\n* **6.0**: 6.0.12, 6.0.13, 6.0.16\n* **6.1**: 6.1.1, 6.1.6, 6.1.7, 6.1.8, 6.1.9, 6.1.10, 6.1.11, 6.1.12, 6.1.13\n* **6.2**: 6.2.4, 6.2.0, 6.2.1, 6.2.3, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 6.2.9, 6.2.10, 6.2.11\n* **7.0**: 7.0.0, 7.0.1, 7.0.2, 7.0.3\n\nIf you need further versions, please open an issue.\n\n### Tested Docker Runtimes\n\n- Docker Default Runtime\n- [NVIDIA Container Runtime](https://github.com/NVIDIA/nvidia-container-runtime) for GPU accelerated UDFs\n\n## Mac OS X Support\n\n### What do I need to do to start the Test Environment with Mac OS X\n\nThe Exasol Docker-DB needs per default a bit more than 2 GB of RAM, however the Docker VM on Mac OS X provides often not enough RAM to accommodate this. You should increase the RAM of the Docker VM to at least 4.25 GB or reduce the DB Mem Size for the Exasol Docker-DB to less than 2 GB with `--db-mem-size 1 GiB`.\n\n### What happens under the hood\n\nMac OS X with Docker Desktop for Mac uses a lightweight virtual machine with linux in which the docker daemon runs and the containers get started. This makes [networking](https://docs.docker.com/docker-for-mac/networking/) and [shared directories](https://docs.docker.com/docker-for-mac/osxfs/) more complicated then on Linux.\n\nWe start the python setup script for the test environment in its own Docker container, lets call it `docker runner`, because the library [Luigi](https://luigi.readthedocs.io/en/stable/) can have problems with Mac OS X and to avoid the installation of further dependencies. To support Mac OS X, the `start-test-env` script starts the `docker runner` container and mounts the docker socket at `/var/run/docker.sock` and the directory of the test environment from the Mac OS X host to the container. Then, it starts `start-test-env-without-docker` which then starts the python script. It is important, that the repository gets cloned to the Mac OS X host and not to a docker container, because the python scripts tries to start further docker container which use host mounts to share the tests directory of the test environment with the docker container.\n',
+    'long_description': '# Integration Test Docker Environment\n\n## About\n\nThis project provides a command line interface to start a test environment with an [Exasol Docker-DB](https://hub.docker.com/r/exasol/docker-db). It starts an Exasol Docker-DB container and an associated test container where [EXAPlus CLI](https://docs.exasol.com/connect_exasol/sql_clients/exaplus_cli/exaplus_cli.htm) and  the [Exasol ODBC driver](https://docs.exasol.com/connect_exasol/drivers/odbc.htm) are already installed.\n\nBoth containers exist in the same Docker network. This allows you to connect from the test container to the Docker-DB container. Furthermore, the database gets populated with some test data. You can find the test data under `tests/test/enginedb_small/import.sql`. Besides the test container, you can also access the Exasol database and the Bucket-FS from the host via forwarded ports.\n\n### Comparison to Docker-DB and the Exasol Testcontainers\n\n* This project uses the [Docker-DB](https://hub.docker.com/r/exasol/docker-db), but it does the configuration, setup and startup for you. For example, it waits until the Database and the Bucket-FS accept connections. It also populates the database with test data and provides with the test container as an environment to access the database.\n* The [Exasol Testcontainers](https://github.com/exasol/exasol-testcontainers/) provide similar features for Java integration tests, so if you have an Java project use the Exasol Testcontainer, because they are more integrated in the Java ecosystem then this project. Testcontainers are designed to integrate with popular unit testing frameworks like [JUnit4](https://www.testcontainers.org/test_framework_integration/junit_4/), [JUnit5](https://www.testcontainers.org/test_framework_integration/junit_5/) and [Spock](https://www.testcontainers.org/test_framework_integration/spock/). Most notably, lifecycle management of containers controlled by the tests lifecycle.\n\nHowever, if you have a project in any other language you can use this project to start a test Exasol database via a command line interface.\n\n## Prerequisites\n\nIn order to start a Docker-DB Test Environment, you need:\n\n* Tested Operating System:\n  * Linux\n  * Mac OS X with [Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/) and Intel processor\n  * Windows is currently **not supported**\n* Docker with privileged mode\n* At least 2 GiB RAM\n* We recommend at least 15 GB free disk space on the partition \n  where Docker stores its images and containers. On Linux Docker typically stores \n  the images under `/var/lib/docker`.\n\n## Getting started\n\nClone the repository\n\n```\ngit clone https://github.com/exasol/integration-test-docker-environment\n```\n\nStarting the test environment:\n\n```\n./start-test-env spawn-test-environment --environment-name <NAME>\n```\nor if you work on the code of the Test Environment (requires Python >=3.6 with [poetry](https://python-poetry.org/)):\n\n```\n./start-test-env-with-poetry spawn-test-environment --environment-name <NAME>\n```\n\nShutdown of the test environment is currently done manual.\n\n### Options\n\nThe following options are available to customize the test environment. \n\n```\nUsage: main.py spawn-test-environment [OPTIONS]\n\n  This command spawn a test environment with a docker-db container and a\n  connected test-container. The test-container is reachable by the database\n  for output redirects of UDFs.\n\nOptions:\n  --environment-name TEXT         Name of the docker environment. This name\n                                  gets used as suffix for the container\n                                  db_container_<name> and\n                                  test_container_<name>  [required]\n\n  --database-port-forward INTEGER\n                                  Host port to which the database port gets\n                                  forwarded\n\n  --bucketfs-port-forward INTEGER\n                                  Host port to which the BucketFS port gets\n                                  forwarded\n\n  --db-mem-size TEXT              The main memory used by the database. Format\n                                  <number> <unit>, e.g. 1 GiB. The minimum\n                                  size is 1 GB, below that the database will\n                                  not start.  [default: 2 GiB]\n\n  --db-disk-size TEXT             The disk size available for the database.\n                                  Format <number> <unit>, e.g. 1 GiB. The\n                                  minimum size is 100 MiB. However, the setup\n                                  creates volume files with at least 2 GB\n                                  larger size, because the database needs at\n                                  least so much more disk.  [default: 2 GiB]\n\n  --nameserver TEXT               Add a nameserver to the list of DNS\n                                  nameservers which the docker-db should use\n                                  for resolving domain names. You can repeat\n                                  this option to add further nameservers.\n\n  --deactivate-database-setup / --no-deactivate-database-setup\n                                  Deactivates the setup of the spawned\n                                  database, this means no data get populated\n                                  and no JDBC drivers get uploaded. This can\n                                  be used either to save time or as a\n                                  workaround for MacOSX where the\n                                  test_container seems not to be able to\n                                  access the tests directory  [default: False]\n\n  --docker-runtime TEXT           The docker runtime used to start all\n                                  containers\n\n  --docker-db-image-version TEXT  Docker DB Image Version against which the\n                                  tests should run.  [default: 7.0.3]\n\n  --docker-db-image-name TEXT     Docker DB Image Name against which the tests\n                                  should run.  [default: exasol/docker-db]\n\n  --output-directory DIRECTORY    Output directory where the system stores all\n                                  output and log files.  [default:\n                                  .build_output]\n\n  --temporary-base-directory DIRECTORY\n                                  Directory where the system creates temporary\n                                  directories.  [default: /tmp]\n```\n\nYou can look at them on the commandline with:\n\n```\n./start-test-env spawn-test-environment --help \n```\n\n### Default Credentials\n\nThe default credentials for the database are\n\n  * User: `sys`\n  * Password: `exasol`\n  \nand for the Bucket-FS:\n\n  * User: `w`\n  * Password: `write`\n  \nor\n\n  * User: `r`\n  * Password: `read`\n\n### Accessing the Environment Information\n\nThe python setup script creates configuration files on the host and in the test container.\n\nOn the host the container information get stored in the build output directory usually under `.build_output/cache/<ENVIRONMENT_NAME>/*`. In the test container the config file is stored at the root directory `/`.\n\nThe following config files are available:\n\n- environment_info.sh: This file is meant to be source by the bash and then provides the information as environment variables. Here an example for the content:\n\n  ```\n  export ENVIRONMENT_NAME=test\n  export ENVIRONMENT_TYPE=EnvironmentType.docker_db\n\n  # Database IP in environment docker network\n  export ENVIRONMENT_DATABASE_HOST=172.21.0.2\n  export ENVIRONMENT_DATABASE_DB_PORT=8888\n  export ENVIRONMENT_DATABASE_BUCKETFS_PORT=6583\n  export ENVIRONMENT_DATABASE_CONTAINER_NAME=db_container_test\n  export ENVIRONMENT_DATABASE_CONTAINER_NETWORK_ALIASES="exasol_test_database db_container_test"\n  # Database IP in the environment docker network\n  export ENVIRONMENT_DATABASE_CONTAINER_IP_ADDRESS=172.21.0.2\n  export ENVIRONMENT_DATABASE_CONTAINER_VOLUMNE_NAME=db_container_test_volume\n  # Database IP on the docker default bridge which under Linux available from the host\n  export ENVIRONMENT_DATABASE_CONTAINER_DEFAULT_BRIDGE_IP_ADDRESS=172.17.0.3\n\n  export ENVIRONMENT_TEST_CONTAINER_NAME=test_container_test\n  export ENVIRONMENT_TEST_CONTAINER_NETWORK_ALIASES="test_container test_container_test"\n  # Test Container IP in the environment docker network\n  export ENVIRONMENT_TEST_CONTAINER_IP_ADDRESS=172.21.0.3\n  ```\n- environment_info.json: Contains the EnvironmentInfo objects pickled with JsonPickle\n  \n### Currently supported Exasol Versions\n\n* **6.0**: 6.0.12, 6.0.13, 6.0.16\n* **6.1**: 6.1.1, 6.1.6, 6.1.7, 6.1.8, 6.1.9, 6.1.10, 6.1.11, 6.1.12, 6.1.13\n* **6.2**: 6.2.4, 6.2.0, 6.2.1, 6.2.3, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 6.2.9, 6.2.10, 6.2.11\n* **7.0**: 7.0.0, 7.0.1, 7.0.2, 7.0.3\n\nIf you need further versions, please open an issue.\n\n### Tested Docker Runtimes\n\n- Docker Default Runtime\n- [NVIDIA Container Runtime](https://github.com/NVIDIA/nvidia-container-runtime) for GPU accelerated UDFs\n\n## Mac OS X Support\n\n### What do I need to do to start the Test Environment with Mac OS X\n\nThe Exasol Docker-DB needs per default a bit more than 2 GB of RAM, however the Docker VM on Mac OS X provides often not enough RAM to accommodate this. You should increase the RAM of the Docker VM to at least 4.25 GB or reduce the DB Mem Size for the Exasol Docker-DB to less than 2 GB with `--db-mem-size 1 GiB`.\n\n### What happens under the hood\n\nMac OS X with Docker Desktop for Mac uses a lightweight virtual machine with linux in which the docker daemon runs and the containers get started. This makes [networking](https://docs.docker.com/docker-for-mac/networking/) and [shared directories](https://docs.docker.com/docker-for-mac/osxfs/) more complicated then on Linux.\n\nWe start the python setup script for the test environment in its own Docker container, lets call it `docker runner`, because the library [Luigi](https://luigi.readthedocs.io/en/stable/) can have problems with Mac OS X and to avoid the installation of further dependencies. To support Mac OS X, the `start-test-env` script starts the `docker runner` container and mounts the docker socket at `/var/run/docker.sock` and the directory of the test environment from the Mac OS X host to the container. Then, it starts `start-test-env-without-docker` which then starts the python script. It is important, that the repository gets cloned to the Mac OS X host and not to a docker container, because the python scripts tries to start further docker container which use host mounts to share the tests directory of the test environment with the docker container.\n',
     'author': 'Torsten Kilias',
     'author_email': 'torsten.kilias@exasol.com',
     'maintainer': None,


Test patch:
diff --git a/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py b/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py
index 20cd9134e..f53b50b31 100644
--- a/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py
+++ b/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py
@@ -1,3 +1,4 @@
+from typing import List
 import click
 import humanfriendly
 
@@ -22,6 +23,8 @@
               help="The main memory used by the database. Format <number> <unit>, e.g. 1 GiB. The minimum size is 1 GB, below that the database will not start.")
 @click.option('--db-disk-size', type=str, default="2 GiB", show_default=True,
               help="The disk size available for the database. Format <number> <unit>, e.g. 1 GiB. The minimum size is 100 MiB. However, the setup creates volume files with at least 2 GB larger size, because the database needs at least so much more disk.")
+@click.option('--nameserver', type=str, default=[], multiple=True,
+              help="Add a nameserver to the list of DNS nameservers which the docker-db should use for resolving domain names. You can repeat this option to add further nameservers.")
 @click.option('--deactivate-database-setup/--no-deactivate-database-setup', type=bool, default=False, show_default=True,
               help="Deactivates the setup of the spawned database, this means no data get populated and no JDBC drivers get uploaded. This can be used either to save time or as a workaround for MacOSX where the test_container seems not to be able to access the tests directory")
 @click.option('--docker-runtime', type=str, default=None, show_default=True,
@@ -36,6 +39,7 @@ def spawn_test_environment(
         bucketfs_port_forward: int,
         db_mem_size: str,
         db_disk_size: str,
+        nameserver:List[str],
         deactivate_database_setup: bool,
         docker_runtime: str,
         docker_db_image_version: str,
@@ -70,6 +74,7 @@ def spawn_test_environment(
         bucketfs_port_forward=str(bucketfs_port_forward) if bucketfs_port_forward is not None else None,
         mem_size=db_mem_size,
         disk_size=db_disk_size,
+        nameservers=nameserver,
         docker_runtime=docker_runtime,
         docker_db_image_version=docker_db_image_version,
         docker_db_image_name=docker_db_image_name,
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.0.12/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.0.12/EXAConf
index d3275eef7..9807165b2 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.0.12/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.0.12/EXAConf
@@ -9,7 +9,7 @@
     # The type of networks for this cluster: 'public', 'private' or both.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers =
+    NameServers = {{ name_servers }}
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.0.13/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.0.13/EXAConf
index d3275eef7..9807165b2 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.0.13/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.0.13/EXAConf
@@ -9,7 +9,7 @@
     # The type of networks for this cluster: 'public', 'private' or both.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers =
+    NameServers = {{ name_servers }}
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.0.16/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.0.16/EXAConf
index d3275eef7..9807165b2 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.0.16/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.0.16/EXAConf
@@ -9,7 +9,7 @@
     # The type of networks for this cluster: 'public', 'private' or both.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers =
+    NameServers = {{ name_servers }}
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.1/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.1/EXAConf
index eddf14c3f..a5d00d79f 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.1/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.1/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     ConfVersion = {{ db_version }}
     OSVersion = {{ db_version }}
     DBVersion = {{ db_version }}
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.10/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.10/EXAConf
index f8547c874..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.10/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.10/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.11/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.11/EXAConf
index f8547c874..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.11/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.11/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.12/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.12/EXAConf
index f8547c874..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.12/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.12/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.13/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.13/EXAConf
index f8547c874..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.13/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.13/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.6/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.6/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.6/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.6/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.7/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.7/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.7/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.7/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.8/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.8/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.8/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.8/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1.9/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1.9/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1.9/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1.9/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.1/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.1/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.1/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.1/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.0/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.0/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.0/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.1/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.1/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.1/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.1/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.10/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.10/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.10/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.10/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.11/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.11/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.11/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.11/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.3/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.3/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.3/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.3/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.4/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.4/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.4/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.4/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.5/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.5/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.5/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.5/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.6/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.6/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.6/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.6/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.7/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.7/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.7/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.7/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.8/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.8/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.8/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.8/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2.9/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2.9/EXAConf
index da65323db..7283f6719 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2.9/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2.9/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 8.8.8.8 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/6.2/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/6.2/EXAConf
index ce817923d..594394a79 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/6.2/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/6.2/EXAConf
@@ -10,7 +10,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.0/EXAConf
index 09e11d0a4..e08774c45 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.0/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.0/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.1/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.1/EXAConf
index 09e11d0a4..e08774c45 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.1/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.1/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.2/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.2/EXAConf
index 09e11d0a4..e08774c45 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.2/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.2/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.3/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.3/EXAConf
index 09e11d0a4..e08774c45 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.3/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.3/EXAConf
@@ -11,7 +11,7 @@
     # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
     Networks = private
     # Comma-separated list of nameservers for this cluster.
-    NameServers = 
+    NameServers = {{ name_servers }} 
     Timezone = Europe/Berlin
     # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
     Hugepages = 0
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py b/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py
index 180c2d165..de46583d3 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py
@@ -12,3 +12,4 @@ class DockerDBTestEnvironmentParameter(Config):
     bucketfs_port_forward = luigi.OptionalParameter(None, significant=False)
     mem_size = luigi.OptionalParameter("2 GiB",significant=False)
     disk_size = luigi.OptionalParameter("2 GiB",significant=False)
+    nameservers = luigi.ListParameter([],significant=False)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_database.py b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_database.py
index e61a5e7d9..2c99a5089 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_database.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_database.py
@@ -226,7 +226,8 @@ def _add_exa_conf(self, copy: DockerContainerCopy,
                                             db_version=self.db_version,
                                             image_version=self.docker_db_image_version,
                                             mem_size=self.mem_size,
-                                            disk_size=self.disk_size)
+                                            disk_size=self.disk_size,
+                                            name_servers=",".join(self.nameservers))
         copy.add_string_to_file("EXAConf", rendered_template)
 
     def _execute_init_db(self, db_volume: Volume, volume_preperation_container: Container):
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment_nameservers.py b/exasol_integration_test_docker_environment/test/test_test_environment_nameservers.py
new file mode 100644
index 000000000..c0f60ce19
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_test_environment_nameservers.py
@@ -0,0 +1,89 @@
+import unittest
+
+import docker
+
+from exasol_integration_test_docker_environment.test import utils
+
+
+class DockerTestEnvironmentDBMemSizeTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}")
+        # We can't use start-test-env. because it only mounts ./ and
+        # doesn't work with --build_ouput-directory
+        cls.test_environment = \
+            utils.ExaslctTestEnvironment(
+                cls,
+                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
+                clean_images_at_close=False)
+
+    def setUp(self):
+        self.client = docker.from_env()
+
+    @classmethod
+    def tearDownClass(cls):
+        try:
+            cls.test_environment.close()
+        except Exception as e:
+            print(e)
+
+    def tearDown(self):
+        try:
+            self.on_host_docker_environment.close()
+        except Exception as e:
+            print(e)
+        try:
+            self.google_cloud_docker_environment.close()
+        except Exception as e:
+            print(e)
+        self.client.close()
+
+    def assert_nameserver(self, nameservers: str):
+        containers = [c.name for c in self.client.containers.list() if self.docker_environment_name in c.name]
+        db_container = [c for c in containers if "db_container" in c]
+        exit_result = self.client.containers.get(db_container[0]).exec_run("cat /exa/etc/EXAConf")
+        output = exit_result[1].decode("UTF-8")
+        if output == '':
+            exit_result = self.client.containers.get(db_container[0]).exec_run("cat /exa/etc/EXAConf")
+            output = exit_result[1].decode("UTF-8")
+            return_code = exit_result[0]
+        return_code = exit_result[0]
+        self.assertEquals(return_code, 0)
+        self.assertIn("NameServers = %s" % nameservers, output)
+
+    def test_no_nameserver(self):
+        self.docker_environment_name = "test_no_nameserver"
+        self.on_host_docker_environment, self.google_cloud_docker_environment = \
+            self.test_environment.spawn_docker_test_environment(self.docker_environment_name)
+        self.assert_nameserver("")
+
+    def test_single_nameserver(self):
+        self.docker_environment_name = "test_single_nameserver"
+        self.on_host_docker_environment, self.google_cloud_docker_environment = \
+            self.test_environment.spawn_docker_test_environment(self.docker_environment_name,
+                                                                [
+                                                                    "--nameserver", "'8.8.8.8'",
+                                                                ])
+        self.assert_nameserver("8.8.8.8")
+
+    def test_multiple_nameserver(self):
+        self.docker_environment_name = "test_multiple_nameserver"
+        self.on_host_docker_environment, self.google_cloud_docker_environment = \
+            self.test_environment.spawn_docker_test_environment(self.docker_environment_name,
+                                                                [
+                                                                    "--nameserver", "'8.8.8.8'",
+                                                                    "--nameserver", "'8.8.8.9'",
+                                                                ])
+        self.assert_nameserver("8.8.8.8,8.8.8.9")
+
+    # def test_invalid_db_mem_size(self):
+    #     self.docker_environment_name = "test_invalid_db_mem_size"
+    #     with self.assertRaises(Exception) as context:
+    #         self.on_host_docker_environment, self.google_cloud_docker_environment = \
+    #             self.test_environment.spawn_docker_test_environment(self.docker_environment_name,
+                                                                    # ["--db-mem-size", "'999 MiB'"])
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/start-test-env-with-poetry b/start-test-env-with-poetry
index d1b5e007e..b7554b2cf 100755
--- a/start-test-env-with-poetry
+++ b/start-test-env-with-poetry
@@ -14,7 +14,7 @@ init_poetry
 if [ -n "$POETRY_BIN" ]
 then
   export PYTHONPATH="$SCRIPT_DIR"
-  $POETRY_BIN run bash "$SCRIPT_DIR/start-test-env-without-poetry"
+  $POETRY_BIN run bash "$SCRIPT_DIR/start-test-env-without-poetry" "${@}"
 else
   echo "Could not find poetry!"
   exit 1