Commit e4eb3358815e1c45d314c328726181d819766fcb

Authored by Igor Kulikov
1 parent 7563e030

Add external config and log volumes for transport microservices.

@@ -4,4 +4,5 @@ tb-node/log/** @@ -4,4 +4,5 @@ tb-node/log/**
4 tb-node/db/** 4 tb-node/db/**
5 tb-node/postgres/** 5 tb-node/postgres/**
6 tb-node/cassandra/** 6 tb-node/cassandra/**
  7 +tb-transports/*/log
7 !.env 8 !.env
@@ -26,6 +26,21 @@ services: @@ -26,6 +26,21 @@ services:
26 tb2: 26 tb2:
27 volumes: 27 volumes:
28 - tb-log-volume:/var/log/thingsboard 28 - tb-log-volume:/var/log/thingsboard
  29 + tb-coap-transport:
  30 + volumes:
  31 + - tb-coap-transport-log-volume:/var/log/tb-coap-transport
  32 + tb-http-transport1:
  33 + volumes:
  34 + - tb-http-transport-log-volume:/var/log/tb-http-transport
  35 + tb-http-transport2:
  36 + volumes:
  37 + - tb-http-transport-log-volume:/var/log/tb-http-transport
  38 + tb-mqtt-transport1:
  39 + volumes:
  40 + - tb-mqtt-transport-log-volume:/var/log/tb-mqtt-transport
  41 + tb-mqtt-transport2:
  42 + volumes:
  43 + - tb-mqtt-transport-log-volume:/var/log/tb-mqtt-transport
29 44
30 volumes: 45 volumes:
31 postgres-db-volume: 46 postgres-db-volume:
@@ -34,3 +49,12 @@ volumes: @@ -34,3 +49,12 @@ volumes:
34 tb-log-volume: 49 tb-log-volume:
35 external: true 50 external: true
36 name: ${TB_LOG_VOLUME} 51 name: ${TB_LOG_VOLUME}
  52 + tb-coap-transport-log-volume:
  53 + external: true
  54 + name: ${TB_COAP_TRANSPORT_LOG_VOLUME}
  55 + tb-http-transport-log-volume:
  56 + external: true
  57 + name: ${TB_HTTP_TRANSPORT_LOG_VOLUME}
  58 + tb-mqtt-transport-log-volume:
  59 + external: true
  60 + name: ${TB_MQTT_TRANSPORT_LOG_VOLUME}
@@ -91,8 +91,13 @@ services: @@ -91,8 +91,13 @@ services:
91 image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}" 91 image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
92 ports: 92 ports:
93 - "1883" 93 - "1883"
  94 + environment:
  95 + TB_HOST: tb-mqtt-transport1
94 env_file: 96 env_file:
95 - tb-mqtt-transport.env 97 - tb-mqtt-transport.env
  98 + volumes:
  99 + - ./tb-transports/mqtt/conf:/config
  100 + - ./tb-transports/mqtt/log:/var/log/tb-mqtt-transport
96 depends_on: 101 depends_on:
97 - kafka 102 - kafka
98 tb-mqtt-transport2: 103 tb-mqtt-transport2:
@@ -100,8 +105,13 @@ services: @@ -100,8 +105,13 @@ services:
100 image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}" 105 image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
101 ports: 106 ports:
102 - "1883" 107 - "1883"
  108 + environment:
  109 + TB_HOST: tb-mqtt-transport2
103 env_file: 110 env_file:
104 - tb-mqtt-transport.env 111 - tb-mqtt-transport.env
  112 + volumes:
  113 + - ./tb-transports/mqtt/conf:/config
  114 + - ./tb-transports/mqtt/log:/var/log/tb-mqtt-transport
105 depends_on: 115 depends_on:
106 - kafka 116 - kafka
107 tb-http-transport1: 117 tb-http-transport1:
@@ -109,8 +119,13 @@ services: @@ -109,8 +119,13 @@ services:
109 image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}" 119 image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
110 ports: 120 ports:
111 - "8081" 121 - "8081"
  122 + environment:
  123 + TB_HOST: tb-http-transport1
112 env_file: 124 env_file:
113 - tb-http-transport.env 125 - tb-http-transport.env
  126 + volumes:
  127 + - ./tb-transports/http/conf:/config
  128 + - ./tb-transports/http/log:/var/log/tb-http-transport
