Update DMaaP msgrtr version in docker-compose file 33/104733/18 frankfurt 6.0.0-ONAP
authorpwielebs <piotr.wielebski@nokia.com>
Wed, 1 Apr 2020 10:53:01 +0000 (12:53 +0200)
committerpwielebs <piotr.wielebski@nokia.com>
Thu, 9 Apr 2020 10:09:04 +0000 (12:09 +0200)
Change-Id: Ia44c8630cee8275969cbd1ea1629b2948a263908
Issue-ID: DCAEGEN2-2178
Signed-off-by: Piotr Wielebski <piotr.wielebski@nokia.com>
rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/api/DMaapContainer.java
rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/api/MessageRouterPublisherIT.java
rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/api/MessageRouterSubscriberIT.java
rest-services/dmaap-client/src/test/resources/dmaap-msg-router/MsgRtrApi.properties
rest-services/dmaap-client/src/test/resources/dmaap-msg-router/cadi.properties [new file with mode: 0644]
rest-services/dmaap-client/src/test/resources/dmaap-msg-router/logback.xml [new file with mode: 0644]
rest-services/dmaap-client/src/test/resources/dmaap-msg-router/message-router-compose.yml
rest-services/dmaap-client/src/test/resources/dmaap-msg-router/zk_client_jaas.conf [new file with mode: 0644]
rest-services/dmaap-client/src/test/resources/dmaap-msg-router/zk_server_jaas.conf [new file with mode: 0644]

index 9940f91..a314ccf 100644 (file)
 
 package org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api;
 
+import org.testcontainers.containers.DockerComposeContainer;
+
 import java.io.File;
 import java.net.URL;
