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

Issue:
Add Docker-DB 7.1.17
# Summary
A new Docker-DB version which we need to support have been released.

## Task(s)
- [x] Add config for Docker-DB X.Y.Z
- [x] Change default image version to X.Y.Z
- [x] Update `LATEST_DB_VERSION` in `test_environment_options.py`
- [x] Update currently supported version(s) in `user_guide.rst`
- [x] Update changelog

Add Docker-DB 7.1.17
# Summary
A new Docker-DB version which we need to support have been released.

## Task(s)
- [x] Add config for Docker-DB X.Y.Z
- [x] Change default image version to X.Y.Z
- [x] Update `LATEST_DB_VERSION` in `test_environment_options.py`
- [x] Update currently supported version(s) in `user_guide.rst`
- [x] Update changelog

Add Docker-DB 7.1.17
# Summary
A new Docker-DB version which we need to support have been released.

## Task(s)
- [x] Add config for Docker-DB X.Y.Z
- [x] Change default image version to X.Y.Z
- [x] Update `LATEST_DB_VERSION` in `test_environment_options.py`
- [x] Update currently supported version(s) in `user_guide.rst`
- [x] Update changelog



Discussion / hints:

Fix patch:
diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md
index e161d9d0b..8ce139b38 100644
--- a/doc/changes/changelog.md
+++ b/doc/changes/changelog.md
@@ -1,6 +1,6 @@
 # Changes
 
-* [1.2.1](changes_1.2.1.md)
+* [1.3.0](changes_1.3.0.md)
 * [1.2.0](changes_1.2.0.md)
 * [1.1.0](changes_1.1.0.md)
 * [1.0.0](changes_1.0.0.md)
@@ -23,7 +23,7 @@
 ---
 hidden:
 ---
-changes_1.2.1
+changes_1.3.0
 changes_1.2.0
 changes_1.1.0
 changes_1.0.0
diff --git a/doc/changes/changes_1.2.0.md b/doc/changes/changes_1.2.0.md
index a8839ba4c..74f900209 100644
--- a/doc/changes/changes_1.2.0.md
+++ b/doc/changes/changes_1.2.0.md
@@ -4,7 +4,7 @@ Code name: DB Parameter injection
 
 ## Summary
 
-This release supports a new option which allows the injection of custom parameters to the database and also supports docker db version 7.1.15.
+This release supports a new option which allows the injection of custom parameters to the database and also supports `docker-db` version 7.1.17.
 
 ### Supported Exasol Versions
 
@@ -25,6 +25,7 @@ n/a
 
  - #270: Added support for additional db parameters
  - #272: Added Docker-DB 7.1.15 and prepare release
+ - #281: Added Docker-DB 7.1.16, 7.1.17
 
 ## Refactoring:
 
diff --git a/doc/changes/changes_1.2.1.md b/doc/changes/changes_1.3.0.md
similarity index 84%
rename from doc/changes/changes_1.2.1.md
rename to doc/changes/changes_1.3.0.md
index cd94dd9c3..bc753918d 100644
--- a/doc/changes/changes_1.2.1.md
+++ b/doc/changes/changes_1.3.0.md
@@ -1,4 +1,4 @@
-# Integration-Test-Docker-Environment 1.2.1, released \<TBD\>
+# Integration-Test-Docker-Environment 1.3.0, released \<TBD\>
 
 ## Summary
 
@@ -7,7 +7,7 @@ TBD
 ### Supported Exasol Versions
 
 * **7.0**: up to 7.0.20, **except 7.0.5**
-* **7.1**: up to 7.1.15
+* **7.1**: up to 7.1.17
 
 If you need further versions, please open an issue.
 
diff --git a/doc/developer_guide/developer_guide.rst b/doc/developer_guide/developer_guide.rst
index d38735309..97c57903c 100644
--- a/doc/developer_guide/developer_guide.rst
+++ b/doc/developer_guide/developer_guide.rst
@@ -4,6 +4,14 @@ Developer Guide
 
 In this developer guide we explain how you can build this project.
 
+Install Poetry:
+
+``sudo apt install python3-poetry``
+
+Install the Git commit hooks:
+
+``githooks/install.sh``
+
 .. toctree::
    :maxdepth: 1
 
