Merge "Add ping test for all networks gateway IPs" into stable/wallaby

This commit is contained in:
Zuul 2021-11-18 06:23:27 +00:00 committed by Gerrit Code Review
commit a674a0141c
2 changed files with 24 additions and 0 deletions

View File

@ -131,6 +131,10 @@ parameters:
default: false
description: Optional validation to ensure FQDN as set by Nova matches the name set in /etc/hosts.
type: boolean
PingTestGatewayIPsMap:
default: {}
description: A map of role name to list of gateway IP addresses for each network, used to ping test each gateway.
type: json
PingTestIpsMap:
default: ''
description: A map of role name to a space separated list of IP addresses used to ping test each available network interface.
@ -384,6 +388,7 @@ outputs:
validate_controllers_icmp: {get_param: ValidateControllersIcmp}
validate_gateways_icmp: {get_param: ValidateGatewaysIcmp}
validate_fqdn: {get_param: ValidateFqdn}
ping_test_gateway_ips: {get_param: PingTestGatewayIPsMap}
ping_test_ips: {get_param: PingTestIpsMap}
stack_action: {get_param: StackAction}
network_safe_defaults: {get_param: NetworkSafeDefaults}
@ -641,6 +646,7 @@ outputs:
tripleo_nodes_validation_validate_gateway_icmp: "{{ validate_gateways_icmp }}"
tripleo_nodes_validation_validate_fqdn: "{{ validate_fqdn }}"
tripleo_nodes_validation_ping_test_ips: "{{ ping_test_ips.get(tripleo_role_name).split(' ') | list | unique }}"
tripleo_nodes_validation_ping_test_gateway_ips: "{{ ping_test_gateway_ips.get(tripleo_role_name) }}"
tags:
- overcloud
- pre_deploy_steps

View File

@ -1186,6 +1186,24 @@ resources:
{{role.name}}Count: {get_param: {{role.name}}Count}
{%- endfor %}
ServiceNetMapLower: {get_attr: [ServiceNetMap, service_net_map_lower]}
PingTestGatewayIPsMap:
{%- for role in roles %}
{{role.name}}:
yaql:
expression: list($.data.where($ != null)).flatten()
data:
- {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, gateway_ip]}
{%- for network in networks %}
{%- if network.enabled|default(true) and network.name in role.networks|default([]) %}
{%- if role.networks is mapping %}
{%- set _role_net_subnet = role.networks[network.name]['subnet'] %}
{%- else %}
{%- set _role_net_subnet = network.name_lower + '_subnet' %}
{%- endif %}
- {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{ _role_net_subnet }}, gateway_ip]}
{%- endif %}
{%- endfor %}
{%- endfor %}
PingTestIpsMap:
{%- for role in roles %}
{{role.name}}: