thingsboard-aplcache

Details

diff --git a/docker/.gitignore b/docker/.gitignore
index bc09e84..eee422d 100644
--- a/docker/.gitignore
+++ b/docker/.gitignore
@@ -4,4 +4,5 @@ tb-node/log/**
 tb-node/db/**
 tb-node/postgres/**
 tb-node/cassandra/**
+tb-transports/*/log
 !.env
diff --git a/docker/docker-compose.postgres.volumes.yml b/docker/docker-compose.postgres.volumes.yml
index d94b066..a1dbaa5 100644
--- a/docker/docker-compose.postgres.volumes.yml
+++ b/docker/docker-compose.postgres.volumes.yml
@@ -26,6 +26,21 @@ services:
   tb2:
     volumes:
       - tb-log-volume:/var/log/thingsboard
+  tb-coap-transport:
+    volumes:
+      - tb-coap-transport-log-volume:/var/log/tb-coap-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
 
 volumes:
   postgres-db-volume:
@@ -34,3 +49,12 @@ volumes:
   tb-log-volume:
     external: true
     name: ${TB_LOG_VOLUME}
+  tb-coap-transport-log-volume:
+    external: true
+    name: ${TB_COAP_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}
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index b9d8fd1..1ac861d 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -91,8 +91,13 @@ services:
     image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
     ports:
       - "1883"
+    environment:
+      TB_HOST: tb-mqtt-transport1
     env_file:
       - tb-mqtt-transport.env
+    volumes:
+      - ./tb-transports/mqtt/conf:/config
+      - ./tb-transports/mqtt/log:/var/log/tb-mqtt-transport
     depends_on:
       - kafka
   tb-mqtt-transport2:
@@ -100,8 +105,13 @@ services:
     image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
     ports:
       - "1883"
+    environment:
+      TB_HOST: tb-mqtt-transport2
     env_file:
       - tb-mqtt-transport.env
+    volumes:
+      - ./tb-transports/mqtt/conf:/config
+      - ./tb-transports/mqtt/log:/var/log/tb-mqtt-transport
     depends_on:
       - kafka
   tb-http-transport1:
@@ -109,8 +119,13 @@ services:
     image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
     ports:
       - "8081"
+    environment:
+      TB_HOST: tb-http-transport1
     env_file:
       - tb-http-transport.env
+    volumes:
+      - ./tb-transports/http/conf:/config
+      - ./tb-transports/http/log:/var/log/tb-http-transport
     depends_on:
       - kafka
   tb-http-transport2:
@@ -118,8 +133,13 @@ services:
     image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
     ports:
       - "8081"
+    environment:
+      TB_HOST: tb-http-transport2
     env_file:
       - tb-http-transport.env
+    volumes:
+      - ./tb-transports/http/conf:/config
+      - ./tb-transports/http/log:/var/log/tb-http-transport
     depends_on:
       - kafka
   tb-coap-transport:
@@ -127,8 +147,13 @@ services:
     image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
     ports:
       - "5683:5683/udp"
+    environment:
+      TB_HOST: tb-coap-transport
     env_file:
       - tb-coap-transport.env
+    volumes:
+      - ./tb-transports/coap/conf:/config
+      - ./tb-transports/coap/log:/var/log/tb-coap-transport
     depends_on:
       - kafka
   tb-web-ui1:
diff --git a/docker/tb-node/conf/thingsboard.conf b/docker/tb-node/conf/thingsboard.conf
index aa430b4..392b330 100644
--- a/docker/tb-node/conf/thingsboard.conf
+++ b/docker/tb-node/conf/thingsboard.conf
@@ -15,7 +15,7 @@
 #
 
 export JAVA_OPTS="$JAVA_OPTS -Dplatform=deb -Dinstall.data_dir=/usr/share/thingsboard/data"
-export JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/thingsboard/${TB_HOST}/gc.log -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
+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"
 export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10"
 export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
 export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled"
diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java
index 3233617..21d095f 100644
--- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java
+++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java
@@ -49,8 +49,7 @@ public class ContainerTestSuite {
                     .withPull(false)
                     .withLocalCompose(true)
                     .withTailChildContainers(true)
-                    .withEnv("POSTGRES_DATA_VOLUME", installTb.getPostgresDataVolume())
-                    .withEnv("TB_LOG_VOLUME", installTb.getTbLogVolume())
+                    .withEnv(installTb.getEnv())
                     .withEnv("LOAD_BALANCER_NAME", "")
                     .withExposedService("haproxy", 80, Wait.forHttp("/swagger-ui.html").withStartupTimeout(Duration.ofSeconds(120)));
         }
diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ThingsBoardDbInstaller.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ThingsBoardDbInstaller.java
index fef69b5..d0422b0 100644
--- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ThingsBoardDbInstaller.java
+++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ThingsBoardDbInstaller.java
@@ -28,11 +28,18 @@ public class ThingsBoardDbInstaller extends ExternalResource {
 
     private final static String POSTGRES_DATA_VOLUME = "tb-postgres-test-data-volume";
     private final static String TB_LOG_VOLUME = "tb-log-test-volume";
+    private final static String TB_COAP_TRANSPORT_LOG_VOLUME = "tb-coap-transport-log-test-volume";
+    private final static String TB_HTTP_TRANSPORT_LOG_VOLUME = "tb-http-transport-log-test-volume";
+    private final static String TB_MQTT_TRANSPORT_LOG_VOLUME = "tb-mqtt-transport-log-test-volume";
 
     private final DockerComposeExecutor dockerCompose;
 
     private final String postgresDataVolume;
     private final String tbLogVolume;
+    private final String tbCoapTransportLogVolume;
+    private final String tbHttpTransportLogVolume;
+    private final String tbMqttTransportLogVolume;
+    private final Map<String, String> env;
 
     public ThingsBoardDbInstaller() {
         List<File> composeFiles = Arrays.asList(new File("./../../docker/docker-compose.yml"),
@@ -44,21 +51,23 @@ public class ThingsBoardDbInstaller extends ExternalResource {
 
         postgresDataVolume = project + "_" + POSTGRES_DATA_VOLUME;
         tbLogVolume = project + "_" + TB_LOG_VOLUME;
+        tbCoapTransportLogVolume = project + "_" + TB_COAP_TRANSPORT_LOG_VOLUME;
+        tbHttpTransportLogVolume = project + "_" + TB_HTTP_TRANSPORT_LOG_VOLUME;
+        tbMqttTransportLogVolume = project + "_" + TB_MQTT_TRANSPORT_LOG_VOLUME;
 
         dockerCompose = new DockerComposeExecutor(composeFiles, project);
 
-        Map<String, String> env = new HashMap<>();
+        env = new HashMap<>();
         env.put("POSTGRES_DATA_VOLUME", postgresDataVolume);
         env.put("TB_LOG_VOLUME", tbLogVolume);
+        env.put("TB_COAP_TRANSPORT_LOG_VOLUME", tbCoapTransportLogVolume);
+        env.put("TB_HTTP_TRANSPORT_LOG_VOLUME", tbHttpTransportLogVolume);
+        env.put("TB_MQTT_TRANSPORT_LOG_VOLUME", tbMqttTransportLogVolume);
         dockerCompose.withEnv(env);
     }
 
-    public String getPostgresDataVolume() {
-        return postgresDataVolume;
-    }
-
-    public String getTbLogVolume() {
-        return tbLogVolume;
+    public Map<String, String> getEnv() {
+        return env;
     }
 
     @Override
@@ -71,6 +80,15 @@ public class ThingsBoardDbInstaller extends ExternalResource {
             dockerCompose.withCommand("volume create " + tbLogVolume);
             dockerCompose.invokeDocker();
 
+            dockerCompose.withCommand("volume create " + tbCoapTransportLogVolume);
+            dockerCompose.invokeDocker();
+
+            dockerCompose.withCommand("volume create " + tbHttpTransportLogVolume);
+            dockerCompose.invokeDocker();
+
+            dockerCompose.withCommand("volume create " + tbMqttTransportLogVolume);
+            dockerCompose.invokeDocker();
+
             dockerCompose.withCommand("up -d redis postgres");
             dockerCompose.invokeCompose();
 
@@ -88,8 +106,12 @@ public class ThingsBoardDbInstaller extends ExternalResource {
     @Override
     protected void after() {
         copyLogs(tbLogVolume, "./target/tb-logs/");
+        copyLogs(tbCoapTransportLogVolume, "./target/tb-coap-transport-logs/");
+        copyLogs(tbHttpTransportLogVolume, "./target/tb-http-transport-logs/");
+        copyLogs(tbMqttTransportLogVolume, "./target/tb-mqtt-transport-logs/");
 
-        dockerCompose.withCommand("volume rm -f " + postgresDataVolume + " " + tbLogVolume);
+        dockerCompose.withCommand("volume rm -f " + postgresDataVolume + " " + tbLogVolume +
+                " " + tbCoapTransportLogVolume + " " + tbHttpTransportLogVolume + " " + tbMqttTransportLogVolume);
         dockerCompose.invokeDocker();
     }
 
diff --git a/msa/transport/coap/docker/Dockerfile b/msa/transport/coap/docker/Dockerfile
index 9240b2a..69180df 100644
--- a/msa/transport/coap/docker/Dockerfile
+++ b/msa/transport/coap/docker/Dockerfile
@@ -16,7 +16,7 @@
 
 FROM openjdk:8-jdk
 
-COPY logback.xml ${pkg.name}.conf start-tb-coap-transport.sh ${pkg.name}.deb /tmp/
+COPY start-tb-coap-transport.sh ${pkg.name}.deb /tmp/
 
 RUN chmod a+x /tmp/*.sh \
     && mv /tmp/start-tb-coap-transport.sh /usr/bin
@@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb
 
 RUN update-rc.d ${pkg.name} disable
 
-RUN mv /tmp/logback.xml ${pkg.installFolder}/conf \
-    && mv /tmp/${pkg.name}.conf ${pkg.installFolder}/conf
-
 CMD ["start-tb-coap-transport.sh"]
diff --git a/msa/transport/coap/docker/start-tb-coap-transport.sh b/msa/transport/coap/docker/start-tb-coap-transport.sh
index 43d4602..d233dbc 100755
--- a/msa/transport/coap/docker/start-tb-coap-transport.sh
+++ b/msa/transport/coap/docker/start-tb-coap-transport.sh
@@ -15,15 +15,17 @@
 # limitations under the License.
 #
 
-CONF_FOLDER="${pkg.installFolder}/conf"
+CONF_FOLDER="/config"
 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
 configfile=${pkg.name}.conf
 
 source "${CONF_FOLDER}/${configfile}"
 
+export LOADER_PATH=/config,${LOADER_PATH}
+
 echo "Starting '${project.name}' ..."
 
 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \
                     -Dspring.jpa.hibernate.ddl-auto=none \
-                    -Dlogging.config=${CONF_FOLDER}/logback.xml \
+                    -Dlogging.config=/config/logback.xml \
                     org.springframework.boot.loader.PropertiesLauncher
diff --git a/msa/transport/http/docker/Dockerfile b/msa/transport/http/docker/Dockerfile
index 6c83b9c..2ed6318 100644
--- a/msa/transport/http/docker/Dockerfile
+++ b/msa/transport/http/docker/Dockerfile
@@ -16,7 +16,7 @@
 
 FROM openjdk:8-jdk
 
-COPY logback.xml ${pkg.name}.conf start-tb-http-transport.sh ${pkg.name}.deb /tmp/
+COPY start-tb-http-transport.sh ${pkg.name}.deb /tmp/
 
 RUN chmod a+x /tmp/*.sh \
     && mv /tmp/start-tb-http-transport.sh /usr/bin
@@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb
 
 RUN update-rc.d ${pkg.name} disable
 
-RUN mv /tmp/logback.xml ${pkg.installFolder}/conf \
-    && mv /tmp/${pkg.name}.conf ${pkg.installFolder}/conf
-
 CMD ["start-tb-http-transport.sh"]
diff --git a/msa/transport/http/docker/start-tb-http-transport.sh b/msa/transport/http/docker/start-tb-http-transport.sh
index 667988f..e00a66c 100755
--- a/msa/transport/http/docker/start-tb-http-transport.sh
+++ b/msa/transport/http/docker/start-tb-http-transport.sh
@@ -15,15 +15,17 @@
 # limitations under the License.
 #
 
-CONF_FOLDER="${pkg.installFolder}/conf"
+CONF_FOLDER="/config"
 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
 configfile=${pkg.name}.conf
 
 source "${CONF_FOLDER}/${configfile}"
 
+export LOADER_PATH=/config,${LOADER_PATH}
+
 echo "Starting '${project.name}' ..."
 
 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \
                     -Dspring.jpa.hibernate.ddl-auto=none \
-                    -Dlogging.config=${CONF_FOLDER}/logback.xml \
+                    -Dlogging.config=/config/logback.xml \
                     org.springframework.boot.loader.PropertiesLauncher
diff --git a/msa/transport/mqtt/docker/Dockerfile b/msa/transport/mqtt/docker/Dockerfile
index f636e2f..4fb707a 100644
--- a/msa/transport/mqtt/docker/Dockerfile
+++ b/msa/transport/mqtt/docker/Dockerfile
@@ -16,7 +16,7 @@
 
 FROM openjdk:8-jdk
 
-COPY logback.xml ${pkg.name}.conf start-tb-mqtt-transport.sh ${pkg.name}.deb /tmp/
+COPY start-tb-mqtt-transport.sh ${pkg.name}.deb /tmp/
 
 RUN chmod a+x /tmp/*.sh \
     && mv /tmp/start-tb-mqtt-transport.sh /usr/bin
@@ -25,7 +25,4 @@ RUN dpkg -i /tmp/${pkg.name}.deb
 
 RUN update-rc.d ${pkg.name} disable
 
-RUN mv /tmp/logback.xml ${pkg.installFolder}/conf \
-    && mv /tmp/${pkg.name}.conf ${pkg.installFolder}/conf
-
 CMD ["start-tb-mqtt-transport.sh"]
diff --git a/msa/transport/mqtt/docker/start-tb-mqtt-transport.sh b/msa/transport/mqtt/docker/start-tb-mqtt-transport.sh
index 8fe06d2..dd184fe 100755
--- a/msa/transport/mqtt/docker/start-tb-mqtt-transport.sh
+++ b/msa/transport/mqtt/docker/start-tb-mqtt-transport.sh
@@ -15,15 +15,17 @@
 # limitations under the License.
 #
 
-CONF_FOLDER="${pkg.installFolder}/conf"
+CONF_FOLDER="/config"
 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
 configfile=${pkg.name}.conf
 
 source "${CONF_FOLDER}/${configfile}"
 
+export LOADER_PATH=/config,${LOADER_PATH}
+
 echo "Starting '${project.name}' ..."
 
 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \
                     -Dspring.jpa.hibernate.ddl-auto=none \
-                    -Dlogging.config=${CONF_FOLDER}/logback.xml \
+                    -Dlogging.config=/config/logback.xml \
                     org.springframework.boot.loader.PropertiesLauncher