RAN Slice - Termination testing
[ccsdk/distribution.git] / opendaylight / aluminum / aluminum-alpine / src / main / docker / Dockerfile
index 11eeacd..978a091 100644 (file)
@@ -1,22 +1,52 @@
-FROM onap/ccsdk-alpine-j11-image:${project.docker.latestfulltag.version}
-MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org)
+# Prepare stage for multistage image build
+## START OF STAGE0 ##
+FROM onap/ccsdk-alpine-j11-image:${project.docker.latestfulltag.version} AS stage0
+USER root
 
 ENV ODL_HOME /opt/opendaylight/current
 
 # copy the opendaylight tar and expand
-USER root
 COPY ${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz /tmp/
 RUN mkdir -p /opt/odl \
-    && tar zxvf /tmp/${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz --directory /opt/odl \
+    && tar xzf /tmp/${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz --directory /opt/odl \
     && rm -rf /tmp/${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz \
     && mv /opt/odl/${odl.karaf.artifactId}-${ccsdk.opendaylight.version} /opt/opendaylight \
     && ln -s  /opt/opendaylight /opt/opendaylight/${odl.karaf.artifactId}-${ccsdk.opendaylight.version} \
     && ln -s /opt/opendaylight /opt/opendaylight/current
 
+# Enable wheel and create a group and user
+RUN sed -i -e 's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers \
+    && addgroup -S odl \
+    && adduser -S odl -G odl \
+    && addgroup odl wheel
+
+# Patch some opendaylight artifacts
+COPY system $ODL_HOME/system
+
 # Add missing scripts see SDNC-1056
 #COPY configure_cluster.sh configure-cluster-ipdetect.sh custom_shard_config.txt set_persistence.sh $ODL_HOME/bin/
 #RUN chmod 755 $ODL_HOME/bin/configure_cluster.sh $ODL_HOME/bin/configure-cluster-ipdetect.sh $ODL_HOME/bin/set_persistence.sh $ODL_HOME/bin/custom_shard_config.txt
 
-# ENTRYPOINT exec /opt/opendaylight/bin/karaf
-USER onap
+# Changing ownership and permission of /opt
+RUN chown -R odl:odl /opt && chmod -R 755 /opt
+
+## END OF STAGE0 ##
+
+#################################################
+
+## This will create actual image
+FROM scratch
+MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org)
+USER root
+
+ENV JAVA_HOME=/opt/java/openjdk \
+    PATH=$PATH:/opt/java/openjdk/bin \
+    ODL_HOME=/opt/opendaylight/current
+
+# Copy Everything from stage0
+COPY --from=stage0 / /
+
+USER odl
 EXPOSE 8181
+WORKDIR $ODL_HOME
+# ENTRYPOINT exec /opt/opendaylight/bin/karaf