Create local build options for the topology-service. 52/7852/3
authorAlex Stancu <alexandru.stancu@highstreet-technologies.com>
Tue, 1 Mar 2022 09:50:40 +0000 (11:50 +0200)
committerAlex Stancu <alexandru.stancu@highstreet-technologies.com>
Tue, 1 Mar 2022 14:17:06 +0000 (14:17 +0000)
Issue-ID: SIM-93
Change-Id: I5e238827646adb8b9dca1a7183cc1129278daa26
Signed-off-by: Alex Stancu <alexandru.stancu@highstreet-technologies.com>
ntsimulator/.env
ntsimulator/deploy/smo-nts-ng-topology-server/local.Dockerfile
ntsimulator/docker-compose.yaml
ntsimulator/nts-ng-docker-image-build-ubuntu.yaml
ntsimulator/nts_build.sh

index ca09877..638975b 100644 (file)
@@ -1,6 +1,6 @@
 DOCKER_REPO=o-ran-sc/
 NTS_MANAGER_PORT=8300
-NTS_BUILD_VERSION=1.3.7
+NTS_BUILD_VERSION=1.4.5
 
 IPv6_ENABLED=false
 SSH_CONNECTIONS=1
index ca9257c..b8de220 100644 (file)
 FROM o-ran-sc/nts-ng-base:latest
 LABEL maintainer="alexandru.stancu@highstreet-technologies.com / adrian.lita@highstreet-technologies.com"
 
