blob: b31dc706b7f0d60a208671e690388b34694b94d6 (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
---
- name: Set kubernetes service account permissions
command: "kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default"
changed_when: false
- name: Set kubernetes node labels
shell: "for x in `kubectl get nodes --show-labels | grep 'node-role.kubernetes.io/node=true' | awk '{print $1}'`; do kubectl label nodes $x {{ item }}; done"
args:
executable: /bin/bash
changed_when: false
with_items:
- openstack-control-plane=enabled
- openstack-compute-node=enabled
- openstack-helm-node-class=primary
- openvswitch=enabled
- linuxbridge=enabled
- ceph-mon=enabled
- ceph-osd=enabled
- ceph-mds=enabled
- ceph-mgr=enabled
- ceph-rgw=enabled
- name: Create directories
file:
path: /root/{{ item }}
state: directory
with_items:
['repos','tmp', '.helm/repository/local']
- name: Rename bifrost clouds file to get it out of precedence
command: "mv .config/openstack/clouds.yaml .config/openstack/clouds.yaml.bifrost"
changed_when: false
- name: Clone openstack-helm
git:
repo: "{{ osh_git_url }}"
dest: /root/repos/openstack-helm
version: "{{ osh_version }}"
update: true
force: true
register: git_clone
until: git_clone is success
retries: 2
delay: 5
- name: Fix dns nameserver for openstack installation (mini flavor)
lineinfile:
path: /root/repos/openstack-helm/tools/gate/files/heat-public-net-deployment.yaml
regexp: '10\.96\.0\.10'
line: " - 10.233.0.3"
- name: Fix dns nameserver for openstack installation (noha flavor)
lineinfile:
path: /root/repos/openstack-helm/tempest/values.yaml
regexp: 'dns_servers'
line: " dns_servers: 10.233.0.3"
- name: Clone openstack-helm-infra
git:
repo: "{{ osh_infra_git_url }}"
dest: /root/repos/openstack-helm-infra
version: "{{ osh_infra_version }}"
update: true
force: true
register: git_clone
until: git_clone is success
retries: 2
delay: 5
- name: Get helm
get_url:
url: "{{ osh_helm_binary_url }}/helm-{{ osh_helm_binary_version }}-linux-amd64.tar.gz"
dest: tmp
- name: Uncompress helm package
command: "tar zxvf tmp/helm-{{ osh_helm_binary_version }}-linux-amd64.tar.gz --strip-components=1 -C tmp/"
changed_when: false
tags:
- skip_ansible_lint
- name: Put helm in system binaries
copy:
src: tmp/helm
dest: /usr/bin/helm
remote_src: yes
mode: 0755
- name: Create helm-serve service file
copy:
src: helm-serve.service
dest: "/etc/systemd/system/helm-serve.service"
mode: 0640
- name: Start helm-serve service
service:
name: helm-serve
state: started
enabled: yes
- name: Wait for helm-serve service to start
wait_for:
port: 8879
host: 127.0.0.1
- name: Install pyhelm
pip:
name: pyhelm
- name: Init helm
command: "helm init"
changed_when: false
- name: Remove stable (external) service from helm
command: "helm repo remove stable"
changed_when: false
- name: Add local repositories service to helm
command: "helm repo add local http://localhost:8879/charts"
changed_when: false
- name: Make charts from infra
make:
chdir: /root/repos/openstack-helm-infra
target: "{{ item }}"
with_items:
- helm-toolkit
- ingress
- mariadb
- rabbitmq
- memcached
- ceph-mon
- ceph-osd
- ceph-client
- ceph-provisioners
- ceph-rgw
- openvswitch
- libvirt
- name: Install packages
package:
name: "{{ required_packages }}"
state: present
|