diff --git a/doc/user_guide/user_guide.rst b/doc/user_guide/user_guide.rst
index 3473c8f5f..52effbf1c 100644
--- a/doc/user_guide/user_guide.rst
+++ b/doc/user_guide/user_guide.rst
@@ -130,7 +130,7 @@ The following options are available to customize the test environment.
                                      containers
 
      --docker-db-image-version TEXT  Docker DB Image Version against which the
-                                     tests should run.  [default: 7.1.15]
+                                     tests should run.  [default: 7.1.17]
 
      --docker-db-image-name TEXT     Docker DB Image Name against which the tests
                                      should run.  [default: exasol/docker-db]
diff --git a/docker_db_config_template/7.1.16 b/docker_db_config_template/7.1.16
new file mode 120000
index 000000000..3769235d3
--- /dev/null
+++ b/docker_db_config_template/7.1.16
@@ -0,0 +1,1 @@
+7.1.0
\ No newline at end of file
diff --git a/docker_db_config_template/7.1.17 b/docker_db_config_template/7.1.17
new file mode 120000
index 000000000..3769235d3
--- /dev/null
+++ b/docker_db_config_template/7.1.17
@@ -0,0 +1,1 @@
+7.1.0
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 05c3edee1..2641bf4eb 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "exasol-integration-test-docker-environment"
-version = "1.2.1"
+version = "1.3.0"
 description = "Integration Test Docker Environment for Exasol"
 
 license = "MIT"
diff --git a/setup.py b/setup.py
index e65309aa5..7da142dbe 100644
--- a/setup.py
+++ b/setup.py
@@ -62,6 +62,8 @@
                                                 'docker_db_config/7.1.13/*',
                                                 'docker_db_config/7.1.14/*',
                                                 'docker_db_config/7.1.15/*',
+                                                'docker_db_config/7.1.16/*',
+                                                'docker_db_config/7.1.17/*',
                                                 'docker_db_config/7.1.2/*',
                                                 'docker_db_config/7.1.3/*',
                                                 'docker_db_config/7.1.4/*',
@@ -97,7 +99,7 @@
 
 setup_kwargs = {
     'name': 'exasol-integration-test-docker-environment',
-    'version': '1.2.1',
+    'version': '1.3.0',
     'description': 'Integration Test Docker Environment for Exasol',
     'long_description': 'Integration Test Docker Environment\n===================================\n\nThis project provides a command line interface and a Python API layer to\nstart a test environment with an `Exasol\nDocker-DB <https://hub.docker.com/r/exasol/docker-db>`_. Both start an\nExasol Docker-DB container, but the API Layer has extended functionality\nand also can start an associated test container for whose content the\nclient is responsible.\n\nDocumentation\n-------------\n\n`Documentation for the current main branch <https://exasol.github.io/integration-test-docker-environment/main>`_ is hosted on the Github Pages of this project.\n`Here <https://exasol.github.io/integration-test-docker-environment>`_  is a list of documentations for previous releases.\n',
     'author': 'Torsten Kilias',


Test patch:
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 f61b849eb..f05122c26 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
@@ -10,7 +10,7 @@
 
 ]
 
