Revert "Updates scenario files for hunter branch"
[apex.git] / lib / ansible / playbooks / post_deploy_undercloud.yml
1 ---
2 - hosts: all
3   tasks:
4     - name: Enable ssh to overcloud nodes from jumphost
5       shell: "cat /home/stack/jumphost_id_rsa.pub | ssh -T {{ SSH_OPTIONS }} heat-admin@{{ item.value }} 'cat >> ~/.ssh/authorized_keys'"
6       with_dict: "{{ overcloud_nodes }}"
7       become: yes
8       become_user: stack
9     - name: Configure external network
10       shell: "{{ overcloudrc }} && {{ item }}"
11       with_items: "{{ external_network_cmds }}"
12       when: vim == 'openstack'
13     - name: Configure gluon networks
14       shell: "{{ overcloudrc }} && {{ item }}"
15       when: gluon
16       with_items:
17         - openstack network create gluon-network --share --provider-network-type vxlan
18         - openstack subnet create gluon-subnet --no-gateway --no-dhcp --network GluonNetwork --subnet-range 0.0.0.0/1
19     - name: Find admin project id
20       shell: "{{ overcloudrc }} && openstack project list | grep admin | awk '{print $2}'"
21       register: os_project_id
22     - name: Ensure rc files owned by stack
23       file:
24         path: "/home/stack/{{ item }}"
25         state: file
26         owner: stack
27         group: stack
28         mode: 0644
29       become: yes
30       with_items: "{{ overcloudrc_files }}"
31     - name: Inject OS_PROJECT_ID and OS_TENANT_NAME into overcloudrc
32       lineinfile:
33         line: "{{ item }}"
34         path: /home/stack/overcloudrc
35       become: yes
36       become_user: stack
37       with_items:
38         - "export OS_PROJECT_ID={{ os_project_id.stdout }}"
39         - "export OS_TENANT_NAME=admin"
40     - name: Install Docker
41       yum:
42         name: docker
43         state: present
44       when: yardstick or dovetail
45       become: yes
46     - systemd:
47         name: docker
48         state: started
49         enabled: yes
50       when: yardstick or dovetail
51       become: yes
52     - name: Pull yardstick docker image
53       docker_image:
54         name: opnfv/yardstick
55       when: yardstick
56       become: yes
57     - name: Pull dovetail docker image
58       docker_image:
59         name: opnfv/dovetail
60       when: dovetail
61       become: yes
62     - name: Register SDN VIP
63       shell: "{{ stackrc }} && neutron port-list | grep control_virtual_ip | grep -Eo '([0-9]+\\.){3}[0-9]+'"
64       register: sdn_vip
65       become: yes
66       become_user: stack
67       when: sdn != false
68     - name: Write SDN controller VIP to overcloudrc
69       lineinfile:
70         line: "export SDN_CONTROLLER_IP={{ sdn_vip.stdout }}"
71         regexp: 'SDN_CONTROLLER_IP'
72         path: "/home/stack/{{ item }}"
73       when: sdn != false
74       become: yes
75       become_user: stack
76       with_items: "{{ overcloudrc_files }}"
77     - name: Write SDN WEB and REST PORT to overcloudrc
78       lineinfile:
79         line: "export {{ item[0] }}=8081"
80         regexp: "{{ item[0] }}"
81         path: "/home/stack/{{ item[1] }}"
82       when: sdn != false
83       become: yes
84       become_user: stack
85       with_nested:
86         - [ 'SDN_CONTROLLER_WEBPORT', 'SDN_CONTROLLER_RESTCONFPORT' ]
87         - "{{ overcloudrc_files }}"
88     - name: Grab Heat Environment variables
89       shell: "{{ stackrc }} && openstack stack environment show overcloud -f json"
90       register: heat_env
91       become: yes
92       become_user: stack
93     - name: Write SDN controller password to overcloudrc for ODL
94       lineinfile:
95         line: "export SDN_CONTROLLER_PASSWORD={{(heat_env.stdout|from_json)['parameter_defaults']['OpenDaylightPassword']}}"
96         regexp: 'SDN_CONTROLLER_PASSWORD'
97         path: "/home/stack/{{ item }}"
98       when: sdn == 'opendaylight'
99       become: yes
100       become_user: stack
101       with_items: "{{ overcloudrc_files }}"
102     - name: Register OS Region
103       shell: "{{ overcloudrc }} && openstack endpoint list -c Region -f json"
104       register: region
105       when: vim == 'openstack'
106     - name: Write Region into overcloudrc
107       lineinfile:
108         line: "export OS_REGION_NAME={{(region.stdout|from_json)[1]['Region']}}"
109         regexp: 'OS_REGION_NAME'
110         path: "/home/stack/{{ item }}"
111       become: yes
112       become_user: stack
113       with_items: "{{ overcloudrc_files }}"
114       when: vim == 'openstack'
115     - name: Create congress datasources
116       shell: "{{ overcloudrc }} && openstack congress datasource create {{ item }}"
117       become: yes
118       become_user: stack
119       when: congress
120       with_items: "{{ congress_datasources }}"
121       ignore_errors: yes
122     - name: Configure Calipso
123       block:
124         - name: Install pip3
125           yum:
126             name: python34-pip
127             state: present
128         - name: Install Calipso dependencies
129           pip:
130             name: "{{ item }}"
131             executable: pip3
132           with_items:
133             - docker
134             - pymongo
135         - name: Create Calipso user
136           user:
137             name: calipso
138             createhome: yes
139         - name: Remove old docker
140           package:
141             name: "{{ item }}"
142             state: absent
143           with_items:
144             - docker
145             - docker-common
146             - docker-selinux
147             - docker-engine
148         - name: Add Docker CE repo
149           shell: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
150         - name: Install Docker CE
151           package:
152             name: docker-ce
153             state: latest
154         - name: Start Docker
155           service:
156             name: docker
157             state: started
158             enabled: yes
159         - name: Install Calipso
160           command: >
161             python3 /root/calipso-installer.py --command start-all
162             --copy q --hostname {{ calipso_ip }} --dbport 37017 --webport 81
163             --apiport 8001 --rabbitmport 15673 --home /root
164       become: yes
165       when: calipso