114 depends_on: 129 depends_on:
115 - kafka 130 - kafka
116 tb-http-transport2: 131 tb-http-transport2:
@@ -118,8 +133,13 @@ services: @@ -118,8 +133,13 @@ services:
118 image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}" 133 image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
119 ports: 134 ports:
120 - "8081" 135 - "8081"
  136 + environment:
  137 + TB_HOST: tb-http-transport2
121 env_file: 138 env_file:
122 - tb-http-transport.env 139 - tb-http-transport.env
  140 + volumes:
  141 + - ./tb-transports/http/conf:/config
  142 + - ./tb-transports/http/log:/var/log/tb-http-transport
123 depends_on: 143 depends_on:
124 - kafka 144 - kafka
125 tb-coap-transport: 145 tb-coap-transport:
@@ -127,8 +147,13 @@ services: @@ -127,8 +147,13 @@ services:
127 image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}" 147 image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
128 ports: 148 ports:
129 - "5683:5683/udp" 149 - "5683:5683/udp"
  150 + environment:
  151 + TB_HOST: tb-coap-transport
130 env_file: 152 env_file:
131 - tb-coap-transport.env 153 - tb-coap-transport.env
  154 + volumes:
  155 + - ./tb-transports/coap/conf:/config
  156 + - ./tb-transports/coap/log:/var/log/tb-coap-transport
132 depends_on: 157 depends_on:
133 - kafka 158 - kafka
134 tb-web-ui1: 159 tb-web-ui1:
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 # 15 #
16 16
17 export JAVA_OPTS="$JAVA_OPTS -Dplatform=deb -Dinstall.data_dir=/usr/share/thingsboard/data" 17 export JAVA_OPTS="$JAVA_OPTS -Dplatform=deb -Dinstall.data_dir=/usr/share/thingsboard/data"
18 -export JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/thingsboard/${TB_HOST}/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps" 18 +export JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/thingsboard/${TB_HOST}/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/thingsboard/${TB_HOST}/heapdump.bin -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
19 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10" 19 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10"
20 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark" 20 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
21 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled" 21 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled"
docker/tb-transports/coap/conf/logback.xml renamed from msa/transport/coap/docker/logback.xml
@@ -21,10 +21,10 @@ @@ -21,10 +21,10 @@
21 21
22 <appender name="fileLogAppender" 22 <appender name="fileLogAppender"
23 class="ch.qos.logback.core.rolling.RollingFileAppender"> 23 class="ch.qos.logback.core.rolling.RollingFileAppender">
24 - <file>/var/log/${pkg.name}/${pkg.name}.log</file> 24 + <file>/var/log/tb-coap-transport/${TB_HOST}/tb-coap-transport.log</file>
25 <rollingPolicy 25 <rollingPolicy
26 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 26 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
27 - <fileNamePattern>/var/log/${pkg.name}/${pkg.name}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 27 + <fileNamePattern>/var/log/tb-coap-transport/${TB_HOST}/tb-coap-transport.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
28 <maxFileSize>100MB</maxFileSize> 28 <maxFileSize>100MB</maxFileSize>
29 <maxHistory>30</maxHistory> 29 <maxHistory>30</maxHistory>
30 <totalSizeCap>3GB</totalSizeCap> 30 <totalSizeCap>3GB</totalSizeCap>
docker/tb-transports/coap/conf/tb-coap-transport.conf renamed from msa/transport/coap/docker/tb-coap-transport.conf
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 # limitations under the License. 14 # limitations under the License.
15 # 15 #
16 16
17 -export JAVA_OPTS="$JAVA_OPTS -Xloggc:@pkg.logFolder@/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps" 17 +export JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/tb-coap-transport/${TB_HOST}/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/tb-coap-transport/${TB_HOST}/heapdump.bin -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
18 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10" 18 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10"
19 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark" 19 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
20 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled" 20 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled"
21 export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExitOnOutOfMemoryError" 21 export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExitOnOutOfMemoryError"
22 -export LOG_FILENAME=${pkg.name}.out  
23 -export LOADER_PATH=${pkg.installFolder}/conf 22 +export LOG_FILENAME=tb-coap-transport.out
  23 +export LOADER_PATH=/usr/share/tb-coap-transport/conf
