-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomposable_roles.yml
90 lines (80 loc) · 3.38 KB
/
composable_roles.yml
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
---
- name: Create roles templates
hosts: undercloud
any_errors_fatal: true
gather_facts: yes
vars:
template_base: "{{ ansible_user_dir }}/{{ install.deployment.files | basename }}"
role_default_flavor: baremetal
flavor_name_mapping:
Controller: Control
ObjectStorage: SwiftStorage
vars:
roles_config: {}
tags:
- deploy_preparation
tasks:
- name: register tht packages
package:
list: openstack-tripleo-heat-templates
become: yes
register: tht
- set_fact:
# TODO(mcornea): switch version_compare to version after we bump ansible to 2.5
roles_sshd: "{{ tht_version|version_compare('5.2.0', '>') or (tht_version|version_compare('5.2.0', '==') and tht_release|version_compare('15', '>=')) }}"
vars:
tht_pkg: "{{ tht.results|selectattr('yumstate', 'equalto', 'installed')|first }}"
tht_version: "{{ tht_pkg.version }}"
tht_release: "{{ tht_pkg.release | splitext | first }}"
when: install.version|default(undercloud_version)|openstack_release < 11
- set_fact:
roles_sshd: true
when: install.version|default(undercloud_version)|openstack_release >= 11
- name: include roles according to the topology
include_tasks: tasks/composable_roles/add_role_vars.yml
with_items: "{{ groups.overcloud_nodes }}"
loop_control:
loop_var: role
- name: create roles folder
file:
path: "{{ template_base }}/roles"
state: directory
- name: create the roles_data file
template:
src: composable_roles/roles_data.yaml.j2
dest: "{{ template_base }}/roles/roles_data.yaml"
force: yes
- name: create the nodes file
template:
src: composable_roles/nodes.yaml.j2
dest: "{{ template_base }}/roles/nodes.yaml"
force: yes
- name: load networks mapping for specific ips
include_vars:
file: "files/control_node_placement/network_mapping.yaml"
when:
- install.predictable
- install.predictable.ips
- install.version|default(undercloud_version) | openstack_release >= 10
- name: create the network template file
vars:
ipv6_postfix: "{{ (install.network.protocol == 'ipv4') | ternary('', '-v6')}}"
ipv6_postfix_underscore: "{{ (install.network.protocol == 'ipv4') | ternary('', '_v6')}}"
deployment_folder_path: "{{ template_base }}"
nics_subfolder: "{{ (install.version|default(undercloud_version)|openstack_release > 10) | ternary('', 'legacy') }}"
template:
src: composable_roles/network-config.yaml.j2
dest: "{{ template_base }}/roles/network-config.yaml"
force: yes
- name: assigning specific node ids
import_tasks: tasks/control_node_placement/specific_node_ids.yml
when:
- install.specific.node.ids
- install.version|default(undercloud_version) | openstack_release >= 10
vars:
role_file_path: "{{ template_base }}/roles/roles_data.yaml"
generate_scheduler_hints: yes
- name: Deploy the Overcloud with composable roles
import_playbook: "{{ overcloud_deploy | default('deploy.yml') }}"
tags:
- composables_roles_deploy