msa black box tests: redis, postgres, node volumes refactored - volumes decoupled to separate files .volumes (used only for tests)
This commit is contained in:
parent
40823dd2c0
commit
d7c750f64e
@ -2,4 +2,4 @@ CACHE_TYPE=redis
|
||||
REDIS_CONNECTION_TYPE=cluster
|
||||
REDIS_NODES=redis-node-0:6379,redis-node-1:6379,redis-node-2:6379,redis-node-3:6379,redis-node-4:6379,redis-node-5:6379
|
||||
REDIS_USE_DEFAULT_POOL_CONFIG=false
|
||||
REDIS_PASSWORD=bitnami
|
||||
REDIS_PASSWORD=bitnami
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
CACHE_TYPE=redis
|
||||
REDIS_HOST=redis
|
||||
REDIS_HOST=redis
|
||||
|
||||
@ -20,69 +20,8 @@ services:
|
||||
postgres:
|
||||
volumes:
|
||||
- postgres-db-volume:/var/lib/postgresql/data
|
||||
tb-core1:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-core2:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-rule-engine1:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-rule-engine2:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-coap-transport:
|
||||
volumes:
|
||||
- tb-coap-transport-log-volume:/var/log/tb-coap-transport
|
||||
tb-lwm2m-transport:
|
||||
volumes:
|
||||
- tb-lwm2m-transport-log-volume:/var/log/tb-lwm2m-transport
|
||||
tb-http-transport1:
|
||||
volumes:
|
||||
- tb-http-transport-log-volume:/var/log/tb-http-transport
|
||||
tb-http-transport2:
|
||||
volumes:
|
||||
- tb-http-transport-log-volume:/var/log/tb-http-transport
|
||||
tb-mqtt-transport1:
|
||||
volumes:
|
||||
- tb-mqtt-transport-log-volume:/var/log/tb-mqtt-transport
|
||||
tb-mqtt-transport2:
|
||||
volumes:
|
||||
- tb-mqtt-transport-log-volume:/var/log/tb-mqtt-transport
|
||||
tb-snmp-transport:
|
||||
volumes:
|
||||
- tb-snmp-transport-log-volume:/var/log/tb-snmp-transport
|
||||
tb-vc-executor1:
|
||||
volumes:
|
||||
- tb-vc-executor-log-volume:/var/log/tb-vc-executor
|
||||
tb-vc-executor2:
|
||||
volumes:
|
||||
- tb-vc-executor-log-volume:/var/log/tb-vc-executor
|
||||
|
||||
|
||||
volumes:
|
||||
postgres-db-volume:
|
||||
external: true
|
||||
name: ${POSTGRES_DATA_VOLUME}
|
||||
tb-log-volume:
|
||||
external: true
|
||||
name: ${TB_LOG_VOLUME}
|
||||
tb-coap-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_COAP_TRANSPORT_LOG_VOLUME}
|
||||
tb-lwm2m-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_LWM2M_TRANSPORT_LOG_VOLUME}
|
||||
tb-http-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_HTTP_TRANSPORT_LOG_VOLUME}
|
||||
tb-mqtt-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_MQTT_TRANSPORT_LOG_VOLUME}
|
||||
tb-snmp-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_SNMP_TRANSPORT_LOG_VOLUME}
|
||||
tb-vc-executor-log-volume:
|
||||
external: true
|
||||
name: ${TB_VC_EXECUTOR_LOG_VOLUME}
|
||||
58
docker/docker-compose.redis-cluster.volumes.yml
Normal file
58
docker/docker-compose.redis-cluster.volumes.yml
Normal file
@ -0,0 +1,58 @@
|
||||
#
|
||||
# Copyright © 2016-2022 The Thingsboard Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
version: '2.2'
|
||||
|
||||
services:
|
||||
# Redis cluster
|
||||
redis-node-0:
|
||||
volumes:
|
||||
- redis-cluster-data-0:/bitnami/redis/data
|
||||
redis-node-1:
|
||||
volumes:
|
||||
- redis-cluster-data-1:/bitnami/redis/data
|
||||
redis-node-2:
|
||||
volumes:
|
||||
- redis-cluster-data-2:/bitnami/redis/data
|
||||
redis-node-3:
|
||||
volumes:
|
||||
- redis-cluster-data-3:/bitnami/redis/data
|
||||
redis-node-4:
|
||||
volumes:
|
||||
- redis-cluster-data-4:/bitnami/redis/data
|
||||
redis-node-5:
|
||||
volumes:
|
||||
- redis-cluster-data-5:/bitnami/redis/data
|
||||
|
||||
volumes:
|
||||
redis-cluster-data-0:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_0}
|
||||
redis-cluster-data-1:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_1}
|
||||
redis-cluster-data-2:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_2}
|
||||
redis-cluster-data-3:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_3}
|
||||
redis-cluster-data-4:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_4}
|
||||
redis-cluster-data-5:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_5}
|
||||
@ -21,7 +21,7 @@ services:
|
||||
redis-node-0:
|
||||
image: bitnami/redis-cluster:7.0
|
||||
volumes:
|
||||
- redis-cluster_data-0:/bitnami/redis/data
|
||||
- ./tb-node/redis-cluster-data-0:/bitnami/redis/data
|
||||
environment:
|
||||
- 'REDIS_PASSWORD=bitnami'
|
||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
||||
@ -29,7 +29,7 @@ services:
|
||||
redis-node-1:
|
||||
image: bitnami/redis-cluster:7.0
|
||||
volumes:
|
||||
- redis-cluster_data-1:/bitnami/redis/data
|
||||
- ./tb-node/redis-cluster-data-1:/bitnami/redis/data
|
||||
environment:
|
||||
- 'REDIS_PASSWORD=bitnami'
|
||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
||||
@ -37,7 +37,7 @@ services:
|
||||
redis-node-2:
|
||||
image: bitnami/redis-cluster:7.0
|
||||
volumes:
|
||||
- redis-cluster_data-2:/bitnami/redis/data
|
||||
- ./tb-node/redis-cluster-data-2:/bitnami/redis/data
|
||||
environment:
|
||||
- 'REDIS_PASSWORD=bitnami'
|
||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
||||
@ -45,7 +45,7 @@ services:
|
||||
redis-node-3:
|
||||
image: bitnami/redis-cluster:7.0
|
||||
volumes:
|
||||
- redis-cluster_data-3:/bitnami/redis/data
|
||||
- ./tb-node/redis-cluster-data-3:/bitnami/redis/data
|
||||
environment:
|
||||
- 'REDIS_PASSWORD=bitnami'
|
||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
||||
@ -53,7 +53,7 @@ services:
|
||||
redis-node-4:
|
||||
image: bitnami/redis-cluster:7.0
|
||||
volumes:
|
||||
- redis-cluster_data-4:/bitnami/redis/data
|
||||
- ./tb-node/redis-cluster-data-4:/bitnami/redis/data
|
||||
environment:
|
||||
- 'REDIS_PASSWORD=bitnami'
|
||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
||||
@ -61,7 +61,7 @@ services:
|
||||
redis-node-5:
|
||||
image: bitnami/redis-cluster:7.0
|
||||
volumes:
|
||||
- redis-cluster_data-5:/bitnami/redis/data
|
||||
- ./tb-node/redis-cluster-data-5:/bitnami/redis/data
|
||||
depends_on:
|
||||
- redis-node-0
|
||||
- redis-node-1
|
||||
@ -141,22 +141,3 @@ services:
|
||||
- cache-redis-cluster.env
|
||||
depends_on:
|
||||
- redis-node-5
|
||||
volumes:
|
||||
redis-cluster_data-0:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_0}
|
||||
redis-cluster_data-1:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_1}
|
||||
redis-cluster_data-2:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_2}
|
||||
redis-cluster_data-3:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_3}
|
||||
redis-cluster_data-4:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_4}
|
||||
redis-cluster_data-5:
|
||||
external: true
|
||||
name: ${REDIS_CLUSTER_DATA_VOLUME_5}
|
||||
|
||||
27
docker/docker-compose.redis.volumes.yml
Normal file
27
docker/docker-compose.redis.volumes.yml
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Copyright © 2016-2022 The Thingsboard Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
version: '2.2'
|
||||
|
||||
services:
|
||||
redis:
|
||||
volumes:
|
||||
- redis-data:/bitnami/redis/data
|
||||
|
||||
volumes:
|
||||
redis-data:
|
||||
external: true
|
||||
name: ${REDIS_DATA_VOLUME}
|
||||
@ -27,7 +27,7 @@ services:
|
||||
ports:
|
||||
- '6379:6379'
|
||||
volumes:
|
||||
- 'redis_data:/bitnami/redis/data'
|
||||
- ./tb-node/redis-data:/bitnami/redis/data
|
||||
|
||||
# ThingsBoard setup to use redis-standalone
|
||||
tb-core1:
|
||||
@ -95,8 +95,3 @@ services:
|
||||
- cache-redis.env
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
volumes:
|
||||
redis_data:
|
||||
external: true
|
||||
name: ${REDIS_DATA_VOLUME}
|
||||
|
||||
81
docker/docker-compose.volumes.yml
Normal file
81
docker/docker-compose.volumes.yml
Normal file
@ -0,0 +1,81 @@
|
||||
#
|
||||
# Copyright © 2016-2022 The Thingsboard Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
version: '2.2'
|
||||
|
||||
services:
|
||||
tb-core1:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-core2:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-rule-engine1:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-rule-engine2:
|
||||
volumes:
|
||||
- tb-log-volume:/var/log/thingsboard
|
||||
tb-coap-transport:
|
||||
volumes:
|
||||
- tb-coap-transport-log-volume:/var/log/tb-coap-transport
|
||||
tb-lwm2m-transport:
|
||||
volumes:
|
||||
- tb-lwm2m-transport-log-volume:/var/log/tb-lwm2m-transport
|
||||
tb-http-transport1:
|
||||
volumes:
|
||||
- tb-http-transport-log-volume:/var/log/tb-http-transport
|
||||
tb-http-transport2:
|
||||
volumes:
|
||||
- tb-http-transport-log-volume:/var/log/tb-http-transport
|
||||
tb-mqtt-transport1:
|
||||
volumes:
|
||||
- tb-mqtt-transport-log-volume:/var/log/tb-mqtt-transport
|
||||
tb-mqtt-transport2:
|
||||
volumes:
|
||||
- tb-mqtt-transport-log-volume:/var/log/tb-mqtt-transport
|
||||
tb-snmp-transport:
|
||||
volumes:
|
||||
- tb-snmp-transport-log-volume:/var/log/tb-snmp-transport
|
||||
tb-vc-executor1:
|
||||
volumes:
|
||||
- tb-vc-executor-log-volume:/var/log/tb-vc-executor
|
||||
tb-vc-executor2:
|
||||
volumes:
|
||||
- tb-vc-executor-log-volume:/var/log/tb-vc-executor
|
||||
|
||||
volumes:
|
||||
tb-log-volume:
|
||||
external: true
|
||||
name: ${TB_LOG_VOLUME}
|
||||
tb-coap-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_COAP_TRANSPORT_LOG_VOLUME}
|
||||
tb-lwm2m-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_LWM2M_TRANSPORT_LOG_VOLUME}
|
||||
tb-http-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_HTTP_TRANSPORT_LOG_VOLUME}
|
||||
tb-mqtt-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_MQTT_TRANSPORT_LOG_VOLUME}
|
||||
tb-snmp-transport-log-volume:
|
||||
external: true
|
||||
name: ${TB_SNMP_TRANSPORT_LOG_VOLUME}
|
||||
tb-vc-executor-log-volume:
|
||||
external: true
|
||||
name: ${TB_VC_EXECUTOR_LOG_VOLUME}
|
||||
@ -74,12 +74,17 @@ public class ContainerTestSuite {
|
||||
|
||||
testContainer = new DockerComposeContainerImpl<>(
|
||||
new File(targetDir + "docker-compose.yml"),
|
||||
new File(targetDir + "docker-compose.volumes.yml"),
|
||||
new File(targetDir + "docker-compose.postgres.yml"),
|
||||
new File(targetDir + "docker-compose.postgres.volumes.yml"),
|
||||
new File(targetDir + "docker-compose.kafka.yml"),
|
||||
IS_REDIS_CLUSTER
|
||||
? new File("./../../docker/docker-compose.redis-cluster.yml")
|
||||
: new File("./../../docker/docker-compose.redis.yml"))
|
||||
: new File("./../../docker/docker-compose.redis.yml"),
|
||||
IS_REDIS_CLUSTER
|
||||
? new File("./../../docker/docker-compose.redis-cluster.volumes.yml")
|
||||
: new File("./../../docker/docker-compose.redis.volumes.yml")
|
||||
)
|
||||
.withPull(false)
|
||||
.withLocalCompose(true)
|
||||
.withTailChildContainers(!skipTailChildContainers)
|
||||
|
||||
@ -60,12 +60,17 @@ public class ThingsBoardDbInstaller extends ExternalResource {
|
||||
|
||||
public ThingsBoardDbInstaller() {
|
||||
log.info("System property of blackBoxTests.redisCluster is {}", IS_REDIS_CLUSTER);
|
||||
List<File> composeFiles = Arrays.asList(new File("./../../docker/docker-compose.yml"),
|
||||
List<File> composeFiles = Arrays.asList(
|
||||
new File("./../../docker/docker-compose.yml"),
|
||||
new File("./../../docker/docker-compose.volumes.yml"),
|
||||
new File("./../../docker/docker-compose.postgres.yml"),
|
||||
new File("./../../docker/docker-compose.postgres.volumes.yml"),
|
||||
IS_REDIS_CLUSTER
|
||||
? new File("./../../docker/docker-compose.redis-cluster.yml")
|
||||
: new File("./../../docker/docker-compose.redis.yml")
|
||||
: new File("./../../docker/docker-compose.redis.yml"),
|
||||
IS_REDIS_CLUSTER
|
||||
? new File("./../../docker/docker-compose.redis-cluster.volumes.yml")
|
||||
: new File("./../../docker/docker-compose.redis.volumes.yml")
|
||||
);
|
||||
|
||||
String identifier = Base58.randomString(6).toLowerCase();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user