support docker build image during updating testapi 85/17685/2
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Thu, 28 Jul 2016 08:41:13 +0000 (16:41 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Thu, 28 Jul 2016 08:45:57 +0000 (16:45 +0800)
add rm_images.sh script
modify README.md
add build image operations in update.yml

JIRA: FUNCTEST-395

Change-Id: Ia9bd6e8e6d1096b9b946cb5508f4cac5ea6e6e25
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/result_collection_api/update/README.md
utils/test/result_collection_api/update/templates/rm_images.sh [new file with mode: 0755]
utils/test/result_collection_api/update/update.yml

index d3aef7e..738f30a 100644 (file)
@@ -96,6 +96,7 @@ host=10.63.243.17
 user=zte
 port=8000
 image=opnfv/testapi
+mode=build
 update_path=/tmp/testapi
 mongodb_url=mongodb://172.17.0.1:27017
 swagger_url=http://10.63.243.17:8000"```
diff --git a/utils/test/result_collection_api/update/templates/rm_images.sh b/utils/test/result_collection_api/update/templates/rm_images.sh
new file mode 100755 (executable)
index 0000000..6722573
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+number=`docker images | awk 'NR != 1' | grep testapi | wc -l`
+if [ $number -gt 0 ]; then
+    images=`docker images -a | awk 'NR != 1' | grep testapi | awk '{print $1}'`
+    echo "begin to rm images $images"
+    docker images | awk 'NR != 1' | grep testapi | awk '{print $3}' | xargs docker rmi -f &>/dev/null
+fi
index 0883956..e6663d9 100644 (file)
@@ -8,6 +8,7 @@
     port: "8000"
     update_path: "/tmp/testapi"
     image: "opnfv/testapi"
+    mode: "pull"
     mongodb_url: "mongodb://172.17.0.1:27017"
     swagger_url: "http://{{ host }}:{{ port }}"
   tasks:
       copy:
         src: templates/
         dest: "{{ update_path }}"
+    - name: transfer Dockerfile
+      copy:
+        src: ../docker/Dockerfile
+        dest: "{{ update_path }}"
+      when: mode == "build"
     - name: backup mongodb database
       command: "python {{ update_path }}/backup_mongodb.py -u {{ mongodb_url }} -o {{ update_path }}"
     - name: stop and remove old versions
       register: rm_result
     - debug: msg="{{ rm_result.stderr }}"
     - name: delete old docker images
-      command: docker rmi "{{ image }}"
+      command: bash "{{ update_path }}/rm_images.sh"
       ignore_errors: true
     - name: update mongodb
       command: "python {{ update_path }}/update_mongodb.py -u {{ mongodb_url }}"
+    - name: docker build image
+      command: "docker build -t {{ image }} {{ update_path }}"
+      when: mode == "build"
     - name: docker start testapi server
       command: docker run -dti -p "{{ port }}:8000"
                -e "mongodb_url={{ mongodb_url }}"