docker/tb-transports/http/conf/logback.xml renamed from msa/transport/http/docker/logback.xml
@@ -21,10 +21,10 @@ @@ -21,10 +21,10 @@
21 21
22 <appender name="fileLogAppender" 22 <appender name="fileLogAppender"
23 class="ch.qos.logback.core.rolling.RollingFileAppender"> 23 class="ch.qos.logback.core.rolling.RollingFileAppender">
24 - <file>/var/log/${pkg.name}/${pkg.name}.log</file> 24 + <file>/var/log/tb-http-transport/${TB_HOST}/tb-http-transport.log</file>
25 <rollingPolicy 25 <rollingPolicy
26 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 26 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
27 - <fileNamePattern>/var/log/${pkg.name}/${pkg.name}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 27 + <fileNamePattern>/var/log/tb-http-transport/${TB_HOST}/tb-http-transport.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
28 <maxFileSize>100MB</maxFileSize> 28 <maxFileSize>100MB</maxFileSize>
29 <maxHistory>30</maxHistory> 29 <maxHistory>30</maxHistory>
30 <totalSizeCap>3GB</totalSizeCap> 30 <totalSizeCap>3GB</totalSizeCap>
docker/tb-transports/http/conf/tb-http-transport.conf renamed from msa/transport/http/docker/tb-http-transport.conf
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 # limitations under the License. 14 # limitations under the License.
15 # 15 #
16 16
17 -export JAVA_OPTS="$JAVA_OPTS -Xloggc:@pkg.logFolder@/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps" 17 +export JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/tb-http-transport/${TB_HOST}/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/tb-http-transport/${TB_HOST}/heapdump.bin -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
18 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10" 18 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10"
19 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark" 19 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
20 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled" 20 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled"
21 export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExitOnOutOfMemoryError" 21 export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExitOnOutOfMemoryError"
22 -export LOG_FILENAME=${pkg.name}.out  
23 -export LOADER_PATH=${pkg.installFolder}/conf 22 +export LOG_FILENAME=tb-http-transport.out
  23 +export LOADER_PATH=/usr/share/tb-http-transport/conf
docker/tb-transports/mqtt/conf/logback.xml renamed from msa/transport/mqtt/docker/logback.xml
@@ -21,10 +21,10 @@ @@ -21,10 +21,10 @@
21 21
22 <appender name="fileLogAppender" 22 <appender name="fileLogAppender"
23 class="ch.qos.logback.core.rolling.RollingFileAppender"> 23 class="ch.qos.logback.core.rolling.RollingFileAppender">
24 - <file>/var/log/${pkg.name}/${pkg.name}.log</file> 24 + <file>/var/log/tb-mqtt-transport/${TB_HOST}/tb-mqtt-transport.log</file>
25 <rollingPolicy 25 <rollingPolicy
26 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 26 class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
27 - <fileNamePattern>/var/log/${pkg.name}/${pkg.name}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 27 + <fileNamePattern>/var/log/tb-mqtt-transport/${TB_HOST}/tb-mqtt-transport.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
28 <maxFileSize>100MB</maxFileSize> 28 <maxFileSize>100MB</maxFileSize>
29 <maxHistory>30</maxHistory> 29 <maxHistory>30</maxHistory>
30 <totalSizeCap>3GB</totalSizeCap> 30 <totalSizeCap>3GB</totalSizeCap>
docker/tb-transports/mqtt/conf/tb-mqtt-transport.conf renamed from msa/transport/mqtt/docker/tb-mqtt-transport.conf
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 # limitations under the License. 14 # limitations under the License.
15 # 15 #
16 16
17 -export JAVA_OPTS="$JAVA_OPTS -Xloggc:@pkg.logFolder@/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps" 17 +export JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/tb-mqtt-transport/${TB_HOST}/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/tb-mqtt-transport/${TB_HOST}/heapdump.bin -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
18 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10" 18 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10"
19 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark" 19 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
20 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled" 20 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled"
21 export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExitOnOutOfMemoryError" 21 export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExitOnOutOfMemoryError"
22 -export LOG_FILENAME=${pkg.name}.out  
23 -export LOADER_PATH=${pkg.installFolder}/conf 22 +export LOG_FILENAME=tb-mqtt-transport.out
  23 +export LOADER_PATH=/usr/share/tb-mqtt-transport/conf
