Allow Override default network_data/vip yaml

With this change we are adding capability to create custom
baremetal environment specific yaml templates:-

* network_data.yaml
* vip_data.yaml

Above files will be created using the var `network_data_details` and
`network_vip_details` defined in downstream env_setting.yml(details
about env_setting.yml in [1])

Also, Updating `overcloud-deploy` role to parameterize the location of
network_data.yaml and vip_data.yaml file, this will help override the
default location.

[1] https://opendev.org/openstack/ansible-role-collect-logs/src/branch/master/docs/static/baremetal-overcloud/environment-settings-structure.rst

Change-Id: Ibfbe2d2af8372f47f6e6a31ca821bfb314ce347f
This commit is contained in:
Sandeep Yadav 2021-08-31 16:13:44 +05:30
parent 5fa649b5e9
commit 22e056fd36
4 changed files with 62 additions and 2 deletions

View File

@ -197,3 +197,6 @@ overcloud_selinux_enabled: >-
{%- else -%}
permissive
{%- endif -%}
network_data_yaml: "{{ overcloud_templates_path }}/ci/network_data.yaml"
vip_data_yaml: "{{ overcloud_templates_path }}/ci/vip_data.yaml"

View File

@ -20,7 +20,7 @@
vars:
tripleo_overcloud_network_provision_debug: true
tripleo_overcloud_network_provision_output_file: "{{ working_dir }}/overcloud-networks-deployed.yaml"
tripleo_overcloud_network_provision_deployment_file: "{{ overcloud_templates_path }}/ci/network_data.yaml"
tripleo_overcloud_network_provision_deployment_file: "{{ network_data_yaml }}"
tripleo_overcloud_network_provision_rc_file: "{{ working_dir }}/stackrc"
- name: "Run overcloud network vip provision"
@ -33,7 +33,7 @@
vars:
tripleo_overcloud_network_vip_provision_debug: true
tripleo_overcloud_network_vip_provision_output_file: "{{ working_dir }}/overcloud-vips-deployed.yaml"
tripleo_overcloud_network_vip_provision_deployment_file: "{{ overcloud_templates_path }}/ci/vip_data.yaml"
tripleo_overcloud_network_vip_provision_deployment_file: "{{ vip_data_yaml }}"
tripleo_overcloud_network_vip_provision_rc_file: "{{ working_dir }}/stackrc"
tripleo_overcloud_network_vip_provision_stack: "{{ stack_name }}"

View File

@ -41,3 +41,41 @@ bond_with_vlans_nic_configs_log: bond_with_vlans_nic_configs_script_log
tht_rpm_url: https://trunk.rdoproject.org/centos7-{{ release }}/current/
overcloud_prep_post_hook_script: ""
# The `network_data_details` var when defined can be used to copy custom network_data.yaml in
# zuul/stack user home directory. By default for ci use case we utilize tht ci/network_data.yaml:-
# https://github.com/openstack/tripleo-heat-templates/blob/master/ci/network_data.yaml
# In baremetal environment we have to create our own custom network_data.yaml as per
# network layout, details on how to create this file can be found at:-
# https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/deployment/network_v2.html#pre-provision-networks
# network_data_details:
# - name: External
# name_lower: external
# vip: true
# mtu: 1500
# subnets:
# external_subnet:
# ip_subnet: 10.0.0.0/24
# allocation_pools:
# - start: 10.0.0.4
# end: 10.0.0.250
# gateway_ip: 10.0.0.1
# vlan: 10
# The `network_vip_details` var when defined can be use to create custom vip_data.yaml in zuul
# zuul/stack home directory. By default for ci use case we utilize tht ci/vip_data.yaml:-
# https://github.com/openstack/tripleo-heat-templates/blob/master/ci/vip_data.yaml
# In baremetal environment we have to create our own custom vip_data.yaml as per
# network layout, details on how to create this file can be found at:-
# https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/deployment/network_v2.html#pre-provision-network-virtual-ips
# network_vip_details:
# - network: ctlplane
# dns_name: overcloud
# - network: external
# dns_name: overcloud
# - network: internal_api
# dns_name: overcloud
# - network: storage
# dns_name: overcloud
# - network: storage_mgmt
# dns_name: overcloud

View File

@ -23,6 +23,25 @@
tags:
- overcloud-scripts
- when:
- release not in ['train', 'ussuri', 'victoria']
- job.environment_type is defined and job.environment_type == 'baremetal'
block:
- name: Create network_data.yaml according to baremetal environment
become: true
copy:
content: "{{ network_data_details }}"
dest: "{{ working_dir }}/network_data.yaml"
when:
- network_data_details is defined
- name: Create vip_data.yaml according to baremetal environment
become: true
copy:
content: "{{ network_vip_details }}"
dest: "{{ working_dir }}/vip_data.yaml"
when:
- network_vip_details is defined
- when: undercloud_type == "baremetal"
block: