diff --git a/doc/changes/changes_3.1.0.md b/doc/changes/changes_3.1.0.md index ed56ca65c..4ed12d880 100644 --- a/doc/changes/changes_3.1.0.md +++ b/doc/changes/changes_3.1.0.md @@ -1,10 +1,21 @@ -# Integration-Test-Docker-Environment X.Y.Z, released TBD +# Integration-Test-Docker-Environment 3.1.0, released t.b.d. ## Summary -TBD +t.b.d. + + +### Supported Exasol Versions + +* **7.1**: up to 7.1.26 +* **8**: from 8.17.0 up to 8.27.0 + +## Dependencies + +* Constrain docker dependency to `>= 4.0.0, < 7.0.0`, for further details see [docker/docker-py#3223](https://github.com/docker/docker-py/issues/3223) ## Changes * Moved `pytest` dependency to development dependencies * Add explicit dependency and version constraint (`<= 0.20.1`) for `docutils` +* #396: Added new docker-db versions diff --git a/doc/user_guide/user_guide.rst b/doc/user_guide/user_guide.rst index bdd3e03c7..514727b15 100644 --- a/doc/user_guide/user_guide.rst +++ b/doc/user_guide/user_guide.rst @@ -134,7 +134,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: 8.18.1] + tests should run. [default: 8.27.0] --docker-db-image-name TEXT Docker DB Image Name against which the tests should run. [default: exasol/docker-db] @@ -266,9 +266,8 @@ The following config files are available: Currently supported Exasol Versions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- **7.0**: up to 7.0.20 **except 7.0.5** -- **7.1**: up to 7.1.17 -- 8.17.0 and 8.18.1 +- **7.1**: up to 7.1.26 +- **8**: from 8.17.0 up to 8.27.0 If you need further versions, please open an issue. diff --git a/docker_db_config_template/7.1.18 b/docker_db_config_template/7.1.18 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.18 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.19 b/docker_db_config_template/7.1.19 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.19 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.20 b/docker_db_config_template/7.1.20 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.20 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.21 b/docker_db_config_template/7.1.21 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.21 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.22 b/docker_db_config_template/7.1.22 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.22 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.23 b/docker_db_config_template/7.1.23 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.23 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.24 b/docker_db_config_template/7.1.24 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.24 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.25 b/docker_db_config_template/7.1.25 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.25 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/7.1.26 b/docker_db_config_template/7.1.26 new file mode 120000 index 000000000..3769235d3 --- /dev/null +++ b/docker_db_config_template/7.1.26 @@ -0,0 +1 @@ +7.1.0 \ No newline at end of file diff --git a/docker_db_config_template/8.20.0/EXAConf b/docker_db_config_template/8.20.0/EXAConf new file mode 100644 index 000000000..60e46903e --- /dev/null +++ b/docker_db_config_template/8.20.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.32.0 + OSVersion = 8.32.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.32.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.32.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.20.0/init_db.sh b/docker_db_config_template/8.20.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.20.0/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/docker_db_config_template/8.21.0/EXAConf b/docker_db_config_template/8.21.0/EXAConf new file mode 100644 index 000000000..9fc2d3919 --- /dev/null +++ b/docker_db_config_template/8.21.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.35.0 + OSVersion = 8.35.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.35.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.35.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.21.0/init_db.sh b/docker_db_config_template/8.21.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.21.0/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/docker_db_config_template/8.22.0/EXAConf b/docker_db_config_template/8.22.0/EXAConf new file mode 100644 index 000000000..42ee84242 --- /dev/null +++ b/docker_db_config_template/8.22.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.36.0 + OSVersion = 8.36.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.36.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.36.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.22.0/init_db.sh b/docker_db_config_template/8.22.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.22.0/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/docker_db_config_template/8.23.0/EXAConf b/docker_db_config_template/8.23.0/EXAConf new file mode 100644 index 000000000..f4e46319e --- /dev/null +++ b/docker_db_config_template/8.23.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.38.0 + OSVersion = 8.38.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.38.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.38.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.23.0/init_db.sh b/docker_db_config_template/8.23.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.23.0/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/docker_db_config_template/8.23.1/EXAConf b/docker_db_config_template/8.23.1/EXAConf new file mode 100644 index 000000000..0816ed336 --- /dev/null +++ b/docker_db_config_template/8.23.1/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.39.0 + OSVersion = 8.39.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.23.1/init_db.sh b/docker_db_config_template/8.23.1/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.23.1/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/docker_db_config_template/8.24.0/EXAConf b/docker_db_config_template/8.24.0/EXAConf new file mode 100644 index 000000000..7c6088793 --- /dev/null +++ b/docker_db_config_template/8.24.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.41.0 + OSVersion = 8.41.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.24.0/init_db.sh b/docker_db_config_template/8.24.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.24.0/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/docker_db_config_template/8.25.0/EXAConf b/docker_db_config_template/8.25.0/EXAConf new file mode 100644 index 000000000..6bcb49f74 --- /dev/null +++ b/docker_db_config_template/8.25.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.44.0 + OSVersion = 8.44.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.25.0/init_db.sh b/docker_db_config_template/8.25.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.25.0/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/docker_db_config_template/8.26.0/EXAConf b/docker_db_config_template/8.26.0/EXAConf new file mode 100644 index 000000000..a9cb595fa --- /dev/null +++ b/docker_db_config_template/8.26.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.45.0 + OSVersion = 8.45.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.26.0/init_db.sh b/docker_db_config_template/8.26.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.26.0/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/docker_db_config_template/8.27.0/EXAConf b/docker_db_config_template/8.27.0/EXAConf new file mode 100644 index 000000000..cf778a129 --- /dev/null +++ b/docker_db_config_template/8.27.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.46.0 + OSVersion = 8.46.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/docker_db_config_template/8.27.0/init_db.sh b/docker_db_config_template/8.27.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/docker_db_config_template/8.27.0/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/cli/options/test_environment_options.py b/exasol_integration_test_docker_environment/cli/options/test_environment_options.py index 979f27777..0c5ba041f 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 @@ -16,7 +16,7 @@ ] -LATEST_DB_VERSION = """8.18.1""" +LATEST_DB_VERSION = """8.27.0""" 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.18/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.18/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.18/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.18/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.18/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.18/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.19/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.19/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.19/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.19/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.19/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.19/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.20/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.20/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.20/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.20/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.20/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.20/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.21/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.21/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.21/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.21/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.21/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.21/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.22/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.22/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.22/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.22/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.22/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.22/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.23/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.23/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.23/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.23/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.23/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.23/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.24/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.24/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.24/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.24/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.24/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.24/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.25/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.25/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.25/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.25/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.25/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.25/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.26/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/7.1.26/EXAConf new file mode 100644 index 000000000..420c8a2cd --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.26/EXAConf @@ -0,0 +1,208 @@ +[Global] + Revision = 14 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.xml + CoredPort = 10001 + SSHPort = {{ ssh_port }} + 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 + AuthorizedKeys = {{ authorized_keys }} + [[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 + [[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 = {{ db_port }} + # 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 = {{ bucketfs_port }} + # 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.26/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/7.1.26/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/7.1.26/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/8.20.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.20.0/EXAConf new file mode 100644 index 000000000..60e46903e --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.20.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.32.0 + OSVersion = 8.32.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.32.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.32.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.20.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.20.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.20.0/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/8.21.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.21.0/EXAConf new file mode 100644 index 000000000..9fc2d3919 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.21.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.35.0 + OSVersion = 8.35.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.35.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.35.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.21.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.21.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.21.0/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/8.22.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.22.0/EXAConf new file mode 100644 index 000000000..42ee84242 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.22.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.36.0 + OSVersion = 8.36.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.36.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.36.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.22.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.22.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.22.0/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/8.23.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.23.0/EXAConf new file mode 100644 index 000000000..f4e46319e --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.23.0/EXAConf @@ -0,0 +1,231 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.38.0 + OSVersion = 8.38.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% if additional_db_parameters %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.38.0/sbin/nsexec_chroot {{ additional_db_parameters }} + {% else %} + Params = -sandboxCHROOT=/opt/exasol/cos-8.38.0/sbin/nsexec_chroot + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.23.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.23.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.23.0/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/8.23.1/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.23.1/EXAConf new file mode 100644 index 000000000..0816ed336 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.23.1/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.39.0 + OSVersion = 8.39.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.23.1/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.23.1/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.23.1/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/8.24.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.24.0/EXAConf new file mode 100644 index 000000000..7c6088793 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.24.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.41.0 + OSVersion = 8.41.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.24.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.24.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.24.0/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/8.25.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.25.0/EXAConf new file mode 100644 index 000000000..6bcb49f74 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.25.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.44.0 + OSVersion = 8.44.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.25.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.25.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.25.0/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/8.26.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.26.0/EXAConf new file mode 100644 index 000000000..a9cb595fa --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.26.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.45.0 + OSVersion = 8.45.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.26.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.26.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.26.0/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/8.27.0/EXAConf b/exasol_integration_test_docker_environment/docker_db_config/8.27.0/EXAConf new file mode 100644 index 000000000..cf778a129 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.27.0/EXAConf @@ -0,0 +1,229 @@ +[Global] + Revision = 17 + Checksum = COMMIT + ClusterName = cl4 + Platform = Docker + LicenseFile = /exa/etc/license.exasol_license + CoredPort = 325 + SSHPort = {{ ssh_port }} + IssueTracker = Jira + XMLRPCPort = 443 + WebUIBackendPort = 4444 + WebUIDomain = exacluster.local + EnableLoadBalancer = False + AuthenticationToken = bVNQU0lRT0dhQWhmck5kZDpjU3RwUUJsZkxxalhKTUVpbkVXVHBNd1ZRQlpkenpzTlF5VllxeGNBd3ZPY1JRQUZhQ3VZWGdDcXZLR0p3SWd4 + # 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 + # The meta package name, which was installed by C4 to run this system. + MetaPackage = none + ConfVersion = 8.46.0 + OSVersion = 8.46.0 + DBVersion = {{ db_version }} + ImageVersion = {{ db_version }} + # Cored only accepts incomming messages from privileged ports (port number less than 1024). + CoredUsePrivilegedPorts = True + # Cored only accepts incomming messages from its own subnet. + CoredAllowOnlySameSubnet = True + # Which subnets Cored will allow messages from. Each subnet must be sepparated by a comma. + # A subnet is either an IPv4 or IPv6 address in CIDR notation. + CoredSubnets = + +# 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 + [[exaadm]] + ID = 499 + [[exadbadm]] + ID = 498 + [[exastoradm]] + ID = 497 + [[exabfsadm]] + ID = 496 + [[exasaasadm]] + ID = 495 + +[Users] + [[root]] + ID = 0 + Group = root + LoginEnabled = True + AdditionalGroups = exausers, exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + AuthorizedKeys = {{ authorized_keys }} + [[exadefusr]] + ID = 500 + Group = exausers + LoginEnabled = False + AdditionalGroups = exaadm, exadbadm, exastoradm, exabfsadm, exasaasadm + [[exasaasusr]] + ID = 499 + Group = exausers + LoginEnabled = False + AdditionalGroups = exasaasadm, + +[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 = F0EA64D47F374A00B0530772981C559EE1C59086 + DockerVolume = n11 + [[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 + +# RemoteLogging : None/None +[Logging] + LogRotationTypes = local, + RemoteLogRotationVolume = None + RemoteLogRotationPrefix = None + +# An EXASOL database +[DB : DB1] + # Unique id of this database. + ID = aCbUZhU3R8eEc0UIDS7wQw + # Version nr. of this database. + Version = {{ db_version }} + # Memory size over all nodes (e. g. '1 TiB'). + MemSize = {{ mem_size }} + Port = {{ db_port }} + # 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 = slc-6.0.0-c4-5-standard-EXASOL-8.0.0/ScriptLanguages-standard-EXASOL-8.0.0-slc-v6.0.0-PB5EHDLN + AutoStart = True + {% 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 + # Additional URLs used to search for JDBC drivers, like: bucketfs://bfs2/bucket3/jdbcdir or file:///exa/etc/jdbc_drivers. + AdditionalURLs = + # 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 = {{ bucketfs_port }} + # HTTPS port number (0 = disabled) + HttpsPort = 0 + SyncKey = bDRYa3pCNXRwaW9OR3k2NjJ2TGpyQ3YweXZEOVUyanQ= + 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 + + [[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 \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/docker_db_config/8.27.0/init_db.sh b/exasol_integration_test_docker_environment/docker_db_config/8.27.0/init_db.sh new file mode 100755 index 000000000..d30413601 --- /dev/null +++ b/exasol_integration_test_docker_environment/docker_db_config/8.27.0/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"