-LATEST_DB_VERSION = """7.1.15"""
+LATEST_DB_VERSION = """7.1.17"""
 
 docker_db_options = [
     click.option('--docker-db-image-version', type=str, default=LATEST_DB_VERSION,
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.16/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.16/EXAConf
new file mode 100644
index 000000000..d7f517ec7
--- /dev/null
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.16/EXAConf
@@ -0,0 +1,209 @@
+[Global]
+    Revision = 14
+    Checksum = COMMIT
+    ClusterName = cl4
+    Platform = Docker
+    LicenseFile = /exa/etc/license.xml
+    CoredPort = 10001
+    SSHPort = 22
+    XMLRPCPort = 443
+    WebUIBackendPort = 4444
+    WebUIDomain = exacluster.local
+    EnableLoadBalancer = False
+    AuthenticationToken = VFdOQ2ZVZExoRGZqb21ZVzpWWVR0d0NXYVh6am9TckhmeGdnQ3pwU2pFSktOTXlqUHNMclhQU0drWHdld2xDZndXeFFORU1rVnNFSGN4c2Jp
+    # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
+    Networks = private
+    # Comma-separated list of nameservers for this cluster.
+    NameServers = {{ name_servers }}
+    # Path to c4 unix domain socket, used for deployments of new clusters and nodes.
+    C4Socket = /var/run/c4_socket
+    Timezone = Europe/Berlin
+    LicenseRAWMEMWarnThreshold = 80
+    # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
+    Hugepages = 0
+    StorageConnectionThreads = 16
+    StorageMaxConnections = 1024
+    ConfVersion = {{ db_version }}
+    OSVersion = {{ db_version }}
+    REVersion = {{ db_version }}
+    DBVersion = {{ db_version }}
+    ImageVersion = {{ db_version }}
+
+# SSL options
+[SSL]
+    # The SSL certificate, private key and CA for all EXASOL services
+    Cert = {{ certificate_dir }}/cert.crt
+    CertKey = {{ certificate_dir }}/cert.key
+    CertAuth = {{ certificate_dir }}/rootCA.crt
+    # Options to verify certificates: none, optional, required
+    CertVerify = none
+    # Domain name in the certifcate
+    CertDomainName = 
+
+# Docker related options
+[Docker]
+    # The directory that contains all data related to this docker cluster
+    # (except for mapped devices)
+    RootDir = /exa/etc
+    # The EXASOL docker image used for all containers of this cluster
+    Image = exasol/docker-db:latest
+    # The type of storage devices for this cluster: 'block' or 'file'
+    DeviceType = file
+    # Comma-separated list of volumes to be mounted in all containers (e. g. '/mnt/my_data:/exa/my_data:rw' )
+    # These user-defined volumes are mounted additionally to the internal ones (like the node root volume)
+    AdditionalVolumes = 
+
+[Groups]
+    [[root]]
+        ID = 0
+    [[exausers]]
+        ID = 500
+    [[exadbadm]]
+        ID = 1001
+    [[exastoradm]]
+        ID = 1002
+    [[exabfsadm]]
+        ID = 1003
+    [[exaadm]]
+        ID = 1004
+
+[Users]
+    [[root]]
+        ID = 0
+        Group = root
+        LoginEnabled = True
+        AdditionalGroups = exausers, exadbadm, exastoradm, exabfsadm, exaadm
+    [[exadefusr]]
+        ID = 500
+        Group = exausers
+        LoginEnabled = False
+        AdditionalGroups = exadbadm, exastoradm, exabfsadm, exaadm
+
+[Node : 11]
+    PrivateNet = {{private_network}}
+    PublicNet = 
+    Name = n11
+    # Affinity decides how this node is used in the cluster. i.e, the possibility to become master
+    Affinity = 11
+    UUID = 02F4E2AF9C294CABA0A119A89AC60B44EC95D19C
+    DockerVolume = n11
+    # Ports to be exposed (container : host)
+    ExposedPorts = 8888:8899, 6583:6594
+    [[Disk : disk1]]
+        Component = exastorage
+        Devices = dev.1
+        Mapping = dev.1:/exa/data/storage
+
+# Global EXAStorage options
+[EXAStorage]
+    # Enable or disable background recovery / data restoration (does not affect on-demand recovery)
+    BgRecEnabled = True
+    # Max. throughput for background recovery / data restoration (in MiB/s)
+    BgRecLimit = 
+    # Space usage threshold (in percent, per node) for sending a warning
+    SpaceWarnThreshold = 90
+
+# An EXAStorage volume
+[EXAVolume : DataVolume1]
+    # Type of volume: 'data' | 'archive'
+    Type = data
+    # Volume size (e. g. '1 TiB')
+    Size = {{ disk_size }}
+    # Name of the disk to be used for this volume.
+    # This disk must exist on all volume nodes.
+    Disk = disk1
+    # Comma-separated list of node IDs for this volume (put dedicated redundancy nodes at the end, if any)
+    Nodes = 11
+    # OPTIONAL: Nr. of master nodes for this volume. Remaining nodes will be used for redundancy only.
+    NumMasterNodes = 1
+    # Desired redundancy for this volume
+    Redundancy = 1
+    BlockSize = 4 KiB
+    StripeSize = 256 KiB
+    # User and group IDs that own this volume (e. g. '1000:1005')
+    Owner = 500 : 500
+    Permissions = rwx
+    # OPTIONAL: shared volumes can be opened (for writing) by multiple clients simultaneously
+    Shared = True
+    # OPTIONAL: I/O priority (0 = highest, 20 = lowest)
+    Priority = 10
+
+# An EXASOL database
+[DB : DB1]
+    # Version nr. of this database.
+    Version = {{db_version}}
+    # Memory size over all nodes (e. g. '1 TiB').
+    MemSize = {{ mem_size }}
+    Port = 8888
+    # User and group IDs that own this database (e. g. '1000:1005').
+    Owner = 500 : 500
+    # Comma-separated list of node IDs for this DB (put reserve nodes at the end, if any).
+    Nodes = 11
+    # Nr. of initially active nodes for this DB. The remaining nodes will be reserve nodes.
+    NumActiveNodes = 1
+    # Name of the data volume to be used by this database.
+    DataVolume = DataVolume1
+    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
+        BucketFS = bfsdefault
+        # Bucket that contains the JDBC driver
+        Bucket = default
+        # Directory within the bucket that contains the drivers
+        Dir = drivers/jdbc
+    # Oracle driver configuration
+    [[Oracle]]
+        # BucketFS that contains the JDBC drivers
+        BucketFS = bfsdefault
+        # Bucket that contains the JDBC drivers
+        Bucket = default
+        # Directory within the bucket that contains the drivers
+        Dir = drivers/oracle
+
+# The default BucketFS (auto-generated)
+[BucketFS : bfsdefault]
+    Owner = 500 : 500
+    # HTTP port number (0 = disabled)
+    HttpPort = 6583
+    # HTTPS port number (0 = disabled)
+    HttpsPort = 0
+    SyncKey = c3RxWjRxWUFpZUFQblEyc0p2djZUM0VZamVZa1M0bUs=
+    SyncPeriod = 30000
+    mode = rsync
+    bucketvolume = None
+    # The default bucket (auto-generated)
+    [[Bucket : default]]
+        # ReadPasswd is "read" (without quotes)
+        ReadPasswd = cmVhZAo=
+        # WritePasswd is "write" (without quotes)
+        WritePasswd = d3JpdGU=
+        Public = True
+        Name = default
+        AdditionalFiles = EXAClusterOS:/usr/opt/EXASuite-7/ScriptLanguages/*
+
+    [[Bucket : myudfs]]
+        # ReadPasswd is "read" (without quotes)
+        ReadPasswd = cmVhZAo=
+        # WritePasswd is "write" (without quotes)
+        WritePasswd = d3JpdGU=
+        Public = True
+        Name = myudfs
+
+    [[Bucket : jdbc_adapter]]
+        # ReadPasswd is "read" (without quotes)
+        ReadPasswd = cmVhZAo=
+        # WritePasswd is "write" (without quotes)
+        WritePasswd = d3JpdGU=
+        Public = True
+        Name = jdbc-adapter
+[Logging]
+    LogRotationTypes = local,
+    RemoteLogRotationVolume = cloud_data_remote_volume
+    RemoteLogRotationPrefix = Logs
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.16/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.16/init_db.sh
new file mode 100755
index 000000000..d30413601
--- /dev/null
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.16/init_db.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DEVICE_SIZE_IN_MEGABYTES=$1
+
+# Setup directory "exa" with pre-configured EXAConf to attach it to the exasoldb docker container
+mkdir -p /exa/{etc,data/storage}
+cp EXAConf /exa/etc/EXAConf
+dd if=/dev/zero of=/exa/data/storage/dev.1 bs=1M count=1 seek="$DEVICE_SIZE_IN_MEGABYTES"
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.17/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.17/EXAConf
new file mode 100644
index 000000000..d7f517ec7
--- /dev/null
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.17/EXAConf
@@ -0,0 +1,209 @@
+[Global]
+    Revision = 14
+    Checksum = COMMIT
+    ClusterName = cl4
+    Platform = Docker
+    LicenseFile = /exa/etc/license.xml
+    CoredPort = 10001
+    SSHPort = 22
+    XMLRPCPort = 443
+    WebUIBackendPort = 4444
+    WebUIDomain = exacluster.local
+    EnableLoadBalancer = False
+    AuthenticationToken = VFdOQ2ZVZExoRGZqb21ZVzpWWVR0d0NXYVh6am9TckhmeGdnQ3pwU2pFSktOTXlqUHNMclhQU0drWHdld2xDZndXeFFORU1rVnNFSGN4c2Jp
+    # List of networks for this cluster: 'private' is mandatory, 'public' is optional.
+    Networks = private
+    # Comma-separated list of nameservers for this cluster.
+    NameServers = {{ name_servers }}
+    # Path to c4 unix domain socket, used for deployments of new clusters and nodes.
+    C4Socket = /var/run/c4_socket
+    Timezone = Europe/Berlin
+    LicenseRAWMEMWarnThreshold = 80
+    # Nr. of hugepages ('0' = disabled, 'host' = manually configured on the host, 'auto' = set automatically based on DB config)
+    Hugepages = 0
+    StorageConnectionThreads = 16
+    StorageMaxConnections = 1024
+    ConfVersion = {{ db_version }}
+    OSVersion = {{ db_version }}
+    REVersion = {{ db_version }}
+    DBVersion = {{ db_version }}
+    ImageVersion = {{ db_version }}
+
+# SSL options
+[SSL]
+    # The SSL certificate, private key and CA for all EXASOL services
+    Cert = {{ certificate_dir }}/cert.crt
+    CertKey = {{ certificate_dir }}/cert.key
+    CertAuth = {{ certificate_dir }}/rootCA.crt
+    # Options to verify certificates: none, optional, required
+    CertVerify = none
+    # Domain name in the certifcate
+    CertDomainName = 
+
+# Docker related options
+[Docker]
+    # The directory that contains all data related to this docker cluster
+    # (except for mapped devices)
+    RootDir = /exa/etc
+    # The EXASOL docker image used for all containers of this cluster
+    Image = exasol/docker-db:latest
+    # The type of storage devices for this cluster: 'block' or 'file'
+    DeviceType = file
+    # Comma-separated list of volumes to be mounted in all containers (e. g. '/mnt/my_data:/exa/my_data:rw' )
+    # These user-defined volumes are mounted additionally to the internal ones (like the node root volume)
+    AdditionalVolumes = 
+
+[Groups]
+    [[root]]
+        ID = 0
+    [[exausers]]
+        ID = 500
+    [[exadbadm]]
+        ID = 1001
+    [[exastoradm]]
+        ID = 1002
+    [[exabfsadm]]
+        ID = 1003
+    [[exaadm]]
+        ID = 1004
+
+[Users]
+    [[root]]
+        ID = 0
+        Group = root
+        LoginEnabled = True
+        AdditionalGroups = exausers, exadbadm, exastoradm, exabfsadm, exaadm
+    [[exadefusr]]
+        ID = 500
+        Group = exausers
+        LoginEnabled = False
+        AdditionalGroups = exadbadm, exastoradm, exabfsadm, exaadm
+
+[Node : 11]
+    PrivateNet = {{private_network}}
+    PublicNet = 
+    Name = n11
+    # Affinity decides how this node is used in the cluster. i.e, the possibility to become master
+    Affinity = 11
+    UUID = 02F4E2AF9C294CABA0A119A89AC60B44EC95D19C
+    DockerVolume = n11
+    # Ports to be exposed (container : host)
+    ExposedPorts = 8888:8899, 6583:6594
+    [[Disk : disk1]]
+        Component = exastorage
+        Devices = dev.1
+        Mapping = dev.1:/exa/data/storage
+
+# Global EXAStorage options
+[EXAStorage]
+    # Enable or disable background recovery / data restoration (does not affect on-demand recovery)
+    BgRecEnabled = True
+    # Max. throughput for background recovery / data restoration (in MiB/s)
+    BgRecLimit = 
+    # Space usage threshold (in percent, per node) for sending a warning
+    SpaceWarnThreshold = 90
+
+# An EXAStorage volume
+[EXAVolume : DataVolume1]
+    # Type of volume: 'data' | 'archive'
+    Type = data
+    # Volume size (e. g. '1 TiB')
+    Size = {{ disk_size }}
+    # Name of the disk to be used for this volume.
+    # This disk must exist on all volume nodes.
+    Disk = disk1
+    # Comma-separated list of node IDs for this volume (put dedicated redundancy nodes at the end, if any)
+    Nodes = 11
+    # OPTIONAL: Nr. of master nodes for this volume. Remaining nodes will be used for redundancy only.
+    NumMasterNodes = 1
+    # Desired redundancy for this volume
+    Redundancy = 1
+    BlockSize = 4 KiB
+    StripeSize = 256 KiB
+    # User and group IDs that own this volume (e. g. '1000:1005')
+    Owner = 500 : 500
+    Permissions = rwx
+    # OPTIONAL: shared volumes can be opened (for writing) by multiple clients simultaneously
+    Shared = True
+    # OPTIONAL: I/O priority (0 = highest, 20 = lowest)
+    Priority = 10
+
+# An EXASOL database
+[DB : DB1]
+    # Version nr. of this database.
+    Version = {{db_version}}
+    # Memory size over all nodes (e. g. '1 TiB').
+    MemSize = {{ mem_size }}
+    Port = 8888
+    # User and group IDs that own this database (e. g. '1000:1005').
+    Owner = 500 : 500
+    # Comma-separated list of node IDs for this DB (put reserve nodes at the end, if any).
+    Nodes = 11
+    # Nr. of initially active nodes for this DB. The remaining nodes will be reserve nodes.
+    NumActiveNodes = 1
+    # Name of the data volume to be used by this database.
+    DataVolume = DataVolume1
+    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
+        BucketFS = bfsdefault
+        # Bucket that contains the JDBC driver
+        Bucket = default
+        # Directory within the bucket that contains the drivers
+        Dir = drivers/jdbc
+    # Oracle driver configuration
+    [[Oracle]]
+        # BucketFS that contains the JDBC drivers
+        BucketFS = bfsdefault
+        # Bucket that contains the JDBC drivers
+        Bucket = default
+        # Directory within the bucket that contains the drivers
+        Dir = drivers/oracle
+
+# The default BucketFS (auto-generated)
+[BucketFS : bfsdefault]
+    Owner = 500 : 500
+    # HTTP port number (0 = disabled)
+    HttpPort = 6583
+    # HTTPS port number (0 = disabled)
+    HttpsPort = 0
+    SyncKey = c3RxWjRxWUFpZUFQblEyc0p2djZUM0VZamVZa1M0bUs=
+    SyncPeriod = 30000
+    mode = rsync
+    bucketvolume = None
+    # The default bucket (auto-generated)
+    [[Bucket : default]]
+        # ReadPasswd is "read" (without quotes)
+        ReadPasswd = cmVhZAo=
+        # WritePasswd is "write" (without quotes)
+        WritePasswd = d3JpdGU=
+        Public = True
+        Name = default
+        AdditionalFiles = EXAClusterOS:/usr/opt/EXASuite-7/ScriptLanguages/*
+
+    [[Bucket : myudfs]]
+        # ReadPasswd is "read" (without quotes)
+        ReadPasswd = cmVhZAo=
+        # WritePasswd is "write" (without quotes)
+        WritePasswd = d3JpdGU=
+        Public = True
+        Name = myudfs
+
+    [[Bucket : jdbc_adapter]]
+        # ReadPasswd is "read" (without quotes)
+        ReadPasswd = cmVhZAo=
+        # WritePasswd is "write" (without quotes)
+        WritePasswd = d3JpdGU=
+        Public = True
+        Name = jdbc-adapter
+[Logging]
+    LogRotationTypes = local,
+    RemoteLogRotationVolume = cloud_data_remote_volume
+    RemoteLogRotationPrefix = Logs
diff --git a/exasol_integration_test_docker_environment/docker_db_config/7.1.17/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.17/init_db.sh
new file mode 100755
index 000000000..d30413601
--- /dev/null
+++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.17/init_db.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DEVICE_SIZE_IN_MEGABYTES=$1
+
+# Setup directory "exa" with pre-configured EXAConf to attach it to the exasoldb docker container
+mkdir -p /exa/{etc,data/storage}
+cp EXAConf /exa/etc/EXAConf
+dd if=/dev/zero of=/exa/data/storage/dev.1 bs=1M count=1 seek="$DEVICE_SIZE_IN_MEGABYTES"