summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Yang <bin.yang@windriver.com>2017-09-08 15:50:05 +0800
committerBin Yang <bin.yang@windriver.com>2017-09-08 15:50:05 +0800
commit9be6dfbd7c81d017865a5eccacdcedb184ef6e50 (patch)
treed4f99dd0013150fbaf40fbd91d882da7ecabdef1
parent08fd690840bea327695aca0e816345c5ce7e3cbf (diff)
Add docker build file
add docker build file to generate container image Change-Id: I08e289dea8caf01b9690d80c2c21355d0f121a6b Issue-Id: MULTICLOUD-58 Signed-off-by: Bin Yang <bin.yang@windriver.com>
-rw-r--r--newton/docker/Dockerfile24
-rw-r--r--newton/docker/build-image.sh6
-rw-r--r--newton/pom.xml52
-rwxr-xr-xnewton/run.sh20
-rwxr-xr-xnewton/stop.sh3
5 files changed, 102 insertions, 3 deletions
diff --git a/newton/docker/Dockerfile b/newton/docker/Dockerfile
new file mode 100644
index 00000000..e8440e1c
--- /dev/null
+++ b/newton/docker/Dockerfile
@@ -0,0 +1,24 @@
+FROM python:2
+
+ENV MSB_ADDR "127.0.0.1"
+ENV MSB_PORT "80"
+ENV AAI_ADDR "aai.api.simpledemo.openecomp.org"
+ENV AAI_PORT "8443"
+ENV AAI_SCHEMA_VERSION "v11"
+ENV AAI_USERNAME "AAI"
+ENV AAI_PASSWORD "AAI"
+
+EXPOSE 9003
+
+# COPY ./ /opt/newton/
+RUN apt-get update && \
+ apt-get install -y memcached && \
+ apt-get install -y unzip && \
+ cd /opt/ && \
+ wget -O multicloud-openstack-newton.zip "https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.multicloud.openstack&a=multicloud-openstack-newton&e=zip&v=LATEST" && \
+ unzip -q -o -B multicloud-openstack-newton.zip && \
+ rm -f multicloud-openstack-newton.zip && \
+ pip install -r /opt/newton/requirements.txt
+
+WORKDIR /opt/newton
+CMD /bin/sh -c /opt/newton/run.sh \ No newline at end of file
diff --git a/newton/docker/build-image.sh b/newton/docker/build-image.sh
new file mode 100644
index 00000000..8d5fe479
--- /dev/null
+++ b/newton/docker/build-image.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+IMAGE="multicloud-openstack-newton"
+VERSION="latest"
+
+docker build -t ${IMAGE}:${VERSION} .
diff --git a/newton/pom.xml b/newton/pom.xml
index e1989492..555f3b53 100644
--- a/newton/pom.xml
+++ b/newton/pom.xml
@@ -11,7 +11,10 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
@@ -47,4 +50,51 @@
</plugin>
</plugins>
</build>
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>0.16.5</version>
+ <inherited>false</inherited>
+ <configuration>
+ <images>
+ <image>
+ <name>onap/multicloud/multicloud-openstack-newton</name>
+ <build>
+ <cleanup>try</cleanup>
+ <dockerFileDir>${basedir}/docker/</dockerFileDir>
+ <dockerFile>${basedir}/docker/Dockerfile</dockerFile>
+ <tags>
+ <tag>${project.version}-STAGING-latest</tag>
+ </tags>
+ </build>
+ </image>
+ </images>
+ </configuration>
+ <executions>
+ <execution>
+ <id>generate-images</id>
+ <phase>package</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>push-images</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>build</goal>
+ <goal>push</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/newton/run.sh b/newton/run.sh
index 8b8b0890..763f72d7 100755
--- a/newton/run.sh
+++ b/newton/run.sh
@@ -10,4 +10,22 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-nohup python manage.py runserver 127.0.0.1:9003 > /dev/null &
+#!/bin/bash
+
+sed -i "s/MSB_SERVICE_ADDR =.*/MSB_SERVICE_ADDR = \"${MSB_ADDR}\"/g" newton/pub/config/config.py
+sed -i "s/MSB_SERVICE_PORT =.*/MSB_SERVICE_PORT = \"${MSB_PORT}\"/g" newton/pub/config/config.py
+sed -i "s/AAI_ADDR =.*/AAI_ADDR = \"${AAI_ADDR}\"/g" newton/pub/config/config.py
+sed -i "s/AAI_PORT =.*/AAI_PORT = \"${AAI_PORT}\"/g" newton/pub/config/config.py
+sed -i "s/AAI_SCHEMA_VERSION =.*/AAI_SCHEMA_VERSION = \"${AAI_SCHEMA_VERSION}\"/g" newton/pub/config/config.py
+sed -i "s/AAI_USERNAME =.*/AAI_USERNAME = \"${AAI_USERNAME}\"/g" newton/pub/config/config.py
+sed -i "s/AAI_PASSWORD =.*/AAI_PASSWORD = \"${AAI_PASSWORD}\"/g" newton/pub/config/config.py
+
+memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid
+
+nohup python manage.py runserver 0.0.0.0:9003 2>&1 &
+
+while [ ! -f logs/runtime_newton.log ]; do
+ sleep 1
+done
+
+tail -F logs/runtime_newton.log
diff --git a/newton/stop.sh b/newton/stop.sh
index db6d7366..1abfe404 100755
--- a/newton/stop.sh
+++ b/newton/stop.sh
@@ -10,4 +10,5 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-ps auxww | grep 'manage.py runserver 127.0.0.1:9003' | awk '{print $2}' | xargs kill -9
+ps auxww | grep 'manage.py runserver 0.0.0.0:9003' | awk '{print $2}' | xargs kill -9
+ps auxww | grep 'memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid' | awk '{print $2}' | xargs kill -9