added edqs volumes
This commit is contained in:
parent
21bc216b92
commit
b9674cadd1
@ -151,6 +151,7 @@ function permissionList() {
|
|||||||
799 799 tb-transports/coap/log
|
799 799 tb-transports/coap/log
|
||||||
799 799 tb-vc-executor/log
|
799 799 tb-vc-executor/log
|
||||||
999 999 tb-node/postgres
|
999 999 tb-node/postgres
|
||||||
|
799 799 edqs/log
|
||||||
"
|
"
|
||||||
|
|
||||||
source .env
|
source .env
|
||||||
|
|||||||
30
docker/docker-compose.edqs.volumes.yml
Normal file
30
docker/docker-compose.edqs.volumes.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#
|
||||||
|
# Copyright © 2016-2025 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: '3.0'
|
||||||
|
|
||||||
|
services:
|
||||||
|
tb-edqs-1:
|
||||||
|
volumes:
|
||||||
|
- tb-edqs-log-volume:/var/log/edqs
|
||||||
|
tb-edqs-2:
|
||||||
|
volumes:
|
||||||
|
- tb-edqs-log-volume:/var/log/edqs
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
tb-edqs-log-volume:
|
||||||
|
external:
|
||||||
|
name: ${TB_EDQS_LOG_VOLUME}
|
||||||
@ -17,17 +17,35 @@
|
|||||||
version: '3.0'
|
version: '3.0'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
tb-core1:
|
||||||
|
env_file:
|
||||||
|
- tb-node-edqs.env
|
||||||
|
tb-core2:
|
||||||
|
env_file:
|
||||||
|
- tb-node-edqs.env
|
||||||
tb-edqs-1:
|
tb-edqs-1:
|
||||||
restart: always
|
restart: always
|
||||||
image: "${DOCKER_REPO}/${EDQS_DOCKER_NAME}:${TB_VERSION}"
|
image: "${DOCKER_REPO}/${EDQS_DOCKER_NAME}:${TB_VERSION}"
|
||||||
env_file:
|
env_file:
|
||||||
- edqs.env
|
- edqs.env
|
||||||
|
volumes:
|
||||||
|
- ./edqs/conf:/usr/share/edqs/conf
|
||||||
|
- ./edqs/log:/var/log/edqs
|
||||||
|
ports:
|
||||||
|
- "8080"
|
||||||
depends_on:
|
depends_on:
|
||||||
- zookeeper
|
- zookeeper
|
||||||
|
- kafka
|
||||||
tb-edqs-2:
|
tb-edqs-2:
|
||||||
restart: always
|
restart: always
|
||||||
image: "${DOCKER_REPO}/${EDQS_DOCKER_NAME}:${TB_VERSION}"
|
image: "${DOCKER_REPO}/${EDQS_DOCKER_NAME}:${TB_VERSION}"
|
||||||
env_file:
|
env_file:
|
||||||
- edqs.env
|
- edqs.env
|
||||||
|
volumes:
|
||||||
|
- ./edqs/conf:/usr/share/edqs/conf
|
||||||
|
- ./edqs/log:/var/log/edqs
|
||||||
|
ports:
|
||||||
|
- "8080"
|
||||||
depends_on:
|
depends_on:
|
||||||
- zookeeper
|
- zookeeper
|
||||||
|
- kafka
|
||||||
|
|||||||
@ -49,6 +49,8 @@ ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
|
|||||||
|
|
||||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
|
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
|
||||||
|
|
||||||
|
ADDITIONAL_COMPOSE_EDQS_ARGS=$(additionalComposeEdqsArgs) || exit $?
|
||||||
|
|
||||||
ADDITIONAL_STARTUP_SERVICES=$(additionalStartupServices) || exit $?
|
ADDITIONAL_STARTUP_SERVICES=$(additionalStartupServices) || exit $?
|
||||||
|
|
||||||
checkFolders --create || exit $?
|
checkFolders --create || exit $?
|
||||||
@ -56,7 +58,8 @@ checkFolders --create || exit $?
|
|||||||
if [ ! -z "${ADDITIONAL_STARTUP_SERVICES// }" ]; then
|
if [ ! -z "${ADDITIONAL_STARTUP_SERVICES// }" ]; then
|
||||||
|
|
||||||
COMPOSE_ARGS="\
|
COMPOSE_ARGS="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
up -d ${ADDITIONAL_STARTUP_SERVICES}"
|
up -d ${ADDITIONAL_STARTUP_SERVICES}"
|
||||||
|
|
||||||
case $COMPOSE_VERSION in
|
case $COMPOSE_VERSION in
|
||||||
@ -73,7 +76,8 @@ if [ ! -z "${ADDITIONAL_STARTUP_SERVICES// }" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
COMPOSE_ARGS="\
|
COMPOSE_ARGS="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
run --no-deps --rm -e INSTALL_TB=true -e LOAD_DEMO=${loadDemo} \
|
run --no-deps --rm -e INSTALL_TB=true -e LOAD_DEMO=${loadDemo} \
|
||||||
tb-core1"
|
tb-core1"
|
||||||
|
|
||||||
|
|||||||
@ -27,12 +27,16 @@ ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
|
|||||||
|
|
||||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
|
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
|
||||||
|
|
||||||
|
ADDITIONAL_COMPOSE_EDQS_ARGS=$(additionalComposeEdqsArgs) || exit $?
|
||||||
|
|
||||||
COMPOSE_ARGS_PULL="\
|
COMPOSE_ARGS_PULL="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
pull"
|
pull"
|
||||||
|
|
||||||
COMPOSE_ARGS_BUILD="\
|
COMPOSE_ARGS_BUILD="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
up -d --no-deps --build"
|
up -d --no-deps --build"
|
||||||
|
|
||||||
case $COMPOSE_VERSION in
|
case $COMPOSE_VERSION in
|
||||||
|
|||||||
@ -42,21 +42,26 @@ ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
|
|||||||
|
|
||||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
|
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
|
||||||
|
|
||||||
|
ADDITIONAL_COMPOSE_EDQS_ARGS=$(additionalComposeEdqsArgs) || exit $?
|
||||||
|
|
||||||
ADDITIONAL_STARTUP_SERVICES=$(additionalStartupServices) || exit $?
|
ADDITIONAL_STARTUP_SERVICES=$(additionalStartupServices) || exit $?
|
||||||
|
|
||||||
checkFolders --create || exit $?
|
checkFolders --create || exit $?
|
||||||
|
|
||||||
COMPOSE_ARGS_PULL="\
|
COMPOSE_ARGS_PULL="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
pull \
|
pull \
|
||||||
tb-core1"
|
tb-core1"
|
||||||
|
|
||||||
COMPOSE_ARGS_UP="\
|
COMPOSE_ARGS_UP="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
up -d ${ADDITIONAL_STARTUP_SERVICES}"
|
up -d ${ADDITIONAL_STARTUP_SERVICES}"
|
||||||
|
|
||||||
COMPOSE_ARGS_RUN="\
|
COMPOSE_ARGS_RUN="\
|
||||||
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS} \
|
-f docker-compose.yml ${ADDITIONAL_CACHE_ARGS} ${ADDITIONAL_COMPOSE_ARGS} ${ADDITIONAL_COMPOSE_QUEUE_ARGS}
|
||||||
|
${ADDITIONAL_COMPOSE_EDQS_ARGS} \
|
||||||
run --no-deps --rm -e UPGRADE_TB=true -e FROM_VERSION=${fromVersion} \
|
run --no-deps --rm -e UPGRADE_TB=true -e FROM_VERSION=${fromVersion} \
|
||||||
tb-core1"
|
tb-core1"
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
ZOOKEEPER_ENABLED=true
|
ZOOKEEPER_ENABLED=true
|
||||||
ZOOKEEPER_URL=zookeeper:2181
|
ZOOKEEPER_URL=zookeeper:2181
|
||||||
TB_KAFKA_SERVERS=kafka:9092
|
TB_KAFKA_SERVERS=kafka:9092
|
||||||
|
HTTP_BIND_PORT=8080
|
||||||
|
|
||||||
METRICS_ENABLED=true
|
METRICS_ENABLED=true
|
||||||
METRICS_ENDPOINTS_EXPOSE=prometheus
|
METRICS_ENDPOINTS_EXPOSE=prometheus
|
||||||
|
|||||||
22
docker/edqs/conf/edqs.conf
Normal file
22
docker/edqs/conf/edqs.conf
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright © 2016-2025 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Xlog:gc*,heap*,age*,safepoint=debug:file=/var/log/edqs/${TB_SERVICE_ID}-gc.log:time,uptime,level,tags:filecount=10,filesize=10M"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:MaxTenuringThreshold=10"
|
||||||
|
export LOG_FILENAME=tb-edqs.out
|
||||||
|
export LOADER_PATH=/usr/share/edqs/conf
|
||||||
52
docker/edqs/conf/logback.xml
Normal file
52
docker/edqs/conf/logback.xml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Copyright © 2016-2025 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.
|
||||||
|
|
||||||
|
-->
|
||||||
|
<!DOCTYPE configuration>
|
||||||
|
<configuration scan="true" scanPeriod="10 seconds">
|
||||||
|
|
||||||
|
<appender name="fileLogAppender"
|
||||||
|
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<file>/var/log/edqs/${TB_SERVICE_ID}/tb-edqs.log</file>
|
||||||
|
<rollingPolicy
|
||||||
|
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
|
<fileNamePattern>/var/log/edqs/tb-edqs.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||||
|
<maxFileSize>100MB</maxFileSize>
|
||||||
|
<maxHistory>30</maxHistory>
|
||||||
|
<totalSizeCap>3GB</totalSizeCap>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{ISO8601} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{ISO8601} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<logger name="org.thingsboard.server" level="INFO" />
|
||||||
|
<logger name="org.thingsboard.server.edqs" level="TRACE" />
|
||||||
|
<logger name="org.apache.kafka.clients" level="WARN"/>
|
||||||
|
|
||||||
|
<root level="INFO">
|
||||||
|
<appender-ref ref="fileLogAppender"/>
|
||||||
|
<appender-ref ref="STDOUT"/>
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
4
docker/tb-node-edqs.env
Normal file
4
docker/tb-node-edqs.env
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# ThingsBoard server configuration with enabled EDQS synchronization
|
||||||
|
|
||||||
|
TB_EDQS_SYNC_ENABLED=true
|
||||||
|
TB_EDQS_API_ENABLED=true
|
||||||
@ -4,10 +4,9 @@ ZOOKEEPER_ENABLED=true
|
|||||||
ZOOKEEPER_URL=zookeeper:2181
|
ZOOKEEPER_URL=zookeeper:2181
|
||||||
JS_EVALUATOR=remote
|
JS_EVALUATOR=remote
|
||||||
TRANSPORT_TYPE=remote
|
TRANSPORT_TYPE=remote
|
||||||
|
TB_EDQS_MODE=remote
|
||||||
|
|
||||||
HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE=false
|
HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE=false
|
||||||
|
|
||||||
METRICS_ENABLED=true
|
METRICS_ENABLED=true
|
||||||
METRICS_ENDPOINTS_EXPOSE=prometheus
|
METRICS_ENDPOINTS_EXPOSE=prometheus
|
||||||
|
|
||||||
TB_EDQS_MODE=remote
|
|
||||||
@ -51,6 +51,7 @@ public class ContainerTestSuite {
|
|||||||
private static final String TB_CORE_LOG_REGEXP = ".*Starting polling for events.*";
|
private static final String TB_CORE_LOG_REGEXP = ".*Starting polling for events.*";
|
||||||
private static final String TRANSPORTS_LOG_REGEXP = ".*Going to recalculate partitions.*";
|
private static final String TRANSPORTS_LOG_REGEXP = ".*Going to recalculate partitions.*";
|
||||||
private static final String TB_VC_LOG_REGEXP = TRANSPORTS_LOG_REGEXP;
|
private static final String TB_VC_LOG_REGEXP = TRANSPORTS_LOG_REGEXP;
|
||||||
|
private static final String TB_EDQS_LOG_REGEXP = ".*All partitions processed.*";
|
||||||
private static final String TB_JS_EXECUTOR_LOG_REGEXP = ".*template started.*";
|
private static final String TB_JS_EXECUTOR_LOG_REGEXP = ".*template started.*";
|
||||||
private static final Duration CONTAINER_STARTUP_TIMEOUT = Duration.ofSeconds(400);
|
private static final Duration CONTAINER_STARTUP_TIMEOUT = Duration.ofSeconds(400);
|
||||||
|
|
||||||
@ -115,6 +116,7 @@ public class ContainerTestSuite {
|
|||||||
List<File> composeFiles = new ArrayList<>(Arrays.asList(
|
List<File> composeFiles = new ArrayList<>(Arrays.asList(
|
||||||
new File(targetDir + "docker-compose.yml"),
|
new File(targetDir + "docker-compose.yml"),
|
||||||
new File(targetDir + "docker-compose.edqs.yml"),
|
new File(targetDir + "docker-compose.edqs.yml"),
|
||||||
|
new File(targetDir + "docker-compose.edqs.volumes.yml"),
|
||||||
new File(targetDir + "docker-compose.volumes.yml"),
|
new File(targetDir + "docker-compose.volumes.yml"),
|
||||||
new File(targetDir + "docker-compose.mosquitto.yml"),
|
new File(targetDir + "docker-compose.mosquitto.yml"),
|
||||||
new File(targetDir + (IS_HYBRID_MODE ? "docker-compose.hybrid.yml" : "docker-compose.postgres.yml")),
|
new File(targetDir + (IS_HYBRID_MODE ? "docker-compose.hybrid.yml" : "docker-compose.postgres.yml")),
|
||||||
@ -163,11 +165,6 @@ public class ContainerTestSuite {
|
|||||||
composeFiles.add(new File(targetDir + "docker-compose.cassandra.volumes.yml"));
|
composeFiles.add(new File(targetDir + "docker-compose.cassandra.volumes.yml"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// to trigger edqs synchronization
|
|
||||||
addToFile(targetDir, "tb-node.env",
|
|
||||||
Map.of("TB_EDQS_SYNC_ENABLED", "true",
|
|
||||||
"TB_EDQS_API_ENABLED", "true"));
|
|
||||||
|
|
||||||
testContainer = new DockerComposeContainerImpl<>(composeFiles)
|
testContainer = new DockerComposeContainerImpl<>(composeFiles)
|
||||||
.withPull(false)
|
.withPull(false)
|
||||||
.withLocalCompose(true)
|
.withLocalCompose(true)
|
||||||
@ -189,8 +186,8 @@ public class ContainerTestSuite {
|
|||||||
.waitingFor("tb-vc-executor1", Wait.forLogMessage(TB_VC_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
.waitingFor("tb-vc-executor1", Wait.forLogMessage(TB_VC_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
||||||
.waitingFor("tb-vc-executor2", Wait.forLogMessage(TB_VC_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
.waitingFor("tb-vc-executor2", Wait.forLogMessage(TB_VC_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
||||||
.waitingFor("tb-js-executor", Wait.forLogMessage(TB_JS_EXECUTOR_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
.waitingFor("tb-js-executor", Wait.forLogMessage(TB_JS_EXECUTOR_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
||||||
.waitingFor("tb-edqs-1", Wait.forHttp("/api/edqs/ready").withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
.waitingFor("tb-edqs-1", Wait.forLogMessage(TB_EDQS_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT))
|
||||||
.waitingFor("tb-edqs-2", Wait.forHttp("/api/edqs/ready").withStartupTimeout(CONTAINER_STARTUP_TIMEOUT));
|
.waitingFor("tb-edqs-2", Wait.forLogMessage(TB_EDQS_LOG_REGEXP, 1).withStartupTimeout(CONTAINER_STARTUP_TIMEOUT));
|
||||||
testContainer.start();
|
testContainer.start();
|
||||||
setActive(true);
|
setActive(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@ -48,6 +48,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
private final static String TB_MQTT_TRANSPORT_LOG_VOLUME = "tb-mqtt-transport-log-test-volume";
|
private final static String TB_MQTT_TRANSPORT_LOG_VOLUME = "tb-mqtt-transport-log-test-volume";
|
||||||
private final static String TB_SNMP_TRANSPORT_LOG_VOLUME = "tb-snmp-transport-log-test-volume";
|
private final static String TB_SNMP_TRANSPORT_LOG_VOLUME = "tb-snmp-transport-log-test-volume";
|
||||||
private final static String TB_VC_EXECUTOR_LOG_VOLUME = "tb-vc-executor-log-test-volume";
|
private final static String TB_VC_EXECUTOR_LOG_VOLUME = "tb-vc-executor-log-test-volume";
|
||||||
|
private final static String TB_EDQS_LOG_VOLUME = "tb-edqs-log-test-volume";
|
||||||
private final static String JAVA_OPTS = "-Xmx512m";
|
private final static String JAVA_OPTS = "-Xmx512m";
|
||||||
|
|
||||||
private final DockerComposeExecutor dockerCompose;
|
private final DockerComposeExecutor dockerCompose;
|
||||||
@ -65,6 +66,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
private final String tbMqttTransportLogVolume;
|
private final String tbMqttTransportLogVolume;
|
||||||
private final String tbSnmpTransportLogVolume;
|
private final String tbSnmpTransportLogVolume;
|
||||||
private final String tbVcExecutorLogVolume;
|
private final String tbVcExecutorLogVolume;
|
||||||
|
private final String tbEdqsLogVolume;
|
||||||
private final Map<String, String> env;
|
private final Map<String, String> env;
|
||||||
|
|
||||||
public ThingsBoardDbInstaller() {
|
public ThingsBoardDbInstaller() {
|
||||||
@ -103,6 +105,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
tbMqttTransportLogVolume = project + "_" + TB_MQTT_TRANSPORT_LOG_VOLUME;
|
tbMqttTransportLogVolume = project + "_" + TB_MQTT_TRANSPORT_LOG_VOLUME;
|
||||||
tbSnmpTransportLogVolume = project + "_" + TB_SNMP_TRANSPORT_LOG_VOLUME;
|
tbSnmpTransportLogVolume = project + "_" + TB_SNMP_TRANSPORT_LOG_VOLUME;
|
||||||
tbVcExecutorLogVolume = project + "_" + TB_VC_EXECUTOR_LOG_VOLUME;
|
tbVcExecutorLogVolume = project + "_" + TB_VC_EXECUTOR_LOG_VOLUME;
|
||||||
|
tbEdqsLogVolume = project + "_" + TB_EDQS_LOG_VOLUME;
|
||||||
|
|
||||||
dockerCompose = new DockerComposeExecutor(composeFiles, project);
|
dockerCompose = new DockerComposeExecutor(composeFiles, project);
|
||||||
|
|
||||||
@ -119,6 +122,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
env.put("TB_MQTT_TRANSPORT_LOG_VOLUME", tbMqttTransportLogVolume);
|
env.put("TB_MQTT_TRANSPORT_LOG_VOLUME", tbMqttTransportLogVolume);
|
||||||
env.put("TB_SNMP_TRANSPORT_LOG_VOLUME", tbSnmpTransportLogVolume);
|
env.put("TB_SNMP_TRANSPORT_LOG_VOLUME", tbSnmpTransportLogVolume);
|
||||||
env.put("TB_VC_EXECUTOR_LOG_VOLUME", tbVcExecutorLogVolume);
|
env.put("TB_VC_EXECUTOR_LOG_VOLUME", tbVcExecutorLogVolume);
|
||||||
|
env.put("TB_EDQS_LOG_VOLUME", tbEdqsLogVolume);
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_REDIS_CLUSTER) {
|
||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < 6; i++) {
|
||||||
env.put("REDIS_CLUSTER_DATA_VOLUME_" + i, redisClusterDataVolume + '-' + i);
|
env.put("REDIS_CLUSTER_DATA_VOLUME_" + i, redisClusterDataVolume + '-' + i);
|
||||||
@ -189,6 +193,9 @@ public class ThingsBoardDbInstaller {
|
|||||||
dockerCompose.withCommand("volume create " + tbVcExecutorLogVolume);
|
dockerCompose.withCommand("volume create " + tbVcExecutorLogVolume);
|
||||||
dockerCompose.invokeDocker();
|
dockerCompose.invokeDocker();
|
||||||
|
|
||||||
|
dockerCompose.withCommand("volume create " + tbEdqsLogVolume);
|
||||||
|
dockerCompose.invokeDocker();
|
||||||
|
|
||||||
StringBuilder additionalServices = new StringBuilder();
|
StringBuilder additionalServices = new StringBuilder();
|
||||||
if (IS_HYBRID_MODE) {
|
if (IS_HYBRID_MODE) {
|
||||||
additionalServices.append(" cassandra");
|
additionalServices.append(" cassandra");
|
||||||
@ -241,6 +248,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
copyLogs(tbMqttTransportLogVolume, "./target/tb-mqtt-transport-logs/");
|
copyLogs(tbMqttTransportLogVolume, "./target/tb-mqtt-transport-logs/");
|
||||||
copyLogs(tbSnmpTransportLogVolume, "./target/tb-snmp-transport-logs/");
|
copyLogs(tbSnmpTransportLogVolume, "./target/tb-snmp-transport-logs/");
|
||||||
copyLogs(tbVcExecutorLogVolume, "./target/tb-vc-executor-logs/");
|
copyLogs(tbVcExecutorLogVolume, "./target/tb-vc-executor-logs/");
|
||||||
|
copyLogs(tbEdqsLogVolume, "./target/tb-edqs-logs/");
|
||||||
|
|
||||||
StringJoiner rmVolumesCommand = new StringJoiner(" ")
|
StringJoiner rmVolumesCommand = new StringJoiner(" ")
|
||||||
.add("volume rm -f")
|
.add("volume rm -f")
|
||||||
@ -252,6 +260,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
.add(tbMqttTransportLogVolume)
|
.add(tbMqttTransportLogVolume)
|
||||||
.add(tbSnmpTransportLogVolume)
|
.add(tbSnmpTransportLogVolume)
|
||||||
.add(tbVcExecutorLogVolume)
|
.add(tbVcExecutorLogVolume)
|
||||||
|
.add(tbEdqsLogVolume)
|
||||||
.add(resolveRedisComposeVolumeLog());
|
.add(resolveRedisComposeVolumeLog());
|
||||||
|
|
||||||
if (IS_HYBRID_MODE) {
|
if (IS_HYBRID_MODE) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user