Merge "Added a test for service supervision"
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardApplication.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardApplication.java
index b492ebd..7602c06 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardApplication.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardApplication.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardUserManager.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardUserManager.java
index ee5f3e1..0de3ae2 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardUserManager.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardUserManager.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/SpringContextCache.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/SpringContextCache.java
index aaf4665..3887e53 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/SpringContextCache.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/SpringContextCache.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java
index 52a51fb..b113d64 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -69,7 +70,8 @@
     @ExceptionHandler({RestClientResponseException.class})
     public final ResponseEntity<ErrorTransport> handleProxyMethodException(Exception ex, WebRequest request) {
         // Capture the full stack trace in the log.
-        log.error("handleProxyMethodException: request {}, exception {}", request.getDescription(false), ex);
+        log.error("handleProxyMethodException: request {}, exception {}", request.getDescription(false),
+            ex.getMessage());
         if (ex instanceof HttpStatusCodeException) {
             HttpStatusCodeException hsce = (HttpStatusCodeException) ex;
             return new ResponseEntity<>(new ErrorTransport(hsce.getRawStatusCode(), hsce.getResponseBodyAsString(),
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/SimpleErrorController.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/SimpleErrorController.java
index 78f5ca9..23af786 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/SimpleErrorController.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/SimpleErrorController.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/model/EcompUserDetails.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/model/EcompUserDetails.java
index bfeb7d1..f58dae8 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/model/EcompUserDetails.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/model/EcompUserDetails.java
@@ -3,13 +3,14 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * 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.
@@ -46,6 +47,7 @@
      * Gets a list of authorities (roles) for this user. To keep Spring happy, every
      * item has prefix ROLE_.
      */
+    @Override
     public Collection<? extends GrantedAuthority> getAuthorities() {
         List<GrantedAuthority> roleList = new ArrayList<>();
         Iterator<EcompRole> roleIter = ecompUser.getRoles().iterator();
@@ -58,26 +60,32 @@
         return roleList;
     }
 
+    @Override
     public String getPassword() {
         return null;
     }
 
+    @Override
     public String getUsername() {
         return ecompUser.getLoginId();
     }
 
+    @Override
     public boolean isAccountNonExpired() {
         return true;
     }
 
+    @Override
     public boolean isAccountNonLocked() {
         return true;
     }
 
+    @Override
     public boolean isCredentialsNonExpired() {
         return true;
     }
 
+    @Override
     public boolean isEnabled() {
         return ecompUser.isActive();
     }
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApi.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApi.java
index 7855464..25144cd 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApi.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApi.java
@@ -2,7 +2,7 @@
  * ========================LICENSE_START=================================
  * O-RAN-SC
  * %%
- * Copyright (C) 2019 AT&T Intellectual Property
+ * Copyright (C) 2019 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java
index b41c30e..a2d8c3e 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java
@@ -2,7 +2,7 @@
  * ========================LICENSE_START=================================
  * O-RAN-SC
  * %%
- * Copyright (C) 2019 AT&T Intellectual Property
+ * Copyright (C) 2019 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthManager.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthManager.java
index a94332b..d1e7adf 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthManager.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthManager.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthenticationFilter.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthenticationFilter.java
index fee668f..5c1f75c 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthenticationFilter.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalAuthenticationFilter.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalRestCentralServiceImpl.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalRestCentralServiceImpl.java
index 02a27d7..b8f3e89 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalRestCentralServiceImpl.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalRestCentralServiceImpl.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalSdkDecryptorAes.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalSdkDecryptorAes.java
index 4cbcf38..09b4dfe 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalSdkDecryptorAes.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/portalapi/PortalSdkDecryptorAes.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/util/HttpsURLConnectionUtils.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/util/HttpsURLConnectionUtils.java
index b86bbfe..a4fbcea 100644
--- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/util/HttpsURLConnectionUtils.java
+++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/util/HttpsURLConnectionUtils.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,13 +42,13 @@
 
     private static final HostnameVerifier jvmHostnameVerifier = HttpsURLConnection.getDefaultHostnameVerifier();
 
-    private static final HostnameVerifier trivialHostnameVerifier = (hostname, sslSession) -> true;
+    private static final HostnameVerifier trivialHostnameVerifier =
+        (hostname, sslSession) -> hostname.equalsIgnoreCase(sslSession.getPeerHost());
 
     private static final TrustManager[] UNQUESTIONING_TRUST_MANAGER = new TrustManager[] {new X509TrustManager() {
-        @SuppressWarnings("squid:S1168") // Must return null to get wanted behaviour.
         @Override
         public java.security.cert.X509Certificate[] getAcceptedIssuers() {
-            return null;
+            return new java.security.cert.X509Certificate[0];
         }
 
         @Override
@@ -64,7 +65,7 @@
     public static void turnOffSslChecking() throws NoSuchAlgorithmException, KeyManagementException {
         HttpsURLConnection.setDefaultHostnameVerifier(trivialHostnameVerifier);
         // Install the all-trusting trust manager
-        SSLContext sc = SSLContext.getInstance("SSL");
+        SSLContext sc = SSLContext.getInstance("TLS");
         sc.init(null, UNQUESTIONING_TRUST_MANAGER, null);
         HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
     }
@@ -72,7 +73,7 @@
     public static void turnOnSslChecking() throws KeyManagementException, NoSuchAlgorithmException {
         HttpsURLConnection.setDefaultHostnameVerifier(jvmHostnameVerifier);
         // Return it to the initial state (discovered by reflection, now hardcoded)
-        SSLContext sc = SSLContext.getInstance("SSL");
+        SSLContext sc = SSLContext.getInstance("TLS");
         sc.init(null, null, null);
         HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
     }
diff --git a/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/DashboardTestServer.java b/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/DashboardTestServer.java
index 9ed3869..80a272f 100644
--- a/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/DashboardTestServer.java
+++ b/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/DashboardTestServer.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 AT&T Intellectual Property
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/PolicyControllerMockConfiguration.java b/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/PolicyControllerMockConfiguration.java
index 9c6d40c..836463d 100644
--- a/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/PolicyControllerMockConfiguration.java
+++ b/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/PolicyControllerMockConfiguration.java
@@ -3,6 +3,7 @@
  * O-RAN-SC
  * %%
  * Copyright (C) 2019 Nordix Foundation
+ * Modifications Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/near-rt-ric-simulator/auto-test/Dockerize_test.sh b/near-rt-ric-simulator/auto-test/Dockerize_test.sh
index 93cc310..f959ef8 100755
--- a/near-rt-ric-simulator/auto-test/Dockerize_test.sh
+++ b/near-rt-ric-simulator/auto-test/Dockerize_test.sh
@@ -2,7 +2,7 @@
 
 TC_ONELINE_DESCR="dockerirze the test, setup docker container for policy agent, cbs, consul, near realtime ric simulator"
 
-. ../common/testcase_common.sh $1 $2
+. ../common/testcase_common.sh $1 $2 $3
 
 #### TEST BEGIN ####
 
@@ -16,6 +16,10 @@
 
 consul_config_app         "../simulator-group/consul_cbs/config.json"
 
+start_dashboard
+
+start_sdnc
+
 start_policy_agent
 
 check_policy_agent_logs
diff --git a/near-rt-ric-simulator/common/test_env.sh b/near-rt-ric-simulator/common/test_env.sh
index b307a69..b50a02d 100755
--- a/near-rt-ric-simulator/common/test_env.sh
+++ b/near-rt-ric-simulator/common/test_env.sh
@@ -2,10 +2,14 @@
 
 # Set the images for the Policy agent app to use for the auto tests. Do not add the image tag.
 #
-# Local image and tag, shall point to locally built image (non-nexus path)
+# Local Policy Agent image and tag, shall point to locally built image (non-nexus path)
 export POLICY_AGENT_LOCAL_IMAGE=o-ran-sc/nonrtric-policy-agent
 # Remote image
 export POLICY_AGENT_REMOTE_IMAGE=nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent
+# SDNC A1 Adapter remote image
+export SDNC_A1_ADAPTER_IMAGE=nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-a1-controller:1.7.4
+# Dashboard remote image
+export DASHBOARD_IMAGE=nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-dashboard:1.0.1
 
 # Common env var for auto-test.
 
diff --git a/near-rt-ric-simulator/common/testcase_common.sh b/near-rt-ric-simulator/common/testcase_common.sh
index d9a012e..7d55b15 100755
--- a/near-rt-ric-simulator/common/testcase_common.sh
+++ b/near-rt-ric-simulator/common/testcase_common.sh
@@ -2,7 +2,7 @@
 
 . ../common/test_env.sh
 
-echo "Test case started as: ${BASH_SOURCE[$i+1]} "$1 $2
+echo "Test case started as: ${BASH_SOURCE[$i+1]} "$1 $2 $3
 echo "Numbers of ric simulator started" $2
 
 # This is a script that contains all the functions needed for auto test
@@ -13,9 +13,10 @@
 IMAGE_TAG="1.0.0-SNAPSHOT"
 IMAGE_TAG_REMOTE="latest"
 RIC_NUMBER=$2
+SDNC=$3
 
-if [ $# -lt 1 ] || [ $# -gt 2 ]; then
-	echo "Expected arg: local  | remote  and numbers of the rics "
+if [ $# -lt 1 ] || [ $# -gt 4 ]; then
+	echo "Expected arg: local  | remote  and numbers of the rics and SDNC "
 	exit 1
 elif [ $1 == "local" ]; then
 	if [ -z $POLICY_AGENT_LOCAL_IMAGE ]; then
@@ -165,6 +166,42 @@
 	echo ""
 }
 
+start_dashboard() {
+
+  DOCKER_SIM_NWNAME="nonrtric-docker-net"
+  echo "Creating docker network $DOCKER_SIM_NWNAME, if needed"
+  docker network ls| grep $DOCKER_SIM_NWNAME > /dev/null || docker network create $DOCKER_SIM_NWNAME
+
+  echo "start dashboard"
+  curdir=$PWD
+  cd $SIM_GROUP
+  cd dashboard/
+
+  docker-compose up -d
+
+  cd $curdir
+	echo ""
+}
+
+start_sdnc() {
+
+  if [ $SDNC == "sdnc" ]; then
+    DOCKER_SIM_NWNAME="nonrtric-docker-net"
+    echo "Creating docker network $DOCKER_SIM_NWNAME, if needed"
+    docker network ls| grep $DOCKER_SIM_NWNAME > /dev/null || docker network create $DOCKER_SIM_NWNAME
+
+    echo "start sdnc"
+    curdir=$PWD
+    cd $SIM_GROUP
+    cd sdnc/
+
+    docker-compose up -d a1-controller
+
+    cd $curdir
+	  echo ""
+	fi
+}
+
 prepare_consul_config() {
   echo "prepare consul config"
   curdir=$PWD
@@ -193,6 +230,8 @@
 	echo ""
 }
 
+
+
 clean_containers() {
 	echo "Stopping all containers, policy agent app(s) and simulators with name prefix 'policy_agent'"
 	docker stop $(docker ps -q --filter name=/policy-agent) &> /dev/null
@@ -202,6 +241,16 @@
 	docker stop $(docker ps -q --filter name=ric-simulator) &> /dev/null
 	echo "Removing all containers, policy agent app and simulators with name prefix 'ric-simulator'"
 	docker rm $(docker ps -a -q --filter name=ric-simulator) &> /dev/null
+	echo "Removing all containers, policy agent app and simulators with name prefix 'dashboard'"
+	docker rm $(docker ps -a -q --filter name=dashboard) &> /dev/null
+	echo "Removing all containers, policy agent app and simulators with name prefix 'a1-controller'"
+	docker rm $(docker ps -a -q --filter name=a1-controller) &> /dev/null
+	echo "Removing all containers, policy agent app and simulators with name prefix 'sdnc_db_container'"
+	docker rm $(docker ps -a -q --filter name=sdnc_db_container) &> /dev/null
+	echo "Removing all containers, policy agent app and simulators with name prefix 'cbs'"
+	docker rm $(docker ps -a -q --filter name=polman_cbs) &> /dev/null
+	echo "Removing all containers, policy agent app and simulators with name prefix 'consul'"
+	docker rm $(docker ps -a -q --filter name=polman_consul) &> /dev/null
 	echo "Removing unused docker networks with substring 'policy agent' in network name"
 	docker network rm $(docker network ls -q --filter name=nonrtric)
 	echo ""
diff --git a/near-rt-ric-simulator/simulator-group/consul_cbs/config.json b/near-rt-ric-simulator/simulator-group/consul_cbs/config.json
index 432eddf..52acc38 100644
--- a/near-rt-ric-simulator/simulator-group/consul_cbs/config.json
+++ b/near-rt-ric-simulator/simulator-group/consul_cbs/config.json
@@ -1,11 +1,11 @@
 {
     "ric": [
         {
-            "name": "ric_ric-simulator_6",
-            "baseUrl": "http://ric_ric-simulator_6:8085/",
+            "name": "ric_ric-simulator_3",
+            "baseUrl": "http://ric_ric-simulator_3:8085/",
             "managedElementIds": [
-                "kista_ric_ric-simulator_6",
-                "stockholm_ric_ric-simulator_6"
+                "kista_ric_ric-simulator_3",
+                "stockholm_ric_ric-simulator_3"
             ]
         },
         {
@@ -17,75 +17,19 @@
             ]
         },
         {
-            "name": "ric_ric-simulator_3",
-            "baseUrl": "http://ric_ric-simulator_3:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_3",
-                "stockholm_ric_ric-simulator_3"
-            ]
-        },
-        {
-            "name": "ric_ric-simulator_7",
-            "baseUrl": "http://ric_ric-simulator_7:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_7",
-                "stockholm_ric_ric-simulator_7"
-            ]
-        },
-        {
-            "name": "ric_ric-simulator_8",
-            "baseUrl": "http://ric_ric-simulator_8:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_8",
-                "stockholm_ric_ric-simulator_8"
-            ]
-        },
-        {
-            "name": "ric_ric-simulator_5",
-            "baseUrl": "http://ric_ric-simulator_5:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_5",
-                "stockholm_ric_ric-simulator_5"
-            ]
-        },
-        {
             "name": "ric_ric-simulator_1",
             "baseUrl": "http://ric_ric-simulator_1:8085/",
             "managedElementIds": [
                 "kista_ric_ric-simulator_1",
                 "stockholm_ric_ric-simulator_1"
             ]
-        },
-        {
-            "name": "ric_ric-simulator_9",
-            "baseUrl": "http://ric_ric-simulator_9:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_9",
-                "stockholm_ric_ric-simulator_9"
-            ]
-        },
-        {
-            "name": "ric_ric-simulator_4",
-            "baseUrl": "http://ric_ric-simulator_4:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_4",
-                "stockholm_ric_ric-simulator_4"
-            ]
-        },
-        {
-            "name": "ric_ric-simulator_10",
-            "baseUrl": "http://ric_ric-simulator_10:8085/",
-            "managedElementIds": [
-                "kista_ric_ric-simulator_10",
-                "stockholm_ric_ric-simulator_10"
-            ]
         }
     ],
     "streams_publishes": {
         "dmaap_publisher": {
             "type": "message_router",
             "dmaap_info": {
-                "topic_url": "http://admin:admin@localhost:6845/events/A1-POLICY-AGENT-WRITE"
+                "topic_url": "http://message-router:3905/events/A1-POLICY-AGENT-WRITE"
             }
         }
     },
@@ -93,7 +37,7 @@
         "dmaap_subscriber": {
             "type": "message_router",
             "dmaap_info": {
-                "topic_url": "http://admin:admin@localhost:6845/events/A1-POLICY-AGENT-READ/users/policy-agent"
+                "topic_url": "http://message-router:3905/events/A1-POLICY-AGENT-READ/users/policy-agent"
             }
         }
     }
diff --git a/near-rt-ric-simulator/simulator-group/dashboard/docker-compose.yml b/near-rt-ric-simulator/simulator-group/dashboard/docker-compose.yml
new file mode 100644
index 0000000..ef4ecd3
--- /dev/null
+++ b/near-rt-ric-simulator/simulator-group/dashboard/docker-compose.yml
@@ -0,0 +1,15 @@
+networks:
+  nonrtric-docker-net:
+    external:
+      name: nonrtric-docker-net
+services:
+  dashboard:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-dashboard:1.0.1
+
+    networks:
+      nonrtric-docker-net: null
+    ports:
+    - 8080:8080
+version: '3.0'
+
+
diff --git a/near-rt-ric-simulator/simulator-group/sdnc/docker-compose.yml b/near-rt-ric-simulator/simulator-group/sdnc/docker-compose.yml
new file mode 100644
index 0000000..c5007c8
--- /dev/null
+++ b/near-rt-ric-simulator/simulator-group/sdnc/docker-compose.yml
@@ -0,0 +1,65 @@
+# ==================================================================================
+#   Modifications Copyright (c) 2019 Nordix Foundation.
+#
+#   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: '2.1'
+
+networks:
+  default:
+    driver: bridge
+    name: nonrtric-docker-net
+
+services:
+  db:
+    image: mysql/mysql-server:5.6
+    container_name: sdnc_db_container
+    networks:
+      - default
+    ports:
+      - "3306"
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - MYSQL_ROOT_HOST=%
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+
+  a1-controller:
+    image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-a1-controller:1.7.4
+    depends_on :
+      - db
+    container_name: a1-controller-container
+    networks:
+      - default
+    entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"]
+    ports:
+      - "8282:8181"
+    links:
+      - db:dbhost
+      - db:sdnctldb01
+      - db:sdnctldb02
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - SDNC_CONFIG_DIR=/opt/onap/sdnc/data/properties
+    dns:
+      - ${DNS_IP_ADDR-10.0.100.1}
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+    extra_hosts:
+        aaf.osaaf.org: 10.12.6.214