summaryrefslogtreecommitdiffstats
path: root/update/update.yml
blob: 18b75b6bffa8dd37b99b531d8e20b20434dc33f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
- hosts: "{{ host }}"
  remote_user: "{{ user }}"
  become: "yes"
  become_method: sudo
  vars:
    user: "root"
    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:
    - name: create temporary update directory
      file:
        path: "{{ update_path }}"
        state: directory
    - name: transfer files in templates
      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
      command: bash "{{ update_path }}/rm_olds.sh"
      register: rm_result
    - debug: msg="{{ rm_result.stderr }}"
    - name: delete old docker images
      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 }}"
               -e "swagger_url={{ swagger_url }}"
               "{{ image }}"
    - name: remove temporary update directory
      file:
        path: "{{ update_path }}"
        state: absent