summaryrefslogtreecommitdiffstats
path: root/vesagent/docker
diff options
context:
space:
mode:
Diffstat (limited to 'vesagent/docker')
-rw-r--r--vesagent/docker/Dockerfile26
-rwxr-xr-xvesagent/docker/docker-build.sh95
-rw-r--r--vesagent/docker/opt/requirements.txt5
-rwxr-xr-xvesagent/docker/opt/start-manager.sh4
4 files changed, 130 insertions, 0 deletions
diff --git a/vesagent/docker/Dockerfile b/vesagent/docker/Dockerfile
new file mode 100644
index 0000000..3b5b8e4
--- /dev/null
+++ b/vesagent/docker/Dockerfile
@@ -0,0 +1,26 @@
+# Use an official Python runtime as a parent image
+FROM python:2.7.14
+
+# Make port <Port Num> available to the world outside this container
+#EXPOSE <Port Num>
+
+RUN echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list && \
+ apt-get update && \
+ apt-get install -y vim && \
+ apt-get install -y zip && \
+ apt-get install -y unzip && \
+ apt-get install -y curl && \
+ apt-get install -y wget && \
+ apt-get install -y -t jessie-backports openjdk-8-jre-headless ca-certificates-java
+
+# Set the working directory to /opt
+WORKDIR /opt
+
+# Copy the local opt directory contents into the container at /opt
+ADD opt /opt
+
+# Install any needed packages specified in requirements.txt
+RUN pip install -r requirements.txt
+
+# Run application when the container launches
+CMD [ "/opt/start-manager.sh" ]
diff --git a/vesagent/docker/docker-build.sh b/vesagent/docker/docker-build.sh
new file mode 100755
index 0000000..2b2f100
--- /dev/null
+++ b/vesagent/docker/docker-build.sh
@@ -0,0 +1,95 @@
+#!/bin/bash
+echo "WORKSPACE: ${WORKSPACE}"
+VERSION="1.0.0-SNAPSHOT"
+
+#
+# Copy vesagent Uber JAR to docker app directory
+#
+APP=${WORKSPACE}/vesagent/target/vesagent-${VERSION}.jar
+
+if [ ! -f "${APP}" ]
+then
+ echo "FATAL error cannot locate ${APP}"
+ exit 2
+fi
+
+APP_DIR=${WORKSPACE}/vesagent/docker/opt
+
+[ -d "${APP_DIR}/vesagent-${VERSION}.jar" ] && rm -rf "${APP_DIR}/vesagent-${VERSION}.jar"
+
+cp ${APP} ${APP_DIR}
+
+#
+# Copy configurations directory
+#
+CONF_DIR=${WORKSPACE}/vesagent/etc
+
+if [ ! -d "${CONF_DIR}" ]
+then
+ echo "FATAL error cannot locate ${CONF_DIR}"
+ exit 2
+fi
+
+APP_DIR=${WORKSPACE}/vesagent/docker/opt
+
+[ -d "${APP_DIR}/etc" ] && rm -rf "${APP_DIR}/etc"
+
+cp -a ${CONF_DIR} ${APP_DIR}
+
+#
+# Copy python scripts directory
+#
+PY_DIR=${WORKSPACE}/vesagent/py
+
+if [ ! -d "${PY_DIR}" ]
+then
+ echo "FATAL error cannot locate ${PY_DIR}"
+ exit 2
+fi
+
+if [ -d "${PY_DIR}" ]
+then
+ echo "Remove all dummy & test scripts"
+ rm -f ${PY_DIR}/dummy*
+ rm -f ${PY_DIR}/test*
+fi
+
+APP_DIR=${WORKSPACE}/vesagent/docker/opt
+
+[ -d "${APP_DIR}/py" ] && rm -rf "${APP_DIR}/py"
+
+cp -a ${PY_DIR} ${APP_DIR}
+
+#
+# build the docker image. tag and then push to the remote repo
+#
+BUILD_ARGS="--no-cache"
+DOCKER_REPOSITORY="nexus3.onap.org:10003"
+ORG="onap"
+PROJECT="multicloud"
+IMAGE="vio-vesagent"
+VERSION="${VERSION//[^0-9.]/}"
+IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}"
+
+if [ $HTTP_PROXY ]; then
+ BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}"
+fi
+if [ $HTTPS_PROXY ]; then
+ BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}"
+fi
+
+function build_image {
+ # build the image
+ echo "Start build docker image: ${IMAGE_NAME}"
+ docker build ${BUILD_ARGS} -t ${IMAGE_NAME}:${VERSION} -t ${IMAGE_NAME}:latest .
+}
+
+function push_image {
+ # push the image
+ echo "Start push docker image: ${IMAGE_NAME}"
+ docker push ${IMAGE_NAME}:${VERSION}
+ docker push ${IMAGE_NAME}:latest
+}
+
+build_image
+push_image
diff --git a/vesagent/docker/opt/requirements.txt b/vesagent/docker/opt/requirements.txt
new file mode 100644
index 0000000..92a4890
--- /dev/null
+++ b/vesagent/docker/opt/requirements.txt
@@ -0,0 +1,5 @@
+# VMWare vSphere Management SDK
+pyvmomi==6.5.0.2017.5-1
+
+# Pure Python Vi Implementation
+pyvim==0.0.21
diff --git a/vesagent/docker/opt/start-manager.sh b/vesagent/docker/opt/start-manager.sh
new file mode 100755
index 0000000..76adfe4
--- /dev/null
+++ b/vesagent/docker/opt/start-manager.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+# TODO: Enable the below command to execute the VESAgent process
+exec java -jar /opt/vesagent-1.0.0-SNAPSHOT.jar /opt/etc/Agent.properties
+#while :; do echo 'sleeping for 3600 secs'; sleep 3600; done