Merge "Create oam docker-compose.yml"
diff --git a/solution/integration/smo/oam/sdnr/oauth-aaa-app-config.xml b/solution/integration/smo/oam/sdnr/oauth-aaa-app-config.xml
index 28a79f6..15bc953 100644
--- a/solution/integration/smo/oam/sdnr/oauth-aaa-app-config.xml
+++ b/solution/integration/smo/oam/sdnr/oauth-aaa-app-config.xml
@@ -40,11 +40,11 @@
</main>
<main>
<pair-key>anyroles</pair-key>
- <pair-value>org.opendaylight.aaa.shiro.filters.AnyRoleHttpAuthenticationFilter</pair-value>
+ <pair-value>org.onap.ccsdk.features.sdnr.wt.oauthprovider.filters.AnyRoleHttpAuthenticationFilter</pair-value>
</main>
<main>
<pair-key>authcBearer</pair-key>
- <pair-value>org.opendaylight.aaa.shiro.filters.ODLHttpAuthenticationFilter2</pair-value>
+ <pair-value>org.onap.ccsdk.features.sdnr.wt.oauthprovider.filters.BearerAndBasicHttpAuthenticationFilter</pair-value>
</main>
<!-- in order to track AAA challenge attempts -->
diff --git a/solution/operation-and-maintenance/network b/solution/operation-and-maintenance/network
new file mode 120000
index 0000000..659ef45
--- /dev/null
+++ b/solution/operation-and-maintenance/network
@@ -0,0 +1 @@
+../integration/network
\ No newline at end of file
diff --git a/solution/operation-and-maintenance/smo/common/.env b/solution/operation-and-maintenance/smo/common/.env
new file mode 100644
index 0000000..4971bf7
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/common/.env
@@ -0,0 +1,45 @@
+################################################################################
+# Copyright 2022 highstreet technologies and others
+#
+# 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.
+#
+
+COMPOSE_PROJECT_NAME=o-ran-sc-f-release
+
+# Credentials
+
+ADMIN_USERNAME=admin
+ADMIN_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+
+# Network settings
+# Please update /etc/docker/daemon.json accordingly
+# https://docs.docker.com/config/daemon/ipv6/
+NETWORK_SUBNET_SMO=2001:db8:1:40::/96
+NETWORK_GATEWAY_SMO=2001:db8:1:40::1
+
+# Identity server
+IDENTITY_IMAGE=quay.io/keycloak/keycloak:12.0.4
+IDENTITY_PORT=8463
+IDENTITY_PROVIDER_URL=https://identity:8463
+
+# PERSISTENCE (including SDN-R Database)
+PERSISTENCE_IMAGE=docker.elastic.co/elasticsearch/elasticsearch-oss:7.9.3
+
+## ZooKeeper
+ZOOKEEPER_IMAGE=nexus3.onap.org:10001/onap/dmaap/zookeeper:6.0.3
+
+## Kafka
+KAFKA_IMAGE=nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.4
+
+## DMaaP
+DMAAP_IMAGE=nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.18
diff --git a/solution/operation-and-maintenance/smo/common/dmaap b/solution/operation-and-maintenance/smo/common/dmaap
new file mode 120000
index 0000000..afa9404
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/common/dmaap
@@ -0,0 +1 @@
+../../../integration/smo/common/dmaap
\ No newline at end of file
diff --git a/solution/operation-and-maintenance/smo/common/docker b/solution/operation-and-maintenance/smo/common/docker
new file mode 120000
index 0000000..9a61863
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/common/docker
@@ -0,0 +1 @@
+../../../integration/smo/common/docker
\ No newline at end of file
diff --git a/solution/operation-and-maintenance/smo/common/docker-compose.yml b/solution/operation-and-maintenance/smo/common/docker-compose.yml
new file mode 100755
index 0000000..8cc6f3b
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/common/docker-compose.yml
@@ -0,0 +1,111 @@
+################################################################################
+# Copyright 2022 highstreet technologies GmbH
+#
+# 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.8'
+services:
+
+ identity:
+ image: ${IDENTITY_IMAGE}
+ container_name: identity
+ ports:
+ - ${IDENTITY_PORT}:8443
+ environment:
+ - KEYCLOAK_USER=${ADMIN_USERNAME}
+ - KEYCLOAK_PASSWORD=${ADMIN_PASSWORD}
+ - JAVA_OPTS=-Djboss.bind.address.private=[::1] -Djboss.bind.address=[::1] -Djava.net.preferIPv6Addresses=true -Djava.net.preferIPv4Stack=false
+ - DB_VENDOR=h2
+ networks:
+ dmz:
+
+ persistence:
+ image: ${PERSISTENCE_IMAGE}
+ container_name: persistence
+ environment:
+ - discovery.type=single-node
+
+ zookeeper:
+ image: ${ZOOKEEPER_IMAGE}
+ container_name: zookeeper
+ 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:
+ volumes:
+ - ./zookeeper/zk_server_jaas.conf:/etc/zookeeper/secrets/jaas/zk_server_jaas.conf
+
+ kafka:
+ image: ${KAFKA_IMAGE}
+ container_name: kafka
+ 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
+ # Reduced the number of partitions only to avoid the timeout error for the first subscribe call in slow environment
+ KAFKA_OFFSETS_TOPIC_NUM_PARTITIONS: 1
+ volumes:
+ - ./kafka/zk_client_jaas.conf:/etc/kafka/secrets/jaas/zk_client_jaas.conf
+ depends_on:
+ - zookeeper
+
+ dmaap:
+ container_name: onap-dmaap
+ image: ${DMAAP_IMAGE}
+ ports:
+ - 3904:3904
+ - 3905:3905
+ environment:
+ enableCadi: 'false'
+ volumes:
+ - ./dmaap/MsgRtrApi.properties:/appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+ - ./dmaap/logback.xml:/appl/dmaapMR1/bundleconfig/etc/logback.xml
+ - ./dmaap/cadi.properties:/appl/dmaapMR1/etc/cadi.properties
+ depends_on:
+ - zookeeper
+ - kafka
+
+networks:
+ dmz:
+ driver: bridge
+ name: dmz
+ enable_ipv6: false
+ default:
+ driver: bridge
+ name: smo
+ enable_ipv6: true
+ ipam:
+ driver: default
+ config:
+ - subnet: ${NETWORK_SUBNET_SMO}
+ gateway: ${NETWORK_GATEWAY_SMO}
diff --git a/solution/operation-and-maintenance/smo/common/kafka b/solution/operation-and-maintenance/smo/common/kafka
new file mode 120000
index 0000000..1a07bf4
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/common/kafka
@@ -0,0 +1 @@
+../../../integration/smo/common/kafka
\ No newline at end of file
diff --git a/solution/operation-and-maintenance/smo/common/zookeeper b/solution/operation-and-maintenance/smo/common/zookeeper
new file mode 120000
index 0000000..b2480bd
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/common/zookeeper
@@ -0,0 +1 @@
+../../../integration/smo/common/zookeeper
\ No newline at end of file
diff --git a/solution/operation-and-maintenance/smo/oam/controller b/solution/operation-and-maintenance/smo/oam/controller
new file mode 120000
index 0000000..90679fa
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/oam/controller
@@ -0,0 +1 @@
+../../../integration/smo/oam/sdnr
\ No newline at end of file
diff --git a/solution/operation-and-maintenance/smo/oam/web b/solution/operation-and-maintenance/smo/oam/web
new file mode 120000
index 0000000..3eb687d
--- /dev/null
+++ b/solution/operation-and-maintenance/smo/oam/web
@@ -0,0 +1 @@
+../../../integration/smo/oam/sdnc-web
\ No newline at end of file