Add ping test for all networks gateway IPs
Add ping test for gateway IPs on all networks, to ensure all gateways are reachable. The releated Bugzilla reports an issue where some network fabrics fail when using the current node ping test, which pings the first node in each role. The fabric simply does not forward traffic before the gateway has been pinged. One can argue that the fabric in question is broken. However, with the current implementation the first node in each role actually ping tests only against it's own address? So adding the test to ping the gateway addresses improves the validation in general. Related RHBZ#1875962 Depends-On: I93cded61ffb862e99fd8043dbf0def3d16079692 Change-Id: I3309f2a0e39ad115930ecd5c0e895816565819e9
This commit is contained in:
parent
fc1c186310
commit
5d830980ec
@ -124,6 +124,10 @@ parameters:
|
|||||||
default: false
|
default: false
|
||||||
description: Optional validation to ensure FQDN as set by Nova matches the name set in /etc/hosts.
|
description: Optional validation to ensure FQDN as set by Nova matches the name set in /etc/hosts.
|
||||||
type: boolean
|
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:
|
PingTestIpsMap:
|
||||||
default: ''
|
default: ''
|
||||||
description: A map of role name to a space separated list of IP addresses used to ping test each available network interface.
|
description: A map of role name to a space separated list of IP addresses used to ping test each available network interface.
|
||||||
@ -380,6 +384,7 @@ outputs:
|
|||||||
validate_controllers_icmp: {get_param: ValidateControllersIcmp}
|
validate_controllers_icmp: {get_param: ValidateControllersIcmp}
|
||||||
validate_gateways_icmp: {get_param: ValidateGatewaysIcmp}
|
validate_gateways_icmp: {get_param: ValidateGatewaysIcmp}
|
||||||
validate_fqdn: {get_param: ValidateFqdn}
|
validate_fqdn: {get_param: ValidateFqdn}
|
||||||
|
ping_test_gateway_ips: {get_param: PingTestGatewayIPsMap}
|
||||||
ping_test_ips: {get_param: PingTestIpsMap}
|
ping_test_ips: {get_param: PingTestIpsMap}
|
||||||
stack_action: {get_param: StackAction}
|
stack_action: {get_param: StackAction}
|
||||||
network_safe_defaults: {get_param: NetworkSafeDefaults}
|
network_safe_defaults: {get_param: NetworkSafeDefaults}
|
||||||
@ -649,6 +654,7 @@ outputs:
|
|||||||
tripleo_nodes_validation_validate_gateway_icmp: "{{ validate_gateways_icmp }}"
|
tripleo_nodes_validation_validate_gateway_icmp: "{{ validate_gateways_icmp }}"
|
||||||
tripleo_nodes_validation_validate_fqdn: "{{ validate_fqdn }}"
|
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_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:
|
tags:
|
||||||
- overcloud
|
- overcloud
|
||||||
- pre_deploy_steps
|
- pre_deploy_steps
|
||||||
|
@ -1192,6 +1192,24 @@ resources:
|
|||||||
{{role.name}}Count: {get_param: {{role.name}}Count}
|
{{role.name}}Count: {get_param: {{role.name}}Count}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
ServiceNetMapLower: {get_attr: [ServiceNetMap, service_net_map_lower]}
|
ServiceNetMapLower: {get_attr: [ServiceNetMap, service_net_map_lower]}
|
||||||
|
PingTestGatewayIPsMap:
|
||||||
|
{%- for role in roles %}
|
||||||
|
{{role.name}}:
|
||||||
|
yaql:
|
||||||
|
expression: list($.data.where($ != null))
|
||||||
|
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:
|
PingTestIpsMap:
|
||||||
{%- for role in roles %}
|
{%- for role in roles %}
|
||||||
{{role.name}}:
|
{{role.name}}:
|
||||||
|
Loading…
Reference in New Issue
Block a user