diff options
Diffstat (limited to 'installation')
-rw-r--r-- | installation/appc/pom.xml | 1 | ||||
-rw-r--r-- | installation/appc/src/main/docker/Dockerfile | 10 | ||||
-rw-r--r-- | installation/appc/src/main/scripts/installZips.sh | 36 |
3 files changed, 39 insertions, 8 deletions
diff --git a/installation/appc/pom.xml b/installation/appc/pom.xml index 3cebf5e..3711292 100644 --- a/installation/appc/pom.xml +++ b/installation/appc/pom.xml @@ -401,6 +401,7 @@ <arguments> <argument>${basedir}/src/main/scripts/installZips.sh</argument> <argument>${basedir}/target/docker-stage/opt/onap/appc</argument> + <argument>${basedir}/target/docker-stage</argument> </arguments> </configuration> </execution> diff --git a/installation/appc/src/main/docker/Dockerfile b/installation/appc/src/main/docker/Dockerfile index 4d72862..3ec21e2 100644 --- a/installation/appc/src/main/docker/Dockerfile +++ b/installation/appc/src/main/docker/Dockerfile @@ -7,6 +7,16 @@ ENV APPC_CONFIG_DIR /opt/onap/appc/data/properties # Copy the opt folder to the container's /opt folder COPY opt /opt + +# We are keeping the feature installers in their +# own folders in the docker staging repository. +# The number of feature directories is defined in +# the installZips.sh file. +COPY featureDir1 /opt/onap/appc/features +COPY featureDir2 /opt/onap/appc/features +COPY featureDir3 /opt/onap/appc/features +COPY featureDir4 /opt/onap/appc/features + RUN ln -s /opt/onap/appc /opt/appc # Expose port 8181 for ODL REST calls diff --git a/installation/appc/src/main/scripts/installZips.sh b/installation/appc/src/main/scripts/installZips.sh index 8d8213d..dca7ec4 100644 --- a/installation/appc/src/main/scripts/installZips.sh +++ b/installation/appc/src/main/scripts/installZips.sh @@ -34,7 +34,16 @@ SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc} targetDir=${1:-${APPC_HOME}} sdnc_targetDir=${1:-${SDNC_HOME}} -featureDir=${targetDir}/features +#We are going to use a series of directories in the docker-stage folder to extract features to. +#By extracting features into more than one directory, we can copy them into the docker image in +#different parts, creating more even layer sizes in the docker image. +featureDir=$2/featureDir + +#This value determine how many feature directories we want. The featutures will be evenly split +#into the number of directories specified. Any remainder will be put into the last directory. +#IF THE FEATURES_DIRECTORY_COUNT IS CHANGED, THE DOCKERFILE MUST ALSO BE UPDATED SINCE IT CONTAINS +#A COPY COMMAND FOR EACH FEATURE DIRECTORY!! See the Dockerfile for more information. +FEATURE_DIRECTORY_COUNT=4 APPC_FEATURES=" \ appc-sdc-listener \ @@ -64,6 +73,8 @@ APPC_FEATURES=" \ appc-config-params \ appc-aai-client" +FEATURES_PER_DIRECTORY=$(($(echo $APPC_FEATURES|wc -w)/$FEATURE_DIRECTORY_COUNT)) + APPC_VERSION=${APPC_VERSION:-0.0.1} APPC_OAM_VERSION=${APPC_OAM_VERSION:-0.1.1} @@ -72,22 +83,31 @@ then mkdir -p ${targetDir} fi -if [ ! -d ${featureDir} ] -then - mkdir -p ${featureDir} -fi - cwd=$(pwd) -mavenOpts=${2:-"-s ${SETTINGS_FILE} -gs ${GLOBAL_SETTINGS_FILE}"} +mavenOpts="-s ${SETTINGS_FILE} -gs ${GLOBAL_SETTINGS_FILE}" cd /tmp echo "Installing APP-C version ${APPC_VERSION}" + +#The math for splitting up the features into folders +featureNumber=1 +featureDirNumber=1 for feature in ${APPC_FEATURES} do +if (( $featureDirNumber < $FEATURE_DIRECTORY_COUNT )) +then + if (( $featureNumber > $FEATURES_PER_DIRECTORY )) + then + featureDirNumber=$(($featureDirNumber+1)) + featureNumber=1 + fi +fi + rm -f /tmp/${feature}-installer*.zip mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc:${feature}-installer:${APPC_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true - unzip -d ${featureDir} /tmp/${feature}-installer*zip + unzip -d ${featureDir}$featureDirNumber /tmp/${feature}-installer*zip +featureNumber=$(($featureNumber+1)) done echo "Installing platform-logic for APP-C" |