@@ -49,8 +49,7 @@ public class ContainerTestSuite { @@ -49,8 +49,7 @@ public class ContainerTestSuite {
49 .withPull(false) 49 .withPull(false)
50 .withLocalCompose(true) 50 .withLocalCompose(true)
51 .withTailChildContainers(true) 51 .withTailChildContainers(true)
52 - .withEnv("POSTGRES_DATA_VOLUME", installTb.getPostgresDataVolume())  
53 - .withEnv("TB_LOG_VOLUME", installTb.getTbLogVolume()) 52 + .withEnv(installTb.getEnv())
54 .withEnv("LOAD_BALANCER_NAME", "") 53 .withEnv("LOAD_BALANCER_NAME", "")
55 .withExposedService("haproxy", 80, Wait.forHttp("/swagger-ui.html").withStartupTimeout(Duration.ofSeconds(120))); 54 .withExposedService("haproxy", 80, Wait.forHttp("/swagger-ui.html").withStartupTimeout(Duration.ofSeconds(120)));
56 } 55 }
@@ -28,11 +28,18 @@ public class ThingsBoardDbInstaller extends ExternalResource { @@ -28,11 +28,18 @@ public class ThingsBoardDbInstaller extends ExternalResource {
28 28
29 private final static String POSTGRES_DATA_VOLUME = "tb-postgres-test-data-volume"; 29 private final static String POSTGRES_DATA_VOLUME = "tb-postgres-test-data-volume";
30 private final static String TB_LOG_VOLUME = "tb-log-test-volume"; 30 private final static String TB_LOG_VOLUME = "tb-log-test-volume";
  31 + private final static String TB_COAP_TRANSPORT_LOG_VOLUME = "tb-coap-transport-log-test-volume";
  32 + private final static String TB_HTTP_TRANSPORT_LOG_VOLUME = "tb-http-transport-log-test-volume";
  33 + private final static String TB_MQTT_TRANSPORT_LOG_VOLUME = "tb-mqtt-transport-log-test-volume";
31 34
32 private final DockerComposeExecutor dockerCompose; 35 private final DockerComposeExecutor dockerCompose;
33 36
34 private final String postgresDataVolume; 37 private final String postgresDataVolume;
35 private final String tbLogVolume; 38 private final String tbLogVolume;
  39 + private final String tbCoapTransportLogVolume;
  40 + private final String tbHttpTransportLogVolume;
  41 + private final String tbMqttTransportLogVolume;
  42 + private final Map<String, String> env;
36 43
37 public ThingsBoardDbInstaller() { 44 public ThingsBoardDbInstaller() {
38 List<File> composeFiles = Arrays.asList(new File("./../../docker/docker-compose.yml"), 45 List<File> composeFiles = Arrays.asList(new File("./../../docker/docker-compose.yml"),
@@ -44,21 +51,23 @@ public class ThingsBoardDbInstaller extends ExternalResource { @@ -44,21 +51,23 @@ public class ThingsBoardDbInstaller extends ExternalResource {
44 51
45 postgresDataVolume = project + "_" + POSTGRES_DATA_VOLUME; 52 postgresDataVolume = project + "_" + POSTGRES_DATA_VOLUME;
46 tbLogVolume = project + "_" + TB_LOG_VOLUME; 53 tbLogVolume = project + "_" + TB_LOG_VOLUME;
  54 + tbCoapTransportLogVolume = project + "_" + TB_COAP_TRANSPORT_LOG_VOLUME;
  55 + tbHttpTransportLogVolume = project + "_" + TB_HTTP_TRANSPORT_LOG_VOLUME;
  56 + tbMqttTransportLogVolume = project + "_" + TB_MQTT_TRANSPORT_LOG_VOLUME;
47 57
48 dockerCompose = new DockerComposeExecutor(composeFiles, project); 58 dockerCompose = new DockerComposeExecutor(composeFiles, project);
49 59
50 - Map<String, String> env = new HashMap<>(); 60 + env = new HashMap<>();
51 env.put("POSTGRES_DATA_VOLUME", postgresDataVolume); 61 env.put("POSTGRES_DATA_VOLUME", postgresDataVolume);
52 env.put("TB_LOG_VOLUME", tbLogVolume); 62 env.put("TB_LOG_VOLUME", tbLogVolume);
  63 + env.put("TB_COAP_TRANSPORT_LOG_VOLUME", tbCoapTransportLogVolume);
  64 + env.put("TB_HTTP_TRANSPORT_LOG_VOLUME", tbHttpTransportLogVolume);
  65 + env.put("TB_MQTT_TRANSPORT_LOG_VOLUME", tbMqttTransportLogVolume);
53 dockerCompose.withEnv(env); 66 dockerCompose.withEnv(env);
54 } 67 }
55 68
56 - public String getPostgresDataVolume() {  
57 - return postgresDataVolume;  
58 - }  
59 -  
60 - public String getTbLogVolume() {  
61 - return tbLogVolume; 69 + public Map<String, String> getEnv() {
  70 + return env;
62 } 71 }
63 72
64 @Override 73 @Override
@@ -71,6 +80,15 @@ public class ThingsBoardDbInstaller extends ExternalResource { @@ -71,6 +80,15 @@ public class ThingsBoardDbInstaller extends ExternalResource {
71 dockerCompose.withCommand("volume create " + tbLogVolume); 80 dockerCompose.withCommand("volume create " + tbLogVolume);
72 dockerCompose.invokeDocker(); 81 dockerCompose.invokeDocker();
73 82
  83 + dockerCompose.withCommand("volume create " + tbCoapTransportLogVolume);
  84 + dockerCompose.invokeDocker();
  85 +
  86 + dockerCompose.withCommand("volume create " + tbHttpTransportLogVolume);
  87 + dockerCompose.invokeDocker();
  88 +
  89 + dockerCompose.withCommand("volume create " + tbMqttTransportLogVolume);
  90 + dockerCompose.invokeDocker();
  91 +
74 dockerCompose.withCommand("up -d redis postgres"); 92 dockerCompose.withCommand("up -d redis postgres");
75 dockerCompose.invokeCompose(); 93 dockerCompose.invokeCompose();
76 94
@@ -88,8 +106,12 @@ public class ThingsBoardDbInstaller extends ExternalResource { @@ -88,8 +106,12 @@ public class ThingsBoardDbInstaller extends ExternalResource {
88 @Override 106 @Override
89 protected void after() { 107 protected void after() {
90 copyLogs(tbLogVolume, "./target/tb-logs/"); 108 copyLogs(tbLogVolume, "./target/tb-logs/");
  109 + copyLogs(tbCoapTransportLogVolume, "./target/tb-coap-transport-logs/");
  110 + copyLogs(tbHttpTransportLogVolume, "./target/tb-http-transport-logs/");
  111 + copyLogs(tbMqttTransportLogVolume, "./target/tb-mqtt-transport-logs/");
91 112
92 - dockerCompose.withCommand("volume rm -f " + postgresDataVolume + " " + tbLogVolume); 113 + dockerCompose.withCommand("volume rm -f " + postgresDataVolume + " " + tbLogVolume +
  114 + " " + tbCoapTransportLogVolume + " " + tbHttpTransportLogVolume + " " + tbMqttTransportLogVolume);
93 dockerCompose.invokeDocker(); 115 dockerCompose.invokeDocker();
94 } 116 }
95 117
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 16
17 FROM openjdk:8-jdk 17 FROM openjdk:8-jdk
18 18
19 -COPY logback.xml ${pkg.name}.conf start-tb-coap-transport.sh ${pkg.name}.deb /tmp/ 19 +COPY start-tb-coap-transport.sh ${pkg.name}.deb /tmp/
20 20
21 RUN chmod a+x /tmp/*.sh \ 21 RUN chmod a+x /tmp/*.sh \
22 && mv /tmp/start-tb-coap-transport.sh /usr/bin 22 && mv /tmp/start-tb-coap-transport.sh /usr/bin
@@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
28 -RUN mv /tmp/logback.xml ${pkg.installFolder}/conf \  
29 - && mv /tmp/${pkg.name}.conf ${pkg.installFolder}/conf  
30 -  
31 CMD ["start-tb-coap-transport.sh"] 28 CMD ["start-tb-coap-transport.sh"]
@@ -15,15 +15,17 @@ @@ -15,15 +15,17 @@
15 # limitations under the License. 15 # limitations under the License.
16 # 16 #
17 17
18 -CONF_FOLDER="${pkg.installFolder}/conf" 18 +CONF_FOLDER="/config"
19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar 19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
20 configfile=${pkg.name}.conf 20 configfile=${pkg.name}.conf
21 21
22 source "${CONF_FOLDER}/${configfile}" 22 source "${CONF_FOLDER}/${configfile}"
23 23
  24 +export LOADER_PATH=/config,${LOADER_PATH}
  25 +
24 echo "Starting '${project.name}' ..." 26 echo "Starting '${project.name}' ..."
25 27
26 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \ 28 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \
27 -Dspring.jpa.hibernate.ddl-auto=none \ 29 -Dspring.jpa.hibernate.ddl-auto=none \
28 - -Dlogging.config=${CONF_FOLDER}/logback.xml \ 30 + -Dlogging.config=/config/logback.xml \
29 org.springframework.boot.loader.PropertiesLauncher 31 org.springframework.boot.loader.PropertiesLauncher
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 16
17 FROM openjdk:8-jdk 17 FROM openjdk:8-jdk
18 18
19 -COPY logback.xml ${pkg.name}.conf start-tb-http-transport.sh ${pkg.name}.deb /tmp/ 19 +COPY start-tb-http-transport.sh ${pkg.name}.deb /tmp/
20 20
21 RUN chmod a+x /tmp/*.sh \ 21 RUN chmod a+x /tmp/*.sh \
22 && mv /tmp/start-tb-http-transport.sh /usr/bin 22 && mv /tmp/start-tb-http-transport.sh /usr/bin
@@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
28 -RUN mv /tmp/logback.xml ${pkg.installFolder}/conf \  
29 - && mv /tmp/${pkg.name}.conf ${pkg.installFolder}/conf  
30 -  
31 CMD ["start-tb-http-transport.sh"] 28 CMD ["start-tb-http-transport.sh"]
@@ -15,15 +15,17 @@ @@ -15,15 +15,17 @@
15 # limitations under the License. 15 # limitations under the License.
16 # 16 #
17 17
18 -CONF_FOLDER="${pkg.installFolder}/conf" 18 +CONF_FOLDER="/config"
19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar 19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
20 configfile=${pkg.name}.conf 20 configfile=${pkg.name}.conf
21 21
22 source "${CONF_FOLDER}/${configfile}" 22 source "${CONF_FOLDER}/${configfile}"
23 23
  24 +export LOADER_PATH=/config,${LOADER_PATH}
  25 +
24 echo "Starting '${project.name}' ..." 26 echo "Starting '${project.name}' ..."
25 27
26 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \ 28 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \
27 -Dspring.jpa.hibernate.ddl-auto=none \ 29 -Dspring.jpa.hibernate.ddl-auto=none \
28 - -Dlogging.config=${CONF_FOLDER}/logback.xml \ 30 + -Dlogging.config=/config/logback.xml \
29 org.springframework.boot.loader.PropertiesLauncher 31 org.springframework.boot.loader.PropertiesLauncher
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 16
17 FROM openjdk:8-jdk 17 FROM openjdk:8-jdk
18 18
19 -COPY logback.xml ${pkg.name}.conf start-tb-mqtt-transport.sh ${pkg.name}.deb /tmp/ 19 +COPY start-tb-mqtt-transport.sh ${pkg.name}.deb /tmp/
20 20
21 RUN chmod a+x /tmp/*.sh \ 21 RUN chmod a+x /tmp/*.sh \
22 && mv /tmp/start-tb-mqtt-transport.sh /usr/bin 22 && mv /tmp/start-tb-mqtt-transport.sh /usr/bin
@@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
28 -RUN mv /tmp/logback.xml ${pkg.installFolder}/conf \  
29 - && mv /tmp/${pkg.name}.conf ${pkg.installFolder}/conf  
30 -  
31 CMD ["start-tb-mqtt-transport.sh"] 28 CMD ["start-tb-mqtt-transport.sh"]
@@ -15,15 +15,17 @@ @@ -15,15 +15,17 @@
15 # limitations under the License. 15 # limitations under the License.
16 # 16 #
17 17
18 -CONF_FOLDER="${pkg.installFolder}/conf" 18 +CONF_FOLDER="/config"
19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar 19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
20 configfile=${pkg.name}.conf 20 configfile=${pkg.name}.conf
21 21
22 source "${CONF_FOLDER}/${configfile}" 22 source "${CONF_FOLDER}/${configfile}"
23 23
  24 +export LOADER_PATH=/config,${LOADER_PATH}
  25 +
24 echo "Starting '${project.name}' ..." 26 echo "Starting '${project.name}' ..."
25 27
26 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \ 28 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \
27 -Dspring.jpa.hibernate.ddl-auto=none \ 29 -Dspring.jpa.hibernate.ddl-auto=none \
28 - -Dlogging.config=${CONF_FOLDER}/logback.xml \ 30 + -Dlogging.config=/config/logback.xml \
29 org.springframework.boot.loader.PropertiesLauncher 31 org.springframework.boot.loader.PropertiesLauncher