blob: 452a54af494b0c8009ec1913885c87e781579d6f [file] [log] [blame]
Andy Bavierc9ffc2a2018-05-04 12:27:09 -07001---
2
3# Copyright 2017-present Open Networking Foundation
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17- name: Checkout openstack-helm
18 git:
19 repo: https://git.openstack.org/openstack/openstack-helm.git
20 dest: "{{ ansible_env.HOME }}/openstack-helm"
21 tags:
22 - skip_ansible_lint
23
24- name: Initialize Helm
25 command: helm init --client-only
26 tags:
27 - skip_ansible_lint
28
29- name: Run 'helm serve' in background
30 shell: nohup helm serve </dev/null >/dev/null 2>&1 &
31 tags:
32 - skip_ansible_lint
33
34- name: Wait 5 seconds for helm chart server to initialize
35 pause:
36 seconds: 5
37
38- name: Add localhost repo to Helm
39 command: helm repo add localhost http://localhost:8879/charts
40 tags:
41 - skip_ansible_lint
42
43- name: Install OpenStack clients and build charts
44 command: tools/deployment/multinode/010-setup-client.sh
45 args:
46 chdir: "{{ ansible_env.HOME }}/openstack-helm"
47 creates: "{{ ansible_env.HOME }}/openstack-helm/nova-0.1.0.tgz"
48 tags:
49 - skip_ansible_lint
50
51- name: Install ingress
52 command: tools/deployment/multinode/020-ingress.sh
53 args:
54 chdir: "{{ ansible_env.HOME }}/openstack-helm"
55 creates: /tmp/ingress-openstack.yaml
56 tags:
57 - skip_ansible_lint
58
59- name: Install Ceph
60 command: tools/deployment/multinode/030-ceph.sh
61 args:
62 chdir: "{{ ansible_env.HOME }}/openstack-helm"
63 creates: /tmp/ceph.yaml
64 tags:
65 - skip_ansible_lint
66
67- name: Activate Ceph
68 command: tools/deployment/multinode/040-ceph-ns-activate.sh
69 args:
70 chdir: "{{ ansible_env.HOME }}/openstack-helm"
71 creates: /tmp/ceph-openstack-config.yaml
72 tags:
73 - skip_ansible_lint
74
75- name: Install single copy of mariadb, to avoid deadlock
76 command: tools/deployment/developer/common/050-mariadb.sh
77 args:
78 chdir: "{{ ansible_env.HOME }}/openstack-helm"
79 tags:
80 - skip_ansible_lint
81
82- name: Install RabbitMQ
83 command: tools/deployment/multinode/060-rabbitmq.sh
84 args:
85 chdir: "{{ ansible_env.HOME }}/openstack-helm"
86 tags:
87 - skip_ansible_lint
88
89- name: Install memcached
90 command: tools/deployment/multinode/070-memcached.sh
91 args:
92 chdir: "{{ ansible_env.HOME }}/openstack-helm"
93 tags:
94 - skip_ansible_lint
95
96# Thus usually fails but things still look OK
97- name: Install Keystone
98 command: tools/deployment/multinode/080-keystone.sh
99 args:
100 chdir: "{{ ansible_env.HOME }}/openstack-helm"
101 ignore_errors: yes
102 tags:
103 - skip_ansible_lint
104
105- name: Install Ceph radosgateway
106 command: tools/deployment/multinode/090-ceph-radosgateway.sh
107 args:
108 chdir: "{{ ansible_env.HOME }}/openstack-helm"
109 creates: /tmp/radosgw-openstack.yaml
110 tags:
111 - skip_ansible_lint
112
113- name: Install Glance
114 command: tools/deployment/multinode/100-glance.sh
115 args:
116 chdir: "{{ ansible_env.HOME }}/openstack-helm"
117 creates: /tmp/glance.yaml
118 tags:
119 - skip_ansible_lint
120
121- name: Install OvS
122 command: tools/deployment/multinode/120-openvswitch.sh
123 args:
124 chdir: "{{ ansible_env.HOME }}/openstack-helm"
125 tags:
126 - skip_ansible_lint
127
128- name: Install Libvirt
129 command: tools/deployment/multinode/130-libvirt.sh
130 args:
131 chdir: "{{ ansible_env.HOME }}/openstack-helm"
132 tags:
133 - skip_ansible_lint
134
135#
136# Need to customize Neutron install for CORD
137#
138
139- name: Create values files for Nova and Neutron
140 copy:
141 src: files/{{ item }}
142 dest: /tmp/{{ item }}
143 with_items:
144 - nova.yaml
145 - neutron.yaml
146
147- name: Install Nova
148 command: helm upgrade --install nova ./nova --namespace=openstack --values=/tmp/nova.yaml
149 args:
150 chdir: "{{ ansible_env.HOME }}/openstack-helm"
151 tags:
152 - skip_ansible_lint
153
154- name: Install Neutron
155 command: helm upgrade --install neutron ./neutron --namespace=openstack --values=/tmp/neutron.yaml
156 args:
157 chdir: "{{ ansible_env.HOME }}/openstack-helm"
158 tags:
159 - skip_ansible_lint
160