From 50f466c54d1445e667b649d4731aa48d3aa76704 Mon Sep 17 00:00:00 2001 From: Alexis de Talhouët Date: Fri, 12 Apr 2019 18:49:29 -0400 Subject: Add Command executor maven module and Dockerfile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iea3d14854e837fede441330ad34b35ac9d156f9a Issue-ID: CCSDK-1164 Signed-off-by: Alexis de Talhouët --- .gitignore | 3 + ms/command-executor/pom.xml | 155 +++++++++++++++++++++ ms/command-executor/src/main/docker/Dockerfile | 19 +++ .../src/main/docker/distribution.xml | 31 +++++ ms/command-executor/src/main/docker/start.sh | 32 +++++ ms/pom.xml | 1 + 6 files changed, 241 insertions(+) create mode 100755 ms/command-executor/pom.xml create mode 100644 ms/command-executor/src/main/docker/Dockerfile create mode 100755 ms/command-executor/src/main/docker/distribution.xml create mode 100755 ms/command-executor/src/main/docker/start.sh diff --git a/.gitignore b/.gitignore index e3e0e1f22..a2661f06f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # Node.js **/node +# Python +**/*.pyc + # Logs logs *.log diff --git a/ms/command-executor/pom.xml b/ms/command-executor/pom.xml new file mode 100755 index 000000000..903ccdcaf --- /dev/null +++ b/ms/command-executor/pom.xml @@ -0,0 +1,155 @@ + + + + 4.0.0 + + org.onap.ccsdk.cds + ms + 0.4.2-SNAPSHOT + .. + + command-executor + pom + Command Executor + Micro-service providing python environment with gRPC binding for command execution + + + maven + onap/ccsdk-commandexecutor + ${https_proxy} + deploy + true + ${project.version} + ${maven.build.timestamp} + + + + + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + validate + + ${basedir}/target/docker-stage + + + src/main/docker + + Dockerfile + start.sh + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.codehaus.groovy.maven + gmaven-plugin + 1.0 + + + validate + + execute + + + ${basedir}/../../TagVersion.groovy + + + + + + + + + + docker + + + + io.fabric8 + docker-maven-plugin + 0.26.1 + false + + + + ${image.name} + + try + ${basedir}/target/docker-stage + + ${project.docker.latestfulltag.version} + + + + + true + + + + generate-images + package + + build + + + + push-images + ${docker.push.phase} + + build + push + + + + + + + + + diff --git a/ms/command-executor/src/main/docker/Dockerfile b/ms/command-executor/src/main/docker/Dockerfile new file mode 100644 index 000000000..cac2b958b --- /dev/null +++ b/ms/command-executor/src/main/docker/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.6-slim + +ENV GRPC_PYTHON_VERSION 1.19.0 +RUN python -m pip install --upgrade pip +RUN pip install grpcio==${GRPC_PYTHON_VERSION} grpcio-tools==${GRPC_PYTHON_VERSION} +RUN pip install virtualenv + +RUN mkdir -p /opt/onap/blueprints && mkdir -p /opt/onap/app/python && chmod -R 777 /opt/onap + +COPY start.sh /opt/onap/app/start.sh +RUN chmod u+x /opt/onap/app/start.sh + +COPY @project.build.finalName@-@assembly.id@.tar.gz /source.tar.gz +RUN tar -xzf /source.tar.gz -C /tmp \ + && cp -rf /tmp/@project.build.finalName@/opt / \ + && rm -rf /source.tar.gz \ + && rm -rf /tmp/@project.build.finalName@ + +ENTRYPOINT /opt/onap/app/start.sh \ No newline at end of file diff --git a/ms/command-executor/src/main/docker/distribution.xml b/ms/command-executor/src/main/docker/distribution.xml new file mode 100755 index 000000000..e4ac2f85d --- /dev/null +++ b/ms/command-executor/src/main/docker/distribution.xml @@ -0,0 +1,31 @@ + + + + + ${assembly.id} + + tar.gz + + + + ${project.basedir}/src/main/python + /opt/onap/app/python + + + \ No newline at end of file diff --git a/ms/command-executor/src/main/docker/start.sh b/ms/command-executor/src/main/docker/start.sh new file mode 100755 index 000000000..6c0aa0018 --- /dev/null +++ b/ms/command-executor/src/main/docker/start.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# +# Copyright (C) 2019 Bell Canada. +# +# 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. +# + +if [ -z "${APP_PORT}" ] +then + echo "APP_PORT environment variable is not set, using default." + export APP_PORT=50051 +fi + +if [ -z "${BASIC_AUTH}" ] +then + echo "BASIC_AUTH environment variable is not set, using default." + export BASIC_AUTH="Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==" +fi + +cd /opt/onap/app/python/ +python command_executor_server.py ${APP_PORT} ${BASIC_AUTH} \ No newline at end of file diff --git a/ms/pom.xml b/ms/pom.xml index 6f84a1438..d1c87c995 100644 --- a/ms/pom.xml +++ b/ms/pom.xml @@ -35,6 +35,7 @@ controllerblueprints blueprintsprocessor + command-executor cds-sdc-listener -- cgit 1.2.3-korg