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

Issue:
Add support for additional db parameters
## Background

In some cases clients might want to start the database with custom database parameters (as described [here](https://community.exasol.com/t5/environment-management/setting-a-database-parameter-in-a-docker-based-exasol-system/ta-p/1353)). We should provide a a new (generic) parameter for such kind of database parameters, which are injected to the Exaconf.

## Acceptance Criteria

Add the parameter `addiitonal-db-parameter` (click flag `multiple=true`), which has the following format:
```
--additional-db-parameter param1=param1_value --additional-db-parameter param2=param2_value
```
This parameter should be injected to the Exaconf:
```
DB : DB1]
    Version = 6.1.5
    MemSize = 6 GiB
    Port = 8563
    Owner = 500 : 500
    Nodes = 11,12,13
    NumActiveNodes = 3
    DataVolume = DataVolume
    Params = -param1=param1_value -param2=param2_value # Will be injected here!!!!!!!!
    [[JDBC]]
        BucketFS = bfsdefault
        Bucket = default
        Dir = drivers/jdbc
    [[Oracle]]
        BucketFS = bfsdefault
        Bucket = default
        Dir = drivers/oracle
```

Add support for additional db parameters
## Background

In some cases clients might want to start the database with custom database parameters (as described [here](https://community.exasol.com/t5/environment-management/setting-a-database-parameter-in-a-docker-based-exasol-system/ta-p/1353)). We should provide a a new (generic) parameter for such kind of database parameters, which are injected to the Exaconf.

## Acceptance Criteria

Add the parameter `addiitonal-db-parameter` (click flag `multiple=true`), which has the following format:
```
--additional-db-parameter param1=param1_value --additional-db-parameter param2=param2_value
```
This parameter should be injected to the Exaconf:
```
DB : DB1]
    Version = 6.1.5
    MemSize = 6 GiB
    Port = 8563
    Owner = 500 : 500
    Nodes = 11,12,13
    NumActiveNodes = 3
    DataVolume = DataVolume
    Params = -param1=param1_value -param2=param2_value # Will be injected here!!!!!!!!
    [[JDBC]]
        BucketFS = bfsdefault
        Bucket = default
        Dir = drivers/jdbc
    [[Oracle]]
        BucketFS = bfsdefault
        Bucket = default
        Dir = drivers/oracle
```



Discussion / hints:

Fix patch:
diff --git a/doc/changes/changes_1.2.0.md b/doc/changes/changes_1.2.0.md
index e04c2f3b2..85d71b0fd 100644
--- a/doc/changes/changes_1.2.0.md
+++ b/doc/changes/changes_1.2.0.md
@@ -21,7 +21,7 @@ n/a
 
 ## Features / Enhancements:
 
-n/a
+ - #270: Added support for additional db parameters
 
 ## Refactoring:
 
diff --git a/docker_db_config_template/7.0.0/EXAConf b/docker_db_config_template/7.0.0/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/docker_db_config_template/7.0.0/EXAConf
+++ b/docker_db_config_template/7.0.0/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/docker_db_config_template/7.1.0/EXAConf b/docker_db_config_template/7.1.0/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/docker_db_config_template/7.1.0/EXAConf
+++ b/docker_db_config_template/7.1.0/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver


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 bc4a3d662..7c8e849b0 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
@@ -43,6 +43,7 @@ def spawn_test_environment(
         docker_db_image_version: str,
         docker_db_image_name: str,
         create_certificates: bool,
+        additional_db_parameter: Tuple[str, ...],
         source_docker_repository_name: str,
         source_docker_tag_prefix: str,
         source_docker_username: Optional[str],
@@ -71,6 +72,7 @@ def spawn_test_environment(
                                        docker_db_image_version,
                                        docker_db_image_name,
                                        create_certificates,
+                                       additional_db_parameter,
                                        source_docker_repository_name,
                                        source_docker_tag_prefix,
                                        source_docker_username,
diff --git a/exasol_integration_test_docker_environment/cli/options/test_environment_options.py b/exasol_integration_test_docker_environment/cli/options/test_environment_options.py
index 7939d0dd9..494bb9e36 100644
--- a/exasol_integration_test_docker_environment/cli/options/test_environment_options.py
+++ b/exasol_integration_test_docker_environment/cli/options/test_environment_options.py
@@ -20,7 +20,9 @@
                  show_default=True,
                  help="""Docker DB Image Name against which the tests should run."""),
     click.option('--create-certificates/--no-create-certificates', default=False,
-                 help="""Creates and injects SSL certificates to the Docker DB container.""")
+                 help="""Creates and injects SSL certificates to the Docker DB container."""),
+    click.option('--additional-db-parameter', '-p', type=str, multiple=True,
+                 help="""Additional database parameter which will be injected to EXAConf. Value should have format '-param=value'.""")
 ]
 
 external_db_options = [
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 7b9496ace..6a8376c05 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
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
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 7b9496ace..6a8376c05 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
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.10/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.10/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.10/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.10/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.11/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.11/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.11/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.11/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.12/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.12/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.12/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.12/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.13/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.13/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.13/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.13/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.14/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.14/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.14/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.14/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.15/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.15/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.15/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.15/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.16/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.16/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.16/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.16/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.17/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.17/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.17/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.17/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.18/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.18/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.18/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.18/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.19/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.19/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.19/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.19/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
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 7b9496ace..6a8376c05 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
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.20/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.20/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.20/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.20/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
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 7b9496ace..6a8376c05 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
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.4/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.4/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.4/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.4/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.6/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.6/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.6/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.6/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.7/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.7/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.7/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.7/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.8/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.8/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.8/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.8/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.0.9/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.0.9/EXAConf
index 7b9496ace..6a8376c05 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.0.9/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.0.9/EXAConf
@@ -129,6 +129,10 @@
     NumActiveNodes = 1
     # Name of the data volume to be used by this database.
     DataVolume = DataVolume1
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.0/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.0/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.0/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.1/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.1/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.1/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.1/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.10/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.10/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.10/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.10/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.11/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.11/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.11/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.11/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.12/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.12/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.12/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.12/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.13/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.13/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.13/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.13/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.14/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.14/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.14/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.14/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.2/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.2/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.2/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.2/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.3/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.3/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.3/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.3/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.4/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.4/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.4/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.4/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.5/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.5/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.5/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.5/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.6/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.6/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.6/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.6/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.7/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.7/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.7/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.7/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.8/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.8/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.8/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.8/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.9/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.9/EXAConf
index 2bb80a3f9..d7f517ec7 100644
--- a/exasol_integration_test_docker_environment/docker_db_config/7.1.9/EXAConf
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.9/EXAConf
@@ -146,6 +146,10 @@
     EnableAuditing = True
     BuiltinScriptLanguageName = ScriptLanguages-release-standard-exasol-7.1.0-1.1.0
     AutoStart = True
+    # Additional db parameters
+    {% if additional_db_parameters %}
+    Params = {{ additional_db_parameters }}
+    {% endif %}
     # JDBC driver configuration
     [[JDBC]]
         # BucketFS that contains the JDBC driver
diff --git a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py
index 320569068..db24bf330 100644
--- a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py
+++ b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py
@@ -29,11 +29,12 @@ def spawn_test_environment(
         bucketfs_port_forward: Optional[int] = None,
         db_mem_size: str = "2 GiB",
         db_disk_size: str = "2 GiB",
-        nameserver: Tuple[str,...] = tuple(),
+        nameserver: Tuple[str, ...] = tuple(),
         docker_runtime: Optional[str] = None,
         docker_db_image_version: str = LATEST_DB_VERSION,
         docker_db_image_name: str = "exasol/docker-db",
         create_certificates: bool = False,
+        additional_db_parameter: Tuple[str, ...] = tuple(),
         source_docker_repository_name: str = DEFAULT_DOCKER_REPOSITORY_NAME,
         source_docker_tag_prefix: str = '',
         source_docker_username: Optional[str] = None,
@@ -92,7 +93,8 @@ def spawn_test_environment(
                                               no_database_cleanup_after_success=True,
                                               no_database_cleanup_after_failure=False,
                                               create_certificates=create_certificates,
-                                              test_container_content=None
+                                              test_container_content=None,
+                                              additional_db_parameter=additional_db_parameter
                                               )
     environment_info = run_task(task_creator, workers, task_dependencies_dot_file)
     return environment_info, functools.partial(_cleanup, environment_info)
diff --git a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py
index 3200dd94b..3d28b24cd 100644
--- a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py
+++ b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py
@@ -41,6 +41,7 @@ def spawn_test_environment_with_test_container(
         docker_db_image_version: str = LATEST_DB_VERSION,
         docker_db_image_name: str = "exasol/docker-db",
         create_certificates: bool = False,
+        additional_db_parameter: Tuple[str, ...] = tuple(),
         source_docker_repository_name: str = DEFAULT_DOCKER_REPOSITORY_NAME,
         source_docker_tag_prefix: str = '',
         source_docker_username: Optional[str] = None,
@@ -100,7 +101,8 @@ def spawn_test_environment_with_test_container(
                                               no_database_cleanup_after_success=True,
                                               no_database_cleanup_after_failure=False,
                                               create_certificates=create_certificates,
-                                              test_container_content=test_container_content
+                                              test_container_content=test_container_content,
+                                              additional_db_parameter=additional_db_parameter
                                               )
     environment_info = run_task(task_creator, workers, task_dependencies_dot_file)
     return environment_info, functools.partial(_cleanup, environment_info)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py b/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py
index 429d2a034..b78de41d7 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py
@@ -16,3 +16,4 @@ class GeneralSpawnTestEnvironmentParameter(Config):
     docker_runtime = luigi.OptionalParameter(None, significant=False)
     create_certificates = luigi.BoolParameter()
     test_container_content = JsonPickleParameter(TestContainerContentDescription, is_optional=True)
+    additional_db_parameter = luigi.ListParameter()
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 4a49cbc9d..c723ed227 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
@@ -38,6 +38,7 @@ class SpawnTestDockerDatabase(DockerBaseTask, DockerDBTestEnvironmentParameter):
     ip_address_index_in_subnet = luigi.IntParameter(significant=False)  # type: int
     docker_runtime = luigi.OptionalParameter(None, significant=False)  # type: str
     certificate_volume_name = luigi.OptionalParameter(None, significant=False)
+    additional_db_parameter = luigi.ListParameter()
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -236,13 +237,15 @@ def _add_exa_conf(self, copy: DockerContainerCopy,
             PACKAGE_NAME,
             f"{self.docker_db_config_resource_name}/EXAConf") # type: bytes
         template = Template(template_str.decode("utf-8"))
+        additional_db_parameter_str = " ".join(self.additional_db_parameter)
         rendered_template = template.render(private_network=db_private_network,
                                             db_version=str(self.db_version),
                                             image_version=self.docker_db_image_version,
                                             mem_size=self.mem_size,
                                             disk_size=self.disk_size,
                                             name_servers=",".join(self.nameservers),
-                                            certificate_dir=certificate_dir)
+                                            certificate_dir=certificate_dir,
+                                            additional_db_parameters=additional_db_parameter_str)
         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/lib/test_environment/spawn_test_environment_with_docker_db.py b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py
index b4556f748..dcd935b01 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py
@@ -74,7 +74,8 @@ def create_spawn_database_task(self,
                 network_info=network_info,
                 certificate_volume_name=certificate_volume_name,
                 ip_address_index_in_subnet=0,
-                attempt=attempt
+                attempt=attempt,
+                additional_db_parameter=self.additional_db_parameter
             )
 
     def create_wait_for_database_task(self,
diff --git a/exasol_integration_test_docker_environment/test/test_api_external_test_environment.py b/exasol_integration_test_docker_environment/test/test_api_external_test_environment.py
index 376970eff..49bee3f9e 100644
--- a/exasol_integration_test_docker_environment/test/test_api_external_test_environment.py
+++ b/exasol_integration_test_docker_environment/test/test_api_external_test_environment.py
@@ -42,7 +42,8 @@ def setUpClass(cls):
                                        no_test_container_cleanup_after_success=True,
                                        no_test_container_cleanup_after_failure=False,
                                        reuse_test_container=True,
-                                       test_container_content=get_test_container_content())
+                                       test_container_content=get_test_container_content(),
+                                       additional_db_parameter=tuple())
         cls.ext_environment_info: EnvironmentInfo = run_task(task_creator, 1, None)
 
     @classmethod
diff --git a/exasol_integration_test_docker_environment/test/test_cli_test_environment_additional_params.py b/exasol_integration_test_docker_environment/test/test_cli_test_environment_additional_params.py
new file mode 100644
index 000000000..f3e888044
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_cli_test_environment_additional_params.py
@@ -0,0 +1,48 @@
+import unittest
+
+from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.testing import utils
+from exasol_integration_test_docker_environment.testing.exaslct_test_environment import ExaslctTestEnvironment
+
+ADDITIONAL_DB_PARAMS = ["-disableIndexIteratorScan=1", "-disableIndexIteratorScan=1"]
+
+
+class DockerTestEnvironmentAdditionParamsTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}")
+        cls.test_environment = \
+            ExaslctTestEnvironment(
+                cls,
+                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
+                clean_images_at_close=False)
+        # TODO cls.test_environment.clean_images()
+        cls.docker_environment_name = cls.__name__
+        additional_db_parameters = [f"--additional-db-parameter {add_param}" for add_param in ADDITIONAL_DB_PARAMS]
+        cls.spawned_docker_test_environments = \
+            cls.test_environment.spawn_docker_test_environments(name=cls.docker_environment_name,
+                                                                additional_parameter=additional_db_parameters)
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.spawned_docker_test_environments, cls.test_environment)
+
+    def test_additional_params_are_used(self):
+        environment_info = self.spawned_docker_test_environments.on_host_docker_environment
+        db_container_name = environment_info.environment_info.database_info.container_info.container_name
+        with ContextDockerClient() as docker_client:
+            db_container = docker_client.containers.get(db_container_name)
+            exit_code, output = db_container.exec_run("dwad_client print-params DB1")
+            self.assertEqual(exit_code, 0,
+                             f"Error while executing 'dwad_client' "
+                             f"in db container got output\n {output.decode('UTF-8')}.")
+            params_lines = [line for line in output.decode("UTF-8").splitlines() if line.startswith("Parameters:")]
+            self.assertEqual(len(params_lines), 1, "Unexpected format of output of dwad_client")
+            params_line = params_lines[0]
+            for add_db_param in ADDITIONAL_DB_PARAMS:
+                self.assertIn(add_db_param, params_line)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_test_env_reuse.py b/exasol_integration_test_docker_environment/test/test_test_env_reuse.py
index e4624e6ca..c29960d86 100644
--- a/exasol_integration_test_docker_environment/test/test_test_env_reuse.py
+++ b/exasol_integration_test_docker_environment/test/test_test_env_reuse.py
@@ -67,7 +67,8 @@ def run_spawn_test_env(self, cleanup: bool):
                                   environment_name=self.env_name(),
                                   docker_db_image_version=self.docker_db_version_parameter,
                                   docker_db_image_name="exasol/docker-db",
-                                  test_container_content=get_test_container_content()
+                                  test_container_content=get_test_container_content(),
+                                  additional_db_parameter=tuple()
                                   )
         try:
             success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")