+RUN apt-get update && apt-get install -y --no-install-recommends \
+    # Opendaylight download
+    wget \
+    # Java 11
+    default-jdk \
+    python3 \
+    && rm -rf /var/lib/apt/lists/* && \
+    mkdir /opt/opendaylight
+
+WORKDIR /opt
+
+ARG ODL_VERSION=15.1.0
+
+RUN wget --no-check-certificate https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/opendaylight/$ODL_VERSION/opendaylight-$ODL_VERSION.tar.gz
+
+RUN tar -xvzf opendaylight-${ODL_VERSION}.tar.gz -C opendaylight --strip-components 1 && \
+    rm -rf opendaylight-${ODL_VERSION}.tar.gz
+
 # ntsim-ng configuration and deployment
 COPY ./yang /opt/dev/deploy/yang
 COPY ./data /opt/dev/deploy/data
 COPY ./config.json /opt/dev/ntsim-ng/config/config.json
+COPY ./org.apache.karaf.features.cfg /opt/opendaylight/etc/org.apache.karaf.features.cfg
 
 # ntsim-ng init docker
 RUN /opt/dev/ntsim-ng/ntsim-ng --container-init -w /opt/dev/ntsim-ng
 
-# finishing container build
-ARG BUILD_DATE
-LABEL build-date=$BUILD_DATE
+COPY ./callhomeConfig.py /opt/dev/workspace/callhomeConfig.py
 
 # add exposed ports
-EXPOSE 830-929
-EXPOSE 21-22
+EXPOSE 8181
 
 ENV NTS_FUNCTION_TYPE=NTS_FUNCTION_TYPE_TOPOLOGY_SERVER
+ENV NTS_NF_STANDALONE_START_FEATURES="datastore-populate netconf-call-home"
+ENV SDN_CONTROLLER_IP="127.0.0.1"
+ENV SDN_CONTROLLER_PROTOCOL="http"
+ENV SDN_CONTROLLER_PORT="8181"
+ENV SDN_CONTROLLER_CALLHOME_IP="127.0.0.1"
+ENV SDN_CONTROLLER_CALLHOME_PORT="6666"
+ENV SDN_CONTROLLER_USERNAME="admin"
+ENV SDN_CONTROLLER_PASSWORD="admin"
+ENV ODL_HOME=/opt/opendaylight
 
 # run
 WORKDIR /opt/dev/workspace
index ecec6b6..e063030 100644 (file)
@@ -21,7 +21,7 @@ services:
       IPv6_ENABLED: ${IPv6_ENABLED}
       SSH_CONNECTIONS: ${SSH_CONNECTIONS}
       TLS_CONNECTIONS: ${TLS_CONNECTIONS}
-            
+
       SDN_CONTROLLER_PROTOCOL: ${SDN_CONTROLLER_PROTOCOL}
       SDN_CONTROLLER_IP: ${SDN_CONTROLLER_IP}
       SDN_CONTROLLER_PORT: ${SDN_CONTROLLER_PORT}
@@ -37,8 +37,6 @@ services:
       VES_ENDPOINT_AUTH_METHOD: ${VES_ENDPOINT_AUTH_METHOD}
       VES_ENDPOINT_USERNAME: ${VES_ENDPOINT_USERNAME}
       VES_ENDPOINT_PASSWORD: ${VES_ENDPOINT_PASSWORD}
-    # networks:
-    #   app_net:
 
   ntsim-ng-o-ru:
     image: "${DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
@@ -79,9 +77,6 @@ services:
       VES_ENDPOINT_USERNAME: ${VES_ENDPOINT_USERNAME}
       VES_ENDPOINT_PASSWORD: ${VES_ENDPOINT_PASSWORD}
 
-    # networks:
-    #   app_net:
-
   ntsim-ng-o-du:
     image: "${DOCKER_REPO}nts-ng-o-ran-du:${NTS_BUILD_VERSION}"
     cap_add:
@@ -104,7 +99,7 @@ services:
       NTS_HOST_NETCONF_TLS_BASE_PORT: ${NTS_HOST_NETCONF_TLS_BASE_PORT}
       NTS_HOST_TRANSFER_FTP_BASE_PORT: ${NTS_HOST_TRANSFER_FTP_BASE_PORT}
       NTS_HOST_TRANSFER_SFTP_BASE_PORT: ${NTS_HOST_TRANSFER_SFTP_BASE_PORT}
-      
+
       SDN_CONTROLLER_PROTOCOL: ${SDN_CONTROLLER_PROTOCOL}
       SDN_CONTROLLER_IP: ${SDN_CONTROLLER_IP}
       SDN_CONTROLLER_PORT: ${SDN_CONTROLLER_PORT}
@@ -120,16 +115,18 @@ services:
       VES_ENDPOINT_AUTH_METHOD: ${VES_ENDPOINT_AUTH_METHOD}
       VES_ENDPOINT_USERNAME: ${VES_ENDPOINT_USERNAME}
       VES_ENDPOINT_PASSWORD: ${VES_ENDPOINT_PASSWORD}
-    # networks:
-    #   app_net:
-  
-# networks:
-#   app_net:
-#     driver: bridge
-#     ipam:
-#       driver: default
 
-# We can attach to any other docker network, like in the example below        
+  o-ran-sc-topology-service:
+    image: "${DOCKER_REPO}o-ran-sc-topology-service:${NTS_BUILD_VERSION}"
+    stop_grace_period: 5m
+    hostname: "o-ran-sc-topology-service"
+    ports:
+      - ":::58181:8181"
+    volumes:
+        - ./deploy/smo-nts-ng-topology-server/data/tapi-common-operational.json:/opt/dev/deploy/data/tapi-common-operational.json
+        - ./deploy/smo-nts-ng-topology-server/data/tapi-common-running.json:/opt/dev/deploy/data/tapi-common-running.json
+
+# We can attach to any other docker network, like in the example below
 networks:
   default:
     external:
index 65e4973..35cb1ba 100644 (file)
@@ -89,3 +89,12 @@ services:
       labels:
        - "description=nts-ng"
       dockerfile: local.Dockerfile
+
+  ###################################################
+  ####### Topology service image
+  ###################################################
+  o-ran-sc-topology-service:
+    image: ${DOCKER_REPO}o-ran-sc-topology-service:${NTS_BUILD_VERSION}
+    build:
+      context: ./deploy/smo-nts-ng-topology-server
+      dockerfile: local.Dockerfile
index 62619e1..ccbf9a4 100755 (executable)
@@ -1,4 +1,20 @@
 #!/bin/bash
 
+################################################################################
+# 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.
+################################################################################
+
 source .env
-docker-compose -f nts-ng-docker-image-build-ubuntu.yaml build --build-arg NTS_BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') --build-arg NTS_BUILD_VERSION=$NTS_BUILD_VERSION
+docker-compose -f nts-ng-docker-image-build-ubuntu.yaml build --build-arg NTS_BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') --build-arg NTS_BUILD_VERSION=$NTS_BUILD_VERSION nts-ng-base o-ran-sc-topology-service