Skip to content

Commit 897f2ff

Browse files
committed
Adjust Adoption OSP Deploy to use ipv4 or ipv6 based
Currently ipv4 is the only supported protocol for initial OSP17 deployment. With this change based on cifmw_networking_env_definition file network version protocol is detected and used for generating network related files.
1 parent b54e797 commit 897f2ff

8 files changed

+49
-40
lines changed

roles/adoption_osp_deploy/tasks/config_files.yml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,32 @@
6969
loop_control:
7070
loop_var: group
7171
label: "{{ group.key }}"
72+
73+
- name: Override network version protocol vars to ipv6
74+
ansible.builtin.set_fact:
75+
network_version: network_v6
76+
ip_version: ip_v6
77+
dns_version: dns_v6
78+
gw_version: gw_v6
79+
prefix_length_version: prefix_length_v6
80+
when: cifmw_networking_env_definition.networks.ctlplane.network_v6 is defined
7281

7382
- name: Generate DeployedServerPortMap field
7483
vars:
7584
_node_instance_net: "{{ cifmw_networking_env_definition.instances[node] }}"
7685
_key_name: "{{ node }}-ctlplane"
77-
_ctlplane_ip: "{{ _node_instance_net.networks.ctlplane.ip_v4 }}"
86+
_ctlplane_ip: "{{ _node_instance_net.networks.ctlplane[ip_version|default('ip_v4')] }}"
7887
_server_port: >-
7988
{%- set port = {_key_name: {}} -%}
8089
{%- set _ = port[_key_name].update({
8190
'fixed_ips': [
8291
{ 'ip_address': _ctlplane_ip }
8392
],
8493
'subnets': [
85-
{'cidr': _ctlplane_net.network_v4}
94+
{'cidr': _ctlplane_net[network_version|default("network_v4")]}
8695
],
8796
'network': {
88-
'tags': [ _ctlplane_net.network_v4 ]
97+
'tags': [ _ctlplane_net[network_version|default("network_v4")] ]
8998
}}) -%}
9099
{{ port }}
91100
ansible.builtin.set_fact:
@@ -105,14 +114,14 @@
105114
_node_port: >
106115
{%- set nodeport = {node: {}} -%}
107116
{% for network, net_info in _node_instance_net.networks.items() if network != 'ocpbm' %}
108-
{%- set subnet = cifmw_networking_env_definition.networks[network].network_v4 -%}
117+
{%- set subnet = cifmw_networking_env_definition.networks[network][network_version|default("network_v4")] -%}
109118
{%- set network_name = ['storage_mgmt'] if network == 'storagemgmt' else [network] -%}
110119
{%- set network_name = ['internal_api'] if network == 'internalapi' else [network] -%}
111120
{%- set _ = nodeport[node].update(
112121
{
113122
network_name[0]: {
114-
'ip_address': net_info.ip_v4,
115-
'ip_address_uri': net_info.ip_v4,
123+
'ip_address': net_info[ip_version|default("ip_v4")],
124+
'ip_address_uri': net_info[ip_version|default("ip_v4")],
116125
'ip_subnet': subnet
117126
}
118127
}
@@ -135,8 +144,8 @@
135144
_cloud_domain: "{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"
136145
_dns_server: >-
137146
{{
138-
(_ctlplane_net.dns_v4 | length > 0) |
139-
ternary(_ctlplane_net.dns_v4, _ctlplane_net.gw_v4)
147+
(_ctlplane_net[dns_version|default("dns_v4")] | length > 0) |
148+
ternary(_ctlplane_net[dns_version|default("dns_v4")], _ctlplane_net[gw_version|default("gw_v4")])
140149
}}
141150
ansible.builtin.set_fact:
142151
_ctlplanenet_attributes:
@@ -146,7 +155,7 @@
146155
subnets:
147156
ctlplane-subnet:
148157
dns_nameservers: "{{ _dns_server }}"
149-
gateway_ip: "{{ _ctlplane_net.gw_v4 }}"
158+
gateway_ip: "{{ _ctlplane_net[gw_version|default('gw_v4')] }}"
150159

151160
- name: Create new config download file
152161
vars:

roles/adoption_osp_deploy/tasks/generate_adoption_vars.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626
vars:
2727
_undercloud_name: "{{ _vm_groups['osp-underclouds'] | first }}"
2828
_undercloud_net: "{{ cifmw_networking_env_definition.instances[_undercloud_name] }}"
29-
_undercloud_ip: "{{ _undercloud_net.networks.ctlplane.ip_v4 }}"
29+
_undercloud_ip: "{{ _undercloud_net.networks.ctlplane[ip_version|default('ip_v4')] }}"
3030
_controller_1_name: "{{ _vm_groups['osp-controllers'] | first }}"
3131
_controller_1_net: "{{ cifmw_networking_env_definition.instances[_controller_1_name] }}"
32-
_controller_1_internalapi_ip: "{{ _controller_1_net.networks.internalapi.ip_v4 }}"
32+
_controller_1_internalapi_ip: "{{ _controller_1_net.networks.internalapi[ip_version|default('ip_v4')] }}"
3333
_compute_1_name: "{{ _vm_groups['osp-computes'] | first }}"
3434
_compute_1_net: "{{ cifmw_networking_env_definition.instances[_compute_1_name] }}"
35-
_compute_1_ip: "{{ _compute_1_net.networks.ctlplane.ip_v4 }}"
35+
_compute_1_ip: "{{ _compute_1_net.networks.ctlplane[ip_version|default('ip_v4')] }}"
3636
ansible.builtin.template:
3737
src: "adoption_vars.yaml.j2"
3838
dest: "{{ ansible_user_dir }}/adoption_vars.yaml"

roles/adoption_osp_deploy/tasks/prepare_overcloud.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,12 +219,12 @@
219219
delegate_to: "{{ overcloud_vm }}"
220220
vars:
221221
_node_net: "{{ cifmw_networking_env_definition.instances[overcloud_vm] }}"
222-
_ctlplane_ip: "{{ _node_net.networks.ctlplane.ip_v4 }}"
222+
_ctlplane_ip: "{{ _node_net.networks.ctlplane[ip_version|default('ip_v4')] }}"
223223
_ctlplane_net: "{{ cifmw_networking_env_definition.networks.ctlplane }}"
224-
_dns_server: "{{ _ctlplane_net.dns_v4 }}"
225-
_gateway_ip: "{{ _ctlplane_net.gw_v4 }}"
224+
_dns_server: "{{ _ctlplane_net.[dns_version|default('dns_v4')] }}"
225+
_gateway_ip: "{{ _ctlplane_net[gw_version|default('gw_v4')] }}"
226226
_interface_mtu: "{{ _node_net.networks.ctlplane.mtu }}"
227-
_ctlplane_cidr: "{{ _node_net.networks.ctlplane.prefix_length_v4 }}"
227+
_ctlplane_cidr: "{{ _node_net.networks.ctlplane[prefix_length_version|default('prefix_length_v4')] }}"
228228
ansible.builtin.template:
229229
src: "os_net_config_overcloud.yml.j2"
230230
dest: /etc/os-net-config/tripleo_config.yaml

roles/adoption_osp_deploy/tasks/prepare_undercloud.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@
9191
vars:
9292
_undercloud_name: "{{ _vm_groups['osp-underclouds'] | first }}"
9393
_undercloud_net: "{{ cifmw_networking_env_definition.instances[_undercloud_name] }}"
94-
_ctlplane_ip: "{{ _undercloud_net.networks.ctlplane.ip_v4 }}"
94+
_ctlplane_ip: "{{ _undercloud_net.networks.ctlplane[ip_version|default('ip_v4')] }}"
9595
_ctlplane_vip: "{{ cifmw_adoption_osp_deploy_scenario.undercloud.ctlplane_vip }}"
9696
_ctlplane_net: "{{ cifmw_networking_env_definition.networks.ctlplane }}"
97-
_dns_server: "{{ _ctlplane_net.dns_v4 }}"
98-
_gateway_ip: "{{ _ctlplane_net.gw_v4 }}"
97+
_dns_server: "{{ _ctlplane_net[dns_version|default('dns_v4')] }}"
98+
_gateway_ip: "{{ _ctlplane_net[gw_version|default('gw_v4')] }}"
9999
_interface_mtu: "{{ _undercloud_net.networks.ctlplane.mtu }}"
100-
_ctlplane_cidr: "{{ _undercloud_net.networks.ctlplane.prefix_length_v4 }}"
100+
_ctlplane_cidr: "{{ _undercloud_net.networks.ctlplane[prefix_length_version|default('prefix_length_v4')] }}"
101101
ansible.builtin.template:
102102
src: "os_net_config_undercloud.yml.j2"
103103
dest: /etc/os-net-config/tripleo_config.yaml
@@ -114,9 +114,9 @@
114114
vars:
115115
_undercloud_name: "{{ _vm_groups['osp-underclouds'] | first }}"
116116
_undercloud_net: "{{ cifmw_networking_env_definition.instances[_undercloud_name] }}"
117-
_undercloud_ip: "{{ _undercloud_net.networks.ctlplane.ip_v4 }}"
118-
_undercloud_net_prefix: "{{ _undercloud_net.networks.ctlplane.prefix_length_v4 }}"
119-
_ctlplane_cidr: "{{ cifmw_networking_env_definition.networks.ctlplane.network_v4 }}"
117+
_undercloud_ip: "{{ _undercloud_net.networks.ctlplane[ip_version|default('ip_v4')] }}"
118+
_undercloud_net_prefix: "{{ _undercloud_net.networks.ctlplane[prefix_length_version|default('prefix_length_v4')] }}"
119+
_ctlplane_cidr: "{{ cifmw_networking_env_definition.networks.ctlplane[network_version|default('network_v4')] }}"
120120
_interface_mtu: "{{ _undercloud_net.networks.ctlplane.mtu }}"
121121
_env_undercloud:
122122
config:
@@ -152,7 +152,7 @@
152152
value: "{{ _ctlplane_cidr | ansible.utils.nthhost(130) }}"
153153
- section: "ctlplane-subnet"
154154
option: "gateway"
155-
value: "{{ cifmw_networking_env_definition.networks.ctlplane.gw_v4 }}"
155+
value: "{{ cifmw_networking_env_definition.networks.ctlplane[gw_version|default('gw_v4')] }}"
156156
- section: "ctlplane-subnet"
157157
option: "inspection_iprange"
158158
value: "{{ _ctlplane_cidr | ansible.utils.nthhost(200) }},{{ _ctlplane_cidr | ansible.utils.nthhost(220) }}"

roles/adoption_osp_deploy/templates/adoption_vars.yaml.j2

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ edpm_node_ip: {{ _compute_1_ip }}
88
edpm_computes: |
99
{% for compute in _vm_groups['osp-computes'] %}
1010
{% set node_nets = cifmw_networking_env_definition.instances[compute] %}
11-
["{{ compute }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"]="{{ node_nets.networks.ctlplane.ip_v4 }}"
11+
["{{ compute }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"]="{{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}"
1212
{% endfor %}
1313
{% endif %}
1414

1515
{% if _vm_groups['osp-networkers'] | default([]) | length > 0 %}
1616
edpm_networkers: |
1717
{% for networker in _vm_groups['osp-networkers'] | default([]) %}
1818
{% set node_nets = cifmw_networking_env_definition.instances[networker] %}
19-
["{{ networker }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"]="{{ node_nets.networks.ctlplane.ip_v4 }}"
19+
["{{ networker }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"]="{{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}"
2020
{% endfor %}
2121
{% endif %}
2222

2323
source_galera_members: |
2424
{% for controller in _vm_groups['osp-controllers'] %}
2525
{% set node_nets = cifmw_networking_env_definition.instances[controller] %}
26-
["{{ controller }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"]="{{ node_nets.networks.internalapi.ip_v4 }}"
26+
["{{ controller }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}"]="{{ node_nets.networks.internalapi[ip_version|default('ip_v4')] }}"
2727
{% endfor %}
2828

2929
{% if _vm_groups['osp-computes'] | default([]) | length > 0 %}
@@ -33,10 +33,10 @@ edpm_nodes:
3333
{{ compute }}:
3434
hostName: {{ compute }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}
3535
ansible:
36-
ansibleHost: {{ node_nets.networks.ctlplane.ip_v4 }}
36+
ansibleHost: {{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}
3737
networks:
3838
{% for net in node_nets.networks.keys() if net not in cifmw_adoption_osp_deploy_adoption_vars_exclude_nets %}
39-
- fixedIP: {{ node_nets.networks[net].ip_v4 }}
39+
- fixedIP: {{ node_nets.networks[net][ip_version|default('ip_v4')] }}
4040
name: {{ net }}
4141
subnetName: subnet1
4242
{% if net == 'ctlplane' %}
@@ -53,10 +53,10 @@ edpm_nodes_networker:
5353
{{ networker }}:
5454
hostName: {{ networker }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}
5555
ansible:
56-
ansibleHost: {{ node_nets.networks.ctlplane.ip_v4 }}
56+
ansibleHost: {{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}
5757
networks:
5858
{% for net in node_nets.networks.keys() if net not in cifmw_adoption_osp_deploy_adoption_vars_exclude_nets %}
59-
- fixedIP: {{ node_nets.networks[net].ip_v4 }}
59+
- fixedIP: {{ node_nets.networks[net][ip_version|default('ip_v4')] }}
6060
name: {{ net }}
6161
subnetName: subnet1
6262
{% if net == 'ctlplane' %}
@@ -66,6 +66,6 @@ edpm_nodes_networker:
6666
{% endfor %}
6767
{% endif %}
6868

69-
upstream_dns: {{ cifmw_networking_env_definition.networks.ctlplane.dns_v4 | first }}
69+
upstream_dns: {{ cifmw_networking_env_definition.networks.ctlplane[dns_version|default('dns_v4')] | first }}
7070
os_cloud_name: {{ cifmw_adoption_osp_deploy_scenario.stacks[0].stackname }}
7171
standalone_ip: {{ _undercloud_ip }}

roles/adoption_osp_deploy/templates/os_net_config_overcloud.yml.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ network_config:
3636
mtu: {{ net.mtu }}
3737
vlan_id: {{ net.vlan_id }}
3838
addresses:
39-
- ip_netmask: {{ net.ip_v4 }}/{{ net.prefix_length_v4 }}
39+
- ip_netmask: {{ net[ip_version|default('ip_v4')] }}/{{ net[prefix_length_version|default('prefix_length_v4')] }}
4040
routes: []
4141
{% endif %}
4242
{% endfor %}
@@ -46,7 +46,7 @@ network_config:
4646
- type: ovs_bridge
4747
name: br-baremetal
4848
addresses:
49-
- ip_netmask: {{ net.ip_v4 }}/{{ net.prefix_length_v4 }}
49+
- ip_netmask: {{ net[ip_version|default('ip_v4')] }}/{{ net[prefix_length_version|default('prefix_length_v4')] }}
5050
use_dhcp: false
5151
routes: []
5252
members:

roles/adoption_osp_deploy/templates/os_net_config_undercloud.yml.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ network_config:
3838
mtu: {{ net.mtu }}
3939
vlan_id: {{ net.vlan_id }}
4040
addresses:
41-
- ip_netmask: {{ net.ip_v4 }}/{{ net.prefix_length_v4 }}
42-
- ip_netmask: {{ net.ip_v4.split('.')[:3] | join('.') }}.2/32
41+
- ip_netmask: {{ net[ip_version|default('ip_v4')] }}/{{ net[prefix_length_version|default('prefix_length_v4')] }}
42+
- ip_netmask: {{ net[ip_version|default('ip_v4')].split('.')[:3] | join('.') }}.2/32
4343
routes: []
4444
{% endif %}
4545
{% endfor %}

roles/adoption_osp_deploy/templates/tripleo-ansible-inventory.yaml.j2

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
{% for node in _vm_groups[group] %}
66
{% set node_nets = cifmw_networking_env_definition.instances[node] %}
77
{{ node }}:
8-
ansible_host: {{ node_nets.networks.ctlplane.ip_v4 }}
8+
ansible_host: {{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}
99
canonical_hostname: {{ node }}.{{ cifmw_adoption_osp_deploy_scenario.cloud_domain }}
10-
ctlplane_ip: {{ node_nets.networks.ctlplane.ip_v4 }}
10+
ctlplane_ip: {{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}
1111
{% for network_name, net in node_nets.networks.items() %}
1212
{% if 'vlan_id' in net %}
1313
{% set net_name = ['storage_mgmt'] if network_name == 'storagemgmt' else [network_name] %}
1414
{% set net_name = ['internal_api'] if network_name == 'internalapi' else [network_name] %}
15-
{{ net_name[0] }}_ip: {{ net.ip_v4 }}
15+
{{ net_name[0] }}_ip: {{ net[ip_version|default('ip_v4')] }}
1616
{% endif %}
1717
{% endfor %}
1818
{% endfor %}
@@ -41,6 +41,6 @@ computes:
4141
{% set node_nets = cifmw_networking_env_definition.instances[node] %}
4242
{{ node }}:
4343
ansible_user: tripleo-admin
44-
ansible_host: {{ node_nets.networks.ctlplane.ip_v4 }}
44+
ansible_host: {{ node_nets.networks.ctlplane[ip_version|default('ip_v4')] }}
4545
{% endfor %}
4646
{% endfor %}

0 commit comments

Comments
 (0)