From e14a02086c9119532f9153c78346d5c1d6789ca9 Mon Sep 17 00:00:00 2001 From: "Timoney, Dan (dt5972)" Date: Fri, 22 Jun 2018 17:05:16 -0400 Subject: [PATCH] Improve odlsli startup time Improved odlsli startup time by moving feature installation to build time, using ansible-opendaylight. Change-Id: I3f846da70e9aa0b8ce818ff83811c1b52aef1436 Issue-ID: CCSDK-285 Signed-off-by: Timoney, Dan (dt5972) --- odlsli/pom.xml | 844 +++++++++++++----------- odlsli/src/main/docker/Dockerfile | 41 +- odlsli/src/main/resources/install_ccsdk.yml | 15 + odlsli/src/main/scripts/installCcsdkFeatures.sh | 103 --- odlsli/src/main/scripts/installFeatures.sh | 26 - odlsli/src/main/scripts/installZips.sh | 121 ---- odlsli/src/main/scripts/startODL.sh | 18 +- opendaylight/oxygen/src/main/docker/Dockerfile | 17 +- 8 files changed, 516 insertions(+), 669 deletions(-) create mode 100644 odlsli/src/main/resources/install_ccsdk.yml delete mode 100644 odlsli/src/main/scripts/installCcsdkFeatures.sh delete mode 100644 odlsli/src/main/scripts/installFeatures.sh delete mode 100644 odlsli/src/main/scripts/installZips.sh diff --git a/odlsli/pom.xml b/odlsli/pom.xml index 7a63ca23..6f8dfd26 100644 --- a/odlsli/pom.xml +++ b/odlsli/pom.xml @@ -1,416 +1,476 @@ - - 4.0.0 + + 4.0.0 - - org.onap.ccsdk.parent - odlparent-lite - 1.1.0-SNAPSHOT - - + + org.onap.ccsdk.parent + odlparent-lite + 1.1.0-SNAPSHOT + + - org.onap.ccsdk.distribution - distribution-odlsli - 0.3.0-SNAPSHOT - pom + org.onap.ccsdk.distribution + distribution-odlsli + 0.3.0-SNAPSHOT + pom - ccsdk-distribution :: odlsli - Creates SDN Controller Docker container - - openECOMP - + ccsdk-distribution :: odlsli + Creates SDN Controller Docker container + + openECOMP + - - onap/ccsdk-odlsli-image - ${project.version} - ${https_proxy} - yyyyMMdd'T'HHmmss'Z' - deploy - + + onap/ccsdk-odlsli-image + ${project.version} + ${https_proxy} + yyyyMMdd'T'HHmmss'Z' + opt/opendaylight + deploy + - + + + org.onap.ccsdk.sli.core + dblib-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.core + filters-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.core + sli-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.core + sliapi-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.core + sliPluginUtils-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.core + utils-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.core + slicore-features-installer + ${ccsdk.sli.core.version} + repo + zip + + + org.onap.ccsdk.sli.adaptors + aai-service-installer + ${ccsdk.sli.adaptors.version} + repo + zip + - org.onap.ccsdk.sli.core - dblib-installer - ${ccsdk.sli.core.version} - zip - - - org.onap.ccsdk.sli.core - filters-installer - ${ccsdk.sli.core.version} - zip - - - org.onap.ccsdk.sli.core - sli-installer - ${ccsdk.sli.core.version} - zip - - - org.onap.ccsdk.sli.core - sliapi-installer - ${ccsdk.sli.core.version} - zip - - - org.onap.ccsdk.sli.core - sliPluginUtils-installer - ${ccsdk.sli.core.version} - zip - - - org.onap.ccsdk.sli.core - utils-installer - ${ccsdk.sli.core.version} - zip - - - org.onap.ccsdk.sli.adaptors - aai-service-installer - ${ccsdk.sli.adaptors.version} - zip - - - org.onap.ccsdk.sli.adaptors - mdsal-resource-installer - ${ccsdk.sli.adaptors.version} - zip - - - org.onap.ccsdk.sli.adaptors - resource-assignment-installer - ${ccsdk.sli.adaptors.version} - zip - - - org.onap.ccsdk.sli.adaptors - sql-resource-installer - ${ccsdk.sli.adaptors.version} - zip - - - org.onap.ccsdk.sli.northbound - asdcApi-installer - ${ccsdk.sli.northbound.version} - zip - - - org.onap.ccsdk.sli.northbound - dataChange-installer - ${ccsdk.sli.northbound.version} - zip - - - org.onap.ccsdk.sli.plugins - properties-node-installer - ${ccsdk.sli.plugins.version} - zip - - - org.onap.ccsdk.sli.plugins - restapi-call-node-installer - ${ccsdk.sli.plugins.version} - zip - - + org.onap.ccsdk.sli.adaptors + ansible-adapter-installer + ${ccsdk.sli.adaptors.version} + repo + zip + + + org.onap.ccsdk.sli.adaptors + mdsal-resource-installer + ${ccsdk.sli.adaptors.version} + repo + zip + + + org.onap.ccsdk.sli.adaptors + resource-assignment-installer + ${ccsdk.sli.adaptors.version} + repo + zip + + + org.onap.ccsdk.sli.adaptors + sql-resource-installer + ${ccsdk.sli.adaptors.version} + repo + zip + + + org.onap.ccsdk.sli.adaptors + sliadaptors-features-installer + ${ccsdk.sli.adaptors.version} + repo + zip + + + org.onap.ccsdk.sli.northbound + asdcApi-installer + ${ccsdk.sli.northbound.version} + repo + zip + + + org.onap.ccsdk.sli.northbound + dataChange-installer + ${ccsdk.sli.northbound.version} + repo + zip + + + org.onap.ccsdk.sli.northbound + lcm-installer + ${ccsdk.sli.northbound.version} + repo + zip + + + org.onap.ccsdk.sli.northbound + slinorthbound-features-installer + ${ccsdk.sli.northbound.version} + repo + zip + + + org.onap.ccsdk.sli.plugins + properties-node-installer + ${ccsdk.sli.plugins.version} + repo + zip + + + org.onap.ccsdk.sli.plugins + restapi-call-node-installer + ${ccsdk.sli.plugins.version} + repo + zip + + + org.onap.ccsdk.sli.plugins + sliplugins-features-installer + ${ccsdk.sli.plugins.version} + repo + zip + + - - + + - - org.codehaus.groovy.maven - gmaven-plugin - - - validate - - execute - - - - println project.properties['ccsdk.project.version']; - def versionArray; - if (project.properties['ccsdk.project.version'] != null ) { - versionArray = project.properties['ccsdk.project.version'].split('\\.'); - } + + org.codehaus.groovy.maven + gmaven-plugin + + + validate + + execute + + + + println project.properties['ccsdk.project.version']; + def versionArray; + if (project.properties['ccsdk.project.version'] != null ) { + versionArray = project.properties['ccsdk.project.version'].split('\\.'); + } - if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) { - project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; - } else { - project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; - } + if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) { + project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; + } else { + project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest"; + } - println 'New Tag for docker:' + project.properties['project.docker.latesttag.version']; - - - - - + println 'New Tag for docker:' + project.properties['project.docker.latesttag.version']; + + + + + - - maven-resources-plugin - 2.6 - - - copy-dockerfile - - copy-resources - - validate - - ${basedir}/target/docker-stage - - - src/main/docker - - Dockerfile - - true - - - - + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/docker + + Dockerfile + + true + + + + - - copy-scripts - - copy-resources - - validate - - ${basedir}/target/docker-stage/opt/onap/ccsdk/bin - - - src/main/scripts - - *.sh - - false - - - - + + copy-scripts + + copy-resources + + validate + + ${basedir}/target/docker-stage/opt/onap/ccsdk/bin + + + src/main/scripts + + *.sh + + false + + + + - - copy-tarballs - - copy-resources - - validate - - ${basedir}/target/docker-stage - - - src/main/resources - - idmlight.db.mv.db - - false - - - - - - copy-config - - copy-resources - - validate - - ${basedir}/target/docker-stage - - - src/main/resources - - org.ops4j.pax.logging.cfg - - false - - - - - - copy-data - - copy-resources - - validate - - ${basedir}/target/docker-stage/opt/onap/ccsdk/data - - - src/main/resources - - *.dump - - false - - - - - - copy-properties - - copy-resources - - validate - - ${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties - - - src/main/properties - - *.properties - - false - - - - - - copy-keystores - - copy-resources - - validate - - ${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores - - - src/main/stores - - *.jks - - false - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.0.2 - - - unpack features - generate-sources - - unpack-dependencies - - - ${basedir}/target/docker-stage/opt/onap/ccsdk/features - true - - - - unpack dgs - generate-sources - - unpack - - - ${basedir}/target/docker-stage/opt/onap/ccsdk - - - ${project.groupId} - platform-logic-installer - ${project.version} - zip - - - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.5.0 - + + copy-odl-resources + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/resources + + idmlight.db.mv.db + org.ops4j.pax.logging.cfg + install_ccsdk.yml + + false + + + + + + copy-config + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/resources + + org.ops4j.pax.logging.cfg + + false + + + + + + copy-data + + copy-resources + + validate + + ${basedir}/target/docker-stage/opt/onap/ccsdk/data + + + src/main/resources + + *.dump + + false + + + + + + copy-properties + + copy-resources + + validate + + ${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties + + + src/main/properties + + *.properties + + false + + + + + + copy-keystores + + copy-resources + + validate + + ${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores + + + src/main/stores + + *.jks + + false + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.2 + + + unpack features + generate-sources + + unpack-dependencies + + + ${basedir}/target/docker-stage + true + + + + unpack dgs + generate-sources + + unpack + + + ${basedir}/target/docker-stage/opt/onap/ccsdk + + + ${project.groupId} + platform-logic-installer + ${project.version} + zip + + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.5.0 + - - change shell permissions - process-sources - - exec - - - /usr/bin/find - - ${basedir}/target/docker-stage/opt/onap/ccsdk - -name - *.sh - -exec - chmod - +x - {} - ; - - - - - + + change shell permissions + process-sources + + exec + + + /usr/bin/find + + ${basedir}/target/docker-stage/opt/onap/ccsdk + -name + *.sh + -exec + chmod + +x + {} + ; + + + + + - - + + - - - docker - - - - io.fabric8 - docker-maven-plugin - 0.16.5 - false - - - - ${image.name} - - try - ${basedir}/target/docker-stage - ${basedir}/target/docker-stage/Dockerfile - - ${project.version} - ${project.version}-STAGING-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - - generate-images - package - - build - - + + + docker + + + + io.fabric8 + docker-maven-plugin + 0.16.5 + false + + + + ${image.name} + + try + ${basedir}/target/docker-stage + ${basedir}/target/docker-stage/Dockerfile + + ${project.version} + ${project.version}-STAGING-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + + generate-images + package + + build + + - - push-images - ${docker.push.phase} - - build - push - - - - - - - - + + push-images + ${docker.push.phase} + + build + push + + + + + + + + diff --git a/odlsli/src/main/docker/Dockerfile b/odlsli/src/main/docker/Dockerfile index f6aeda6d..4d4d3737 100644 --- a/odlsli/src/main/docker/Dockerfile +++ b/odlsli/src/main/docker/Dockerfile @@ -1,17 +1,46 @@ # Base ubuntu with added packages needed for open ecomp FROM onap/ccsdk-odl-oxygen-image:${project.version} -MAINTAINER CCSDK Team (onap-ccsdk@lists.openecomp.org) +MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org) ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 -ENV ODL_HOME /opt/opendaylight/current +ENV ODL_HOME /opt/opendaylight ENV SDNC_CONFIG_DIR /opt/onap/ccsdk/data/properties - +ENV CCSDK_SLI_CORE_REPO mvn:org.onap.ccsdk.sli.core/ccsdk-sli-core-all/${ccsdk.sli.core.version}/xml/features +ENV CCSDK_SLI_ADAPTORS_REPO mvn:org.onap.ccsdk.sli.adaptors/ccsdk-sli-adaptors-all/${ccsdk.sli.adaptors.version}/xml/features +ENV CCSDK_SLI_NORTHBOUND_REPO mvn:org.onap.ccsdk.sli.northbound/ccsdk-sli-northbound-all/${ccsdk.sli.northbound.version}/xml/features +ENV CCSDK_SLI_PLUGINS_REPO mvn:org.onap.ccsdk.sli.plugins/ccsdk-sli-plugins-all/${ccsdk.sli.plugins.version}/xml/features # copy the opendaylight credentials -COPY idmlight.db.mv.db /opt/opendaylight/current +COPY idmlight.db.mv.db $ODL_HOME/data + + +# copy CCSDK mvn artifacts to ODL repository +COPY system /tmp/system +RUN rsync -a /tmp/system $ODL_HOME && rm -rf /tmp/system + +# Add CCSDK repositories to boot repositories +RUN cp $ODL_HOME/etc/org.apache.karaf.features.cfg $ODL_HOME/etc/org.apache.karaf.features.cfg.orig +RUN cat $ODL_HOME/etc/org.apache.karaf.features.cfg.orig | sed -e "\|featuresRepositories|s|$|, ${CCSDK_SLI_CORE_REPO}, ${CCSDK_SLI_ADAPTORS_REPO}, ${CCSDK_SLI_NORTHBOUND_REPO}, ${CCSDK_SLI_PLUGINS_REPO}|" > $ODL_HOME/etc/org.apache.karaf.features.cfg + +# Create odl user +RUN useradd odl + +# Install ansible-opendaylight +RUN apt install -y software-properties-common && \ + apt-add-repository -y ppa:ansible/ansible && \ + apt update && \ + apt install -y ansible && \ + ansible-galaxy install git+https://git.opendaylight.org/gerrit/integration/packaging/ansible-opendaylight + +# Copy ccsdk install playbook +COPY install_ccsdk.yml /tmp + +# Install features in ODL +RUN ansible-playbook -i "localhost," -c local /tmp/install_ccsdk.yml + # copy deliverables to opt COPY opt /opt +COPY org.ops4j.pax.logging.cfg /opt/opendaylight/etc/org.ops4j.pax.logging.cfg -COPY org.ops4j.pax.logging.cfg /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg -# ENTRYPOINT exec /opt/opendaylight/current/bin/karaf +ENTRYPOINT /opt/onap/ccsdk/bin/startODL.sh EXPOSE 8181 diff --git a/odlsli/src/main/resources/install_ccsdk.yml b/odlsli/src/main/resources/install_ccsdk.yml new file mode 100644 index 00000000..c478bfea --- /dev/null +++ b/odlsli/src/main/resources/install_ccsdk.yml @@ -0,0 +1,15 @@ +--- +- hosts: all + become: yes + roles: + - role: ansible-opendaylight + # ODL is already installed, so no need to specify installation method. Specify extra features to install + extra_features: + - odl-restconf-all + - odl-mdsal-all + - odl-mdsal-apidocs + - odl-daexim-all + - ccsdk-sli-core-all + - ccsdk-sli-adaptors-all + - ccsdk-sli-northbound-all + - ccsdk-sli-plugins-all \ No newline at end of file diff --git a/odlsli/src/main/scripts/installCcsdkFeatures.sh b/odlsli/src/main/scripts/installCcsdkFeatures.sh deleted file mode 100644 index 0b386306..00000000 --- a/odlsli/src/main/scripts/installCcsdkFeatures.sh +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash - -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 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. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} -ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} -CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk} -CCSDK_FEATURE_DIR=${CCSDK_FEATURE_DIR:-${CCSDK_HOME}/features} - -CCSDK_CORE_FEATURES=" \ - slicore-utils \ - dblib \ - sli \ - filters \ - sliPluginUtils \ - sliapi" - -CCSDK_ADAPTORS_FEATURES=" \ - aai-service \ - mdsal-resource \ - resource-assignment \ - sql-resource" - -CCSDK_NORTHBOUND_FEATURES=" \ - asdcApi \ - dataChange" - -CCSDK_PLUGINS_FEATURES=" \ - properties-node \ - restapi-call-node" - - -CCSDK_CORE_VERSION=${CCSDK_CORE_VERSION:-0.0.1-SNAPSHOT} -CCSDK_ADAPTORS_VERSION=${CCSDK_ADAPTORS_VERSION:-0.0.1-SNAPSHOT} -CCSDK_NORTHBOUND_VERSION=${CCSDK_NORTHBOUND_VERSION:-0.0.1-SNAPSHOT} -CCSDK_PLUGINS_VERSION=${CCSDK_PLUGINS_VERSION:-0.0.1-SNAPSHOT} - -echo "Enabling core features" -${ODL_HOME}/bin/client feature:install odl-restconf-all odl-mdsal-all odl-mdsal-apidocs odl-daexim-all - -echo "Installing CCSDK sli/core" -for feature in ${CCSDK_CORE_FEATURES} -do - if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ] - then - ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh - else - echo "No installer found for feature ccsdk-${feature}" - fi -done - -echo "Installing CCSDK sli/adaptors" -for feature in ${CCSDK_ADAPTORS_FEATURES} -do - if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ] - then - ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh - else - echo "No installer found for feature ccsdk-${feature}" - fi -done - -echo "Installing CCSDK sli/northbound" -for feature in ${CCSDK_NORTHBOUND_FEATURES} -do - if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ] - then - ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh - else - echo "No installer found for feature ccsdk-${feature}" - fi -done - - -echo "Installing CCSDK sli/plugins" -for feature in ${CCSDK_PLUGINS_FEATURES} -do - if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ] - then - ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh - else - echo "No installer found for feature ccsdk-${feature}" - fi -done diff --git a/odlsli/src/main/scripts/installFeatures.sh b/odlsli/src/main/scripts/installFeatures.sh deleted file mode 100644 index e6b35bdd..00000000 --- a/odlsli/src/main/scripts/installFeatures.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 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. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk} - -${CCSDK_HOME}/bin/installCcsdkFeatures.sh \ No newline at end of file diff --git a/odlsli/src/main/scripts/installZips.sh b/odlsli/src/main/scripts/installZips.sh deleted file mode 100644 index f3d296a2..00000000 --- a/odlsli/src/main/scripts/installZips.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/bash - -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 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. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -if [ -z "$SETTINGS_FILE" -a -z "$GLOBAL_SETTINGS_FILE" -a -s "$HOME"/.m2/settings.xml ] -then - DEFAULT_MAVEN_SETTINGS=${HOME}/.m2/settings.xml - SETTINGS_FILE=${SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}} - GLOBAL_SETTINGS_FILE=${GLOBAL_SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}} -fi - -CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk} - -targetDir=${1:-${CCSDK_HOME}} -featureDir=${targetDir}/features - -CCSDK_CORE_FEATURES=" \ - utils \ - dblib \ - filters \ - sli \ - sliPluginUtils \ - sliapi" - -CCSDK_ADAPTORS_FEATURES=" \ - aai-service \ - mdsal-resource \ - resource-assignment \ - sql-resource" - -CCSDK_NORTHBOUND_FEATURES=" \ - asdcApi \ - dataChange " - -CCSDK_PLUGINS_FEATURES=" \ - properties-node \ - restapi-call-node" - -CCSDK_CORE_VERSION=${CCSDK_CORE_VERSION:-0.2.1-SNAPSHOT} -CCSDK_ADAPTORS_VERSION=${CCSDK_ADAPTORS_VERSION:-0.2.1-SNAPSHOT} -CCSDK_NORTHBOUND_VERSION=${CCSDK_NORTHBOUND_VERSION:-0.2.1-SNAPSHOT} -CCSDK_PLUGINS_VERSION=${CCSDK_PLUGINS_VERSION:-0.2.1-SNAPSHOT} - -if [ ! -d ${targetDir} ] -then - mkdir -p ${targetDir} -fi - -if [ ! -d ${featureDir} ] -then - mkdir -p ${featureDir} -fi - -cwd=$(pwd) - -mavenOpts=${2:-"-s ${SETTINGS_FILE} -gs ${GLOBAL_SETTINGS_FILE}"} -cd /tmp - -echo "Installing CCSDK sli/core version ${CCSDK_CORE_VERSION}" -for feature in ${CCSDK_CORE_FEATURES} -do - rm -f /tmp/${feature}-installer*.zip -mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.core:${feature}-installer:${CCSDK_CORE_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true - unzip -d ${featureDir} /tmp/${feature}-installer*zip -done - -echo "Installing CCSDK sli/adaptors version ${CCSDK_ADAPTORS_VERSION}" -for feature in ${CCSDK_ADAPTORS_FEATURES} -do - rm -f /tmp/${feature}-installer*.zip -mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.adaptors:${feature}-installer:${CCSDK_ADAPTORS_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true - unzip -d ${featureDir} /tmp/${feature}-installer*zip -done - -echo "Installing CCSDK sli/northbound version ${CCSDK_NORTHBOUND_VERSION}" -for feature in ${CCSDK_NORTHBOUND_FEATURES} -do - rm -f /tmp/${feature}-installer*.zip -mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.northbound:${feature}-installer:${CCSDK_NORTHBOUND_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true - unzip -d ${featureDir} /tmp/${feature}-installer*zip -done - - -echo "Installing CCSDK sli/plugins version ${CCSDK_PLUGINS_VERSION}" -for feature in ${CCSDK_PLUGINS_FEATURES} -do - rm -f /tmp/${feature}-installer*.zip -mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.plugins:${feature}-installer:${CCSDK_PLUGINS_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true - unzip -d ${featureDir} /tmp/${feature}-installer*zip -done - - - -echo "Installing CCSDK platform-logic" -rm -f /tmp/platform-logic-installer*.zip -mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.distribution:platform-logic-installer:${CCSDK_OAM_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true -unzip -d ${targetDir} /tmp/platform-logic-installer*.zip - -find ${targetDir} -name '*.sh' -exec chmod +x '{}' \; - -cd $cwd - diff --git a/odlsli/src/main/scripts/startODL.sh b/odlsli/src/main/scripts/startODL.sh index 6b42937c..8c45dda5 100644 --- a/odlsli/src/main/scripts/startODL.sh +++ b/odlsli/src/main/scripts/startODL.sh @@ -24,7 +24,7 @@ # Install SDN-C platform components if not already installed and start container -ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} +ODL_HOME=${ODL_HOME:-/opt/opendaylight} ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk} SLEEP_TIME=${SLEEP_TIME:-120} @@ -46,24 +46,14 @@ if [ ! -f ${CCSDK_HOME}/.installed ] then echo "Installing SDN-C database" ${CCSDK_HOME}/bin/installSdncDb.sh - echo "Starting OpenDaylight" - ${CCSDK_HOME}/bin/installOdlHostKey.sh - ${ODL_HOME}/bin/start - echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize" - sleep ${SLEEP_TIME} - echo "Installing SDN-C platform features" - ${CCSDK_HOME}/bin/installFeatures.sh + # echo "Installing OpenDaylight host key" + # ${CCSDK_HOME}/bin/installOdlHostKey.sh if [ -x ${CCSDK_HOME}/svclogic/bin/install.sh ] then echo "Installing directed graphs" ${CCSDK_HOME}/svclogic/bin/install.sh fi - - echo "Restarting OpenDaylight" - ${ODL_HOME}/bin/stop - echo "Waiting 60 seconds for OpenDaylight stop to complete" - sleep 60 echo "Installed at `date`" > ${CCSDK_HOME}/.installed fi -exec ${ODL_HOME}/bin/karaf +exec ${ODL_HOME}/bin/karaf server diff --git a/opendaylight/oxygen/src/main/docker/Dockerfile b/opendaylight/oxygen/src/main/docker/Dockerfile index f5c2324c..93811de9 100644 --- a/opendaylight/oxygen/src/main/docker/Dockerfile +++ b/opendaylight/oxygen/src/main/docker/Dockerfile @@ -6,14 +6,17 @@ ENV ODL_HOME /opt/opendaylight/current # copy the opendaylight tar and expand COPY karaf-${ccsdk.opendaylight.version}.tar.gz /tmp/ -RUN mkdir /opt/opendaylight \ - && tar zxvf /tmp/karaf-${ccsdk.opendaylight.version}.tar.gz --directory /opt/opendaylight \ +RUN mkdir /opt/odl \ + && tar zxvf /tmp/karaf-${ccsdk.opendaylight.version}.tar.gz --directory /opt/odl \ && rm -rf /tmp/karaf-${ccsdk.opendaylight.version}.tar.gz \ - && mv /opt/opendaylight/karaf-${ccsdk.opendaylight.version} /opt/opendaylight/current \ - && ln -s /opt/opendaylight/current /opt/opendaylight/karaf-${ccsdk.opendaylight.version} + && mv /opt/odl/karaf-${ccsdk.opendaylight.version} /opt/opendaylight \ + && ln -s /opt/opendaylight /opt/opendaylight/karaf-${ccsdk.opendaylight.version} \ + && ln -s /opt/opendaylight /opt/opendaylight/current + # workaround till we get proxy working -RUN mkdir -p /opt/opendaylight/current/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version} -COPY mariadb-java-client-${ccsdk.mariadb-connector-java.version}.jar /opt/opendaylight/current/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version} -# ENTRYPOINT exec /opt/opendaylight/current/bin/karaf +RUN mkdir -p /opt/opendaylight/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version} +COPY mariadb-java-client-${ccsdk.mariadb-connector-java.version}.jar /opt/opendaylight/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version} + +# ENTRYPOINT exec /opt/opendaylight/bin/karaf EXPOSE 8181 -- 2.16.6