-import org.testcontainers.containers.DockerComposeContainer;
 
 final class DMaapContainer {
     private static final String MR_COMPOSE_RESOURCE_NAME = "dmaap-msg-router/message-router-compose.yml";
index 0afea74..f62359d 100644 (file)
 
 package org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api;
 
-import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.*;
-
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import io.vavr.collection.List;
-import java.time.Duration;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.ContentType;
@@ -42,6 +39,18 @@ import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 import reactor.test.StepVerifier;
 
+import java.time.Duration;
+
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.createMRSubscribeRequest;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.createPublishRequest;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.errorPublishResponse;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.getAsJsonElements;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.jsonBatch;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.plainBatch;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.registerTopic;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.successPublishResponse;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.successSubscribeResponse;
+
 @Testcontainers
 class MessageRouterPublisherIT {
     @Container
index a758b2d..7a31209 100644 (file)
 
 package org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api;
 
-import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.*;
-
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import io.vavr.collection.List;
-import java.time.Duration;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterPublishRequest;
@@ -40,6 +37,17 @@ import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 import reactor.test.StepVerifier;
 
+import java.time.Duration;
+
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.createMRSubscribeRequest;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.createPublishRequest;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.errorSubscribeResponse;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.getAsJsonElements;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.getAsJsonObject;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.jsonBatch;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.registerTopic;
+import static org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.MessageRouterTestsUtils.successSubscribeResponse;
+
 @Testcontainers
 class MessageRouterSubscriberIT {
     private static final Duration TIMEOUT = Duration.ofSeconds(10);
index 68b0f1e..d288bd2 100644 (file)
@@ -1,14 +1,13 @@
-###############################################################################
-#  ============LICENSE_START=======================================================
+# LICENSE_START=======================================================
 #  org.onap.dmaap
 #  ================================================================================
-#  Copyright  2017 AT&T Intellectual Property. All rights reserved.
+#  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 #  ================================================================================
 #  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.
 #  ============LICENSE_END=========================================================
 #
 #  ECOMP is a trademark and service mark of AT&T Intellectual Property.
-#  
+#
 ###############################################################################
-
-authentication.adminSecret=fe3cCompound
-kafka.max.poll.interval.ms=300000
-kafka.heartbeat.interval.ms=60000
-kafka.session.timeout.ms=240000
-kafka.max.poll.records=1000
-msgRtr.namespace.aaf=org.onap.dmaap.mr.topic
-msgRtr.topicfactory.aaf=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
-enforced.topic.name.AAF=org.onap.dmaap.mr
-forceAAF=false
-transidUEBtopicreqd=false
-defaultNSforUEB=org.onap.dmaap.mr
-consumer.timeout=17
-maxcontentlength=10000
-
-
 ###############################################################################
-## Kafka Connection
-
+##
+## Cambria API Server config
+##
+## Default values are shown as commented settings.
+##
+###############################################################################
+##
+## HTTP service
+##
+## 3904 is standard as of 7/29/14.
+#
+## Zookeeper Connection
+##
+## Both Cambria and Kafka make use of Zookeeper.
+##
+#config.zk.servers=172.18.1.1
+#config.zk.servers={{.Values.zookeeper.name}}:{{.Values.zookeeper.port}}
 config.zk.servers=zookeeper
+#config.zk.root=/fe3c/cambria/config
+###############################################################################
+##
+## Kafka Connection
+##
+##        Items below are passed through to Kafka's producer and consumer
+##        configurations (after removing "kafka.")
+##        if you want to change request.required.acks it can take this one value
+#kafka.metadata.broker.list=localhost:9092,localhost:9093
+#kafka.metadata.broker.list={{.Values.kafka.name}}:{{.Values.kafka.port}}
 kafka.metadata.broker.list=kafka:9092
+##kafka.request.required.acks=-1
+#kafka.client.zookeeper=${config.zk.servers}
 consumer.timeout.ms=100
 zookeeper.connection.timeout.ms=6000
 zookeeper.session.timeout.ms=20000
 zookeeper.sync.time.ms=2000
 auto.commit.interval.ms=1000
-fetch.message.max.bytes =1000000
+fetch.message.max.bytes=1000000
 auto.commit.enable=false
+#(backoff*retries > zksessiontimeout)
 kafka.rebalance.backoff.ms=10000
-kafka.rebalance.max.retries=6
\ No newline at end of file
+kafka.rebalance.max.retries=6
+###############################################################################
+##
+##        Secured Config
+##
+##        Some data stored in the config system is sensitive -- API keys and secrets,
+##        for example. to protect it, we use an encryption layer for this section
+##        of the config.
+##
+## The key is a base64 encode AES key. This must be created/configured for
+## each installation.
+#cambria.secureConfig.key=
+##
+## The initialization vector is a 16 byte value specific to the secured store.
+## This must be created/configured for each installation.
+#cambria.secureConfig.iv=
+## Southfield Sandbox
+cambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q==
+cambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw==
+authentication.adminSecret=fe3cCompound
+#cambria.secureConfig.key[pc569h]=YT3XPyxEmKCTLI2NK+Sjbw==
+#cambria.secureConfig.iv[pc569h]=rMm2jhR3yVnU+u2V9Ugu3Q==
+###############################################################################
+##
+## Consumer Caching
+##
+##        Kafka expects live connections from the consumer to the broker, which
+##        obviously doesn't work over connectionless HTTP requests. The Cambria
+##        server proxies HTTP requests into Kafka consumer sessions that are kept
+##        around for later re-use. Not doing so is costly for setup per request,
+##        which would substantially impact a high volume consumer's performance.
+##
+##        This complicates Cambria server failover, because we often need server
+##        A to close its connection before server B brings up the replacement.
+##
+## The consumer cache is normally enabled.
+#cambria.consumer.cache.enabled=true
+## Cached consumers are cleaned up after a period of disuse. The server inspects
+## consumers every sweepFreqSeconds and will clean up any connections that are
+## dormant for touchFreqMs.
+#cambria.consumer.cache.sweepFreqSeconds=15
+cambria.consumer.cache.touchFreqMs=120000
+##stickforallconsumerrequests=false
+## The cache is managed through ZK. The default value for the ZK connection
+## string is the same as config.zk.servers.
+#cambria.consumer.cache.zkConnect=${config.zk.servers}
+
+##
+## Shared cache information is associated with this node's name. The default
+## name is the hostname plus the HTTP service port this host runs on. (The
+## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(),
+## which is not always adequate.) You can set this value explicitly here.
+##
+#cambria.api.node.identifier=<use-something-unique-to-this-instance>
+
+#cambria.rateLimit.maxEmptyPollsPerMinute=30
+#cambria.rateLimitActual.delay.ms=10
+###############################################################################
+##
+## Metrics Reporting
+##
+##        This server can report its metrics periodically on a topic.
+##
+#metrics.send.cambria.enabled=true
+#metrics.send.cambria.topic=cambria.apinode.metrics                                  #msgrtr.apinode.metrics.dmaap
+#metrics.send.cambria.sendEverySeconds=60
+cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache
+consumer.timeout=17
+default.partitions=3
+default.replicas=3
+##############################################################################
+#100mb
+maxcontentlength=10000
+##############################################################################
+#AAF Properties
+msgRtr.namespace.aaf=org.onap.dmaap.mr.topic
+msgRtr.topicfactory.aaf=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
+enforced.topic.name.AAF=org.onap.dmaap.mr
+forceAAF=false
+transidUEBtopicreqd=false
+defaultNSforUEB=org.onap.dmaap.mr
+##############################################################################
+#Mirror Maker Agent
+msgRtr.mirrormakeradmin.aaf=org.onap.dmaap.mr.mirrormaker|*|admin
+msgRtr.mirrormakeruser.aaf=org.onap.dmaap.mr.mirrormaker|*|user
+msgRtr.mirrormakeruser.aaf.create=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
+msgRtr.mirrormaker.timeout=15000
+msgRtr.mirrormaker.topic=org.onap.dmaap.mr.mirrormakeragent
+msgRtr.mirrormaker.consumergroup=mmagentserver
+msgRtr.mirrormaker.consumerid=1
+kafka.max.poll.interval.ms=300000
+kafka.heartbeat.interval.ms=60000
+kafka.session.timeout.ms=240000
+kafka.max.poll.records=1000
diff --git a/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/cadi.properties b/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/cadi.properties
new file mode 100644 (file)
index 0000000..1c9959c
--- /dev/null
@@ -0,0 +1,14 @@
+aaf_url=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.service:2.1
+aaf_env=DEV
+aaf_lur=org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm
+cadi_truststore=/appl/dmaapMR1/etc/org.onap.dmaap.mr.trust.jks
+cadi_truststore_password=enc:mN6GiIzFQxKGDzAXDOs7b4j8DdIX02QrZ9QOWNRpxV3rD6whPCfizSMZkJwxi_FJ
+cadi_keyfile=/appl/dmaapMR1/etc/org.onap.dmaap.mr.keyfile
+cadi_alias=dmaapmr@mr.dmaap.onap.org
+cadi_keystore=/appl/dmaapMR1/etc/org.onap.dmaap.mr.p12
+cadi_keystore_password=enc:_JJT2gAEkRzXla5xfDIHal8pIoIB5iIos3USvZQT6sL-l14LpI5fRFR_QIGUCh5W
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
+cadi_loglevel=INFO
+cadi_protocols=TLSv1.1,TLSv1.2
+cadi_latitude=37.78187
+cadi_longitude=-122.26147
diff --git a/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/logback.xml b/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/logback.xml
new file mode 100644 (file)
index 0000000..a39d9e4
--- /dev/null
@@ -0,0 +1,207 @@
+<!--
+     ============LICENSE_START=======================================================
+     Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+     ================================================================================
+     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.
+     ============LICENSE_END=========================================================
+ -->
+
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+  <contextName>${module.ajsc.namespace.name}</contextName>
+  <jmxConfigurator/>
+  <property name="logDirectory" value="${AJSC_HOME}/log"/>
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>ERROR</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+      </pattern>
+    </encoder>
+  </appender>
+
+  <appender name="INFO" class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+  </appender>
+
+  <appender name="DEBUG" class="ch.qos.logback.core.ConsoleAppender">
+
+    <encoder>
+      <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="ERROR" class="ch.qos.logback.core.ConsoleAppender">class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>ERROR</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <encoder>
+      <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+    </encoder>
+  </appender>
+
+
+  <!-- Msgrtr related loggers -->
+  <logger name="org.onap.dmaap.dmf.mr.service" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.service.impl" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.resources" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.resources.streamReaders" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.backends" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.backends.kafka" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.backends.memory" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.beans" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.constants" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.exception" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.listener" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.metabroker" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.metrics.publisher" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.metrics.publisher.impl" level="INFO"/>
+
+
+  <logger name="org.onap.dmaap.dmf.mr.security" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.security.impl" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.transaction" level="INFO"/>
+  <logger name="com.att.dmf.mr.transaction.impl" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.metabroker" level="INFO"/>
+  <logger name="org.onap.dmaap.dmf.mr.metabroker" level="INFO"/>
+
+  <logger name="org.onap.dmaap.dmf.mr.utils" level="INFO"/>
+  <logger name="org.onap.dmaap.mr.filter" level="INFO"/>
+
+  <!--<logger name="com.att.nsa.cambria.*" level="INFO" />-->
+
+  <!-- Msgrtr loggers in ajsc -->
+  <logger name="org.onap.dmaap.service" level="INFO"/>
+  <logger name="org.onap.dmaap" level="INFO"/>
+
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" additivity="false"/>
+  <logger name="org.springframework.beans" level="WARN" additivity="false"/>
+  <logger name="org.springframework.web" level="WARN" additivity="false"/>
+  <logger name="com.blog.spring.jms" level="WARN" additivity="false"/>
+
+  <!-- AJSC Services (bootstrap services) -->
+  <logger name="ajsc" level="WARN" additivity="false"/>
+  <logger name="ajsc.RouteMgmtService" level="INFO" additivity="false"/>
+  <logger name="ajsc.ComputeService" level="INFO" additivity="false"/>
+  <logger name="ajsc.VandelayService" level="WARN" additivity="false"/>
+  <logger name="ajsc.FilePersistenceService" level="WARN" additivity="false"/>
+  <logger name="ajsc.UserDefinedJarService" level="WARN" additivity="false"/>
+  <logger name="ajsc.UserDefinedBeansDefService" level="WARN" additivity="false"/>
+  <logger name="ajsc.LoggingConfigurationService" level="WARN" additivity="false"/>
+
+  <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+    logging) -->
+  <logger name="ajsc.utils" level="WARN" additivity="false"/>
+  <logger name="ajsc.utils.DME2Helper" level="INFO" additivity="false"/>
+  <logger name="ajsc.filters" level="DEBUG" additivity="false"/>
+  <logger name="ajsc.beans.interceptors" level="DEBUG" additivity="false"/>
+  <logger name="ajsc.restlet" level="DEBUG" additivity="false"/>
+  <logger name="ajsc.servlet" level="DEBUG" additivity="false"/>
+  <logger name="com.att" level="WARN" additivity="false"/>
+  <logger name="com.att.ajsc.csi.logging" level="WARN" additivity="false"/>
+  <logger name="com.att.ajsc.filemonitor" level="WARN" additivity="false"/>
+
+  <logger name="com.att.nsa.dmaap.util" level="INFO" additivity="false"/>
+  <logger name="com.att.cadi.filter" level="INFO" additivity="false"/>
+
+
+  <!-- Other Loggers that may help troubleshoot -->
+  <logger name="net.sf" level="WARN" additivity="false"/>
+  <logger name="org.apache.commons.httpclient" level="WARN" additivity="false"/>
+  <logger name="org.apache.commons" level="WARN" additivity="false"/>
+  <logger name="org.apache.coyote" level="WARN" additivity="false"/>
+  <logger name="org.apache.jasper" level="WARN" additivity="false"/>
+
+  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+    May aid in troubleshooting) -->
+  <logger name="org.apache.camel" level="WARN" additivity="false"/>
+  <logger name="org.apache.cxf" level="WARN" additivity="false"/>
+  <logger name="org.apache.camel.processor.interceptor" level="WARN" additivity="false"/>
+  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" additivity="false"/>
+  <logger name="org.apache.cxf.service" level="WARN" additivity="false"/>
+  <logger name="org.restlet" level="DEBUG" additivity="false"/>
+  <logger name="org.apache.camel.component.restlet" level="DEBUG" additivity="false"/>
+  <logger name="org.apache.kafka" level="DEBUG" additivity="false"/>
+  <logger name="org.apache.zookeeper" level="INFO" additivity="false"/>
+  <logger name="org.I0Itec.zkclient" level="DEBUG" additivity="false"/>
+
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="INFO" additivity="false"/>
+  <logger name="ch.qos.logback.core" level="INFO" additivity="false"/>
+
+  <!-- logback jms appenders & loggers definition starts here -->
+  <!-- logback jms appenders & loggers definition starts here -->
+  <appender name="auditLogs" class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+    </filter>
+    <encoder>
+      <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+    </encoder>
+  </appender>
+  <appender name="perfLogs" class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+    </filter>
+    <encoder>
+      <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+    </encoder>
+  </appender>
+  <appender name="ASYNC-audit" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <discardingThreshold>0</discardingThreshold>
+    <appender-ref ref="Audit-Record-Queue"/>
+  </appender>
+
+  <logger name="AuditRecord" level="INFO" additivity="FALSE">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="AuditRecord_DirectCall" level="INFO" additivity="FALSE">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <appender name="ASYNC-perf" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <discardingThreshold>0</discardingThreshold>
+    <appender-ref ref="Performance-Tracker-Queue"/>
+  </appender>
+  <logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
+    <appender-ref ref="ASYNC-perf"/>
+    <appender-ref ref="perfLogs"/>
+  </logger>
+  <!-- logback jms appenders & loggers definition ends here -->
+
+  <root level="DEBUG">
+    <appender-ref ref="DEBUG"/>
+    <appender-ref ref="ERROR"/>
+    <appender-ref ref="INFO"/>
+    <appender-ref ref="STDOUT"/>
+  </root>
+
+</configuration>
index 34c3ccc..20cade0 100644 (file)
@@ -1,48 +1,71 @@
 version: '2'
 services:
   zookeeper:
-    image: nexus3.onap.org:10001/onap/dmaap/zookeeper:6.0.0
+    image: nexus3.onap.org:10001/onap/dmaap/zookeeper:6.0.3
     ports:
       - "2181:2181"
+    environment:
+      ZOOKEEPER_REPLICAS: 1
+      ZOOKEEPER_TICK_TIME: 2000
+      ZOOKEEPER_SYNC_LIMIT: 5
+      ZOOKEEPER_INIT_LIMIT: 10
+      ZOOKEEPER_MAX_CLIENT_CNXNS: 200
+      ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT: 3
+      ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: 24
+      ZOOKEEPER_CLIENT_PORT: 2181
+      KAFKA_OPTS: -Djava.security.auth.login.config=/etc/zookeeper/secrets/jaas/zk_server_jaas.conf -Dzookeeper.kerberos.removeHostFromPrincipal=true -Dzookeeper.kerberos.removeRealmFromPrincipal=true -Dzookeeper.authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider -Dzookeeper.requireClientAuthScheme=sasl
+      ZOOKEEPER_SERVER_ID: 1
+    volumes:
+      - ./zk_server_jaas.conf:/etc/zookeeper/secrets/jaas/zk_server_jaas.conf
+    networks:
+      net:
+        aliases:
+          - zookeeper
 
   kafka:
-   image: nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.1
-   ports:
-    - "9092:9092"
-   environment:
-    # For creating authenticated topics add AAF locate aplication ip address to host alias aaf-onap-test.osaaf.org
-    # For creating the authenticated topics enable the following property
-    enableCadi: 'false'
-    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-    KAFKA_LOG_DIRS: /opt/kafka/data
-    KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 40000
-    KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: 40000
-    # Uncomment the following lines to create authenticated topics
-    #KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT
-    #KAFKA_ADVERTISED_LISTENERS: INTERNAL_SASL_PLAINTEXT://kafka:9092
-    #KAFKA_LISTENERS: INTERNAL_SASL_PLAINTEXT://0.0.0.0:9092
-    #KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_SASL_PLAINTEXT
-    #KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
-    #KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
-    #KAFKA_AUTHORIZER_CLASS_NAME: org.onap.dmaap.kafkaAuthorize.KafkaCustomAuthorizer
-    #aaf_locate_url: https://aaf-onap-test.osaaf.org:8095
-    # Remove the following 4 lines to create authenticated topics
-    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT
-    KAFKA_ADVERTISED_LISTENERS: INTERNAL_PLAINTEXT://kafka:9092
-    KAFKA_LISTENERS: INTERNAL_PLAINTEXT://0.0.0.0:9092
-    KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_PLAINTEXT
-   volumes:
-    - /var/run/docker.sock:/var/run/docker.sock
-   depends_on:
-    - zookeeper
+    image: nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.4
+    ports:
+      - "9092:9092"
+    environment:
+      enableCadi: 'false'
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 40000
+      KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: 40000
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT
+      KAFKA_ADVERTISED_LISTENERS: INTERNAL_PLAINTEXT://kafka:9092
+      KAFKA_LISTENERS: INTERNAL_PLAINTEXT://0.0.0.0:9092
+      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_PLAINTEXT
+      KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: 'false'
+      KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/secrets/jaas/zk_client_jaas.conf
+      KAFKA_ZOOKEEPER_SET_ACL: 'true'
+      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+    volumes:
+      - ./zk_client_jaas.conf:/etc/kafka/secrets/jaas/zk_client_jaas.conf
+    networks:
+      net:
+        aliases:
+          - kafka
+    depends_on:
+      - zookeeper
 
   dmaap:
-    image: nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.16
+    image: nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.18
     ports:
       - "3904:3904"
       - "3905:3905"
+    environment:
+      enableCadi: 'false'
     volumes:
       - ./MsgRtrApi.properties:/appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+      - ./logback.xml:/appl/dmaapMR1/bundleconfig/etc/logback.xml
+      - ./cadi.properties:/appl/dmaapMR1/etc/cadi.properties
+    networks:
+      net:
+        aliases:
+          - dmaap
     depends_on:
       - zookeeper
       - kafka
+networks:
+  net:
+    driver: bridge
diff --git a/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/zk_client_jaas.conf b/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/zk_client_jaas.conf
new file mode 100644 (file)
index 0000000..d4ef1eb
--- /dev/null
@@ -0,0 +1,5 @@
+Client {
+   org.apache.zookeeper.server.auth.DigestLoginModule required
+   username="kafka"
+   password="kafka_secret";
+ };
\ No newline at end of file
diff --git a/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/zk_server_jaas.conf b/rest-services/dmaap-client/src/test/resources/dmaap-msg-router/zk_server_jaas.conf
new file mode 100644 (file)
index 0000000..26bf460
--- /dev/null
@@ -0,0 +1,4 @@
+Server {
+       org.apache.zookeeper.server.auth.DigestLoginModule required
+       user_kafka=kafka_secret;
+};
\ No newline at end of file