diff options
author | Bin Yang <bin.yang@windriver.com> | 2017-09-08 15:50:05 +0800 |
---|---|---|
committer | Bin Yang <bin.yang@windriver.com> | 2017-09-08 15:50:05 +0800 |
commit | 9be6dfbd7c81d017865a5eccacdcedb184ef6e50 (patch) | |
tree | d4f99dd0013150fbaf40fbd91d882da7ecabdef1 | |
parent | 08fd690840bea327695aca0e816345c5ce7e3cbf (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/Dockerfile | 24 | ||||
-rw-r--r-- | newton/docker/build-image.sh | 6 | ||||
-rw-r--r-- | newton/pom.xml | 52 | ||||
-rwxr-xr-x | newton/run.sh | 20 | ||||
-rwxr-xr-x | newton/stop.sh | 3 |
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 |