From: Alex Stancu Date: Tue, 1 Mar 2022 09:50:40 +0000 (+0200) Subject: Create local build options for the topology-service. X-Git-Tag: 1.5.0~4 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fo1-interface.git;a=commitdiff_plain;h=aa9d6d99237739f2a07ee37774c1b815768f0596 Create local build options for the topology-service. Issue-ID: SIM-93 Change-Id: I5e238827646adb8b9dca1a7183cc1129278daa26 Signed-off-by: Alex Stancu --- diff --git a/ntsimulator/.env b/ntsimulator/.env index ca09877..638975b 100644 --- a/ntsimulator/.env +++ b/ntsimulator/.env @@ -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 diff --git a/ntsimulator/deploy/smo-nts-ng-topology-server/local.Dockerfile b/ntsimulator/deploy/smo-nts-ng-topology-server/local.Dockerfile index ca9257c..b8de220 100644 --- a/ntsimulator/deploy/smo-nts-ng-topology-server/local.Dockerfile +++ b/ntsimulator/deploy/smo-nts-ng-topology-server/local.Dockerfile @@ -20,23 +20,48 @@ 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 diff --git a/ntsimulator/docker-compose.yaml b/ntsimulator/docker-compose.yaml index ecec6b6..e063030 100644 --- a/ntsimulator/docker-compose.yaml +++ b/ntsimulator/docker-compose.yaml @@ -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: diff --git a/ntsimulator/nts-ng-docker-image-build-ubuntu.yaml b/ntsimulator/nts-ng-docker-image-build-ubuntu.yaml index 65e4973..35cb1ba 100644 --- a/ntsimulator/nts-ng-docker-image-build-ubuntu.yaml +++ b/ntsimulator/nts-ng-docker-image-build-ubuntu.yaml @@ -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 diff --git a/ntsimulator/nts_build.sh b/ntsimulator/nts_build.sh index 62619e1..ccbf9a4 100755 --- a/ntsimulator/nts_build.sh +++ b/ntsimulator/nts_build.sh @@ -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