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
@ -20,69 +20,8 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
volumes:
|
volumes:
|
||||||
- postgres-db-volume:/var/lib/postgresql/data
|
- 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:
|
volumes:
|
||||||
postgres-db-volume:
|
postgres-db-volume:
|
||||||
external: true
|
external: true
|
||||||
name: ${POSTGRES_DATA_VOLUME}
|
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:
|
redis-node-0:
|
||||||
image: bitnami/redis-cluster:7.0
|
image: bitnami/redis-cluster:7.0
|
||||||
volumes:
|
volumes:
|
||||||
- redis-cluster_data-0:/bitnami/redis/data
|
- ./tb-node/redis-cluster-data-0:/bitnami/redis/data
|
||||||
environment:
|
environment:
|
||||||
- 'REDIS_PASSWORD=bitnami'
|
- 'REDIS_PASSWORD=bitnami'
|
||||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
- '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:
|
redis-node-1:
|
||||||
image: bitnami/redis-cluster:7.0
|
image: bitnami/redis-cluster:7.0
|
||||||
volumes:
|
volumes:
|
||||||
- redis-cluster_data-1:/bitnami/redis/data
|
- ./tb-node/redis-cluster-data-1:/bitnami/redis/data
|
||||||
environment:
|
environment:
|
||||||
- 'REDIS_PASSWORD=bitnami'
|
- 'REDIS_PASSWORD=bitnami'
|
||||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
- '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:
|
redis-node-2:
|
||||||
image: bitnami/redis-cluster:7.0
|
image: bitnami/redis-cluster:7.0
|
||||||
volumes:
|
volumes:
|
||||||
- redis-cluster_data-2:/bitnami/redis/data
|
- ./tb-node/redis-cluster-data-2:/bitnami/redis/data
|
||||||
environment:
|
environment:
|
||||||
- 'REDIS_PASSWORD=bitnami'
|
- 'REDIS_PASSWORD=bitnami'
|
||||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
- '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:
|
redis-node-3:
|
||||||
image: bitnami/redis-cluster:7.0
|
image: bitnami/redis-cluster:7.0
|
||||||
volumes:
|
volumes:
|
||||||
- redis-cluster_data-3:/bitnami/redis/data
|
- ./tb-node/redis-cluster-data-3:/bitnami/redis/data
|
||||||
environment:
|
environment:
|
||||||
- 'REDIS_PASSWORD=bitnami'
|
- 'REDIS_PASSWORD=bitnami'
|
||||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
- '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:
|
redis-node-4:
|
||||||
image: bitnami/redis-cluster:7.0
|
image: bitnami/redis-cluster:7.0
|
||||||
volumes:
|
volumes:
|
||||||
- redis-cluster_data-4:/bitnami/redis/data
|
- ./tb-node/redis-cluster-data-4:/bitnami/redis/data
|
||||||
environment:
|
environment:
|
||||||
- 'REDIS_PASSWORD=bitnami'
|
- 'REDIS_PASSWORD=bitnami'
|
||||||
- 'REDIS_NODES=redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5'
|
- '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:
|
redis-node-5:
|
||||||
image: bitnami/redis-cluster:7.0
|
image: bitnami/redis-cluster:7.0
|
||||||
volumes:
|
volumes:
|
||||||
- redis-cluster_data-5:/bitnami/redis/data
|
- ./tb-node/redis-cluster-data-5:/bitnami/redis/data
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis-node-0
|
- redis-node-0
|
||||||
- redis-node-1
|
- redis-node-1
|
||||||
@ -141,22 +141,3 @@ services:
|
|||||||
- cache-redis-cluster.env
|
- cache-redis-cluster.env
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis-node-5
|
- 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:
|
ports:
|
||||||
- '6379:6379'
|
- '6379:6379'
|
||||||
volumes:
|
volumes:
|
||||||
- 'redis_data:/bitnami/redis/data'
|
- ./tb-node/redis-data:/bitnami/redis/data
|
||||||
|
|
||||||
# ThingsBoard setup to use redis-standalone
|
# ThingsBoard setup to use redis-standalone
|
||||||
tb-core1:
|
tb-core1:
|
||||||
@ -95,8 +95,3 @@ services:
|
|||||||
- cache-redis.env
|
- cache-redis.env
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- 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<>(
|
testContainer = new DockerComposeContainerImpl<>(
|
||||||
new File(targetDir + "docker-compose.yml"),
|
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.yml"),
|
||||||
new File(targetDir + "docker-compose.postgres.volumes.yml"),
|
new File(targetDir + "docker-compose.postgres.volumes.yml"),
|
||||||
new File(targetDir + "docker-compose.kafka.yml"),
|
new File(targetDir + "docker-compose.kafka.yml"),
|
||||||
IS_REDIS_CLUSTER
|
IS_REDIS_CLUSTER
|
||||||
? new File("./../../docker/docker-compose.redis-cluster.yml")
|
? 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)
|
.withPull(false)
|
||||||
.withLocalCompose(true)
|
.withLocalCompose(true)
|
||||||
.withTailChildContainers(!skipTailChildContainers)
|
.withTailChildContainers(!skipTailChildContainers)
|
||||||
|
|||||||
@ -60,12 +60,17 @@ public class ThingsBoardDbInstaller extends ExternalResource {
|
|||||||
|
|
||||||
public ThingsBoardDbInstaller() {
|
public ThingsBoardDbInstaller() {
|
||||||
log.info("System property of blackBoxTests.redisCluster is {}", IS_REDIS_CLUSTER);
|
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.yml"),
|
||||||
new File("./../../docker/docker-compose.postgres.volumes.yml"),
|
new File("./../../docker/docker-compose.postgres.volumes.yml"),
|
||||||
IS_REDIS_CLUSTER
|
IS_REDIS_CLUSTER
|
||||||
? new File("./../../docker/docker-compose.redis-cluster.yml")
|
? 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();
|
String identifier = Base58.randomString(6).toLowerCase();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user