From b1ac7253c276b1848a37f8e16d8aab93e643a97e Mon Sep 17 00:00:00 2001 From: "Timoney, Dan (dt5972)" Date: Fri, 14 Dec 2018 13:00:43 -0500 Subject: Port ODL Oxygen to alpine Add new alpine-based images for OpenDaylight Oxygen container. Change-Id: I49eb198e39a4dd71736175876e2e1af0a85d5228 Issue-ID: CCSDK-841 Signed-off-by: Timoney, Dan (dt5972) --- odlsli/odlsli-ubuntu/pom.xml | 531 ++++++++++++++++++++++++ odlsli/odlsli-ubuntu/src/main/docker/Dockerfile | 53 +++ 2 files changed, 584 insertions(+) create mode 100644 odlsli/odlsli-ubuntu/pom.xml create mode 100644 odlsli/odlsli-ubuntu/src/main/docker/Dockerfile (limited to 'odlsli/odlsli-ubuntu') diff --git a/odlsli/odlsli-ubuntu/pom.xml b/odlsli/odlsli-ubuntu/pom.xml new file mode 100644 index 00000000..ba6ad07d --- /dev/null +++ b/odlsli/odlsli-ubuntu/pom.xml @@ -0,0 +1,531 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.2.0-SNAPSHOT + + + + org.onap.ccsdk.distribution + distribution-odlsli-ubuntu + 0.4.0-SNAPSHOT + pom + + ccsdk-distribution :: odlsli + Creates SDN Controller Docker container + + openECOMP + + + + onap/ccsdk-odlsli-image + ${project.version} + ${project.version} + ${https_proxy} + yyyyMMdd'T'HHmmss'Z' + opt/opendaylight + deploy + true + 93C4A3FD7BB9C367 + + + + + ${project.groupId} + dependencies + ${project.version} + repo + zip + + + + 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.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 + netbox-client-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 + restconf-client-installer + ${ccsdk.sli.plugins.version} + repo + zip + + + org.onap.ccsdk.sli.plugins + sshapi-call-node-installer + ${ccsdk.sli.plugins.version} + repo + zip + + + org.onap.ccsdk.sli.plugins + sliplugins-features-installer + ${ccsdk.sli.plugins.version} + repo + zip + + + org.onap.ccsdk.features + features-installer + ${ccsdk.features.version} + repo + zip + + + org.onap.ccsdk.features + blueprints-processor-installer + ${ccsdk.features.version} + repo + zip + + + + + + + + org.apache.maven.wagon + wagon-http-lightweight + 2.2 + + + + + + + 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"; + } + + 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 + + + + + + + copy-scripts + + copy-resources + + validate + + ${basedir}/target/docker-stage/opt/onap/ccsdk/bin + + + ../src/main/scripts + + *.sh + + false + + + + + + + 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 + ansible-sources.list + + 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 + {} + ; + + + + + + + + + + + + + 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 + + + + + + + + + diff --git a/odlsli/odlsli-ubuntu/src/main/docker/Dockerfile b/odlsli/odlsli-ubuntu/src/main/docker/Dockerfile new file mode 100644 index 00000000..80cd95b2 --- /dev/null +++ b/odlsli/odlsli-ubuntu/src/main/docker/Dockerfile @@ -0,0 +1,53 @@ +# Base ubuntu with added packages needed for open ecomp +FROM onap/ccsdk-odl-oxygen-ubuntu-image:${project.version} +MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org) +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 +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_FEATURES_REPO mvn:org.onap.ccsdk.features/ccsdk-features-all/${ccsdk.features.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 +ENV ANSIBLE_GPG_KEY ${ansible.gpg.key} + +# copy the opendaylight credentials +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}, ${CCSDK_FEATURES_REPO}|" > $ODL_HOME/etc/org.apache.karaf.features.cfg +RUN echo featuresBoot=config,standard,region,package,kar,ssh,management,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,ccsdk-features-all >> $ODL_HOME/etc/org.apache.karaf.features.cfg + +# Create odl user +RUN useradd odl + +# Install ansible +#COPY ansible-sources.list /etc/apt/sources.list.d +#RUN gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv ${ANSIBLE_GPG_KEY} && \ +# gpg --export --armor ${ANSIBLE_GPG_KEY} | apt-key add - && \ +# apt-get update && \ +# apt-get install -y ansible + +# Install ansible-opendaylight +#RUN 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 + + +ENTRYPOINT /opt/onap/ccsdk/bin/startODL.sh +EXPOSE 8181 -- cgit 1.2.3-korg