|Age||Commit message (Collapse)||Author||Files||Lines|
We use ping -w <deadline> -c <count>. This will ping every second until
<count> replies are received, or <deadline> is reached, or a network error occurs.
With the current retry logic a network error will result in a short tight loop
instead of waiting for the network to come up.
This change reduces the deadline to 10s, but sleeps 60s between retries.
Adds a validation to ensure at least one NTP source
Misconfigured or inaccessible NTP servers is a
common source of erratic behavior and failures. This
validation will ensure a NTP source is available
or fail with debug output from ntpdate.
The heat boolean: ValidateNtp can be set to disable
Adds optional validation to ensure FQDN set by Nova matches /etc/hosts
as created by overcloud heat configuration.
Consistent FQDN requires the nova parameter [Default]/dhcp_domain to
match the CloudDomain tht parameter.
This validation is disabled by default.
This is an optimization of the ping command. It changes ping test
from waiting for a single sent packet for 300 seconds to waiting
to receive a packet from any number of sent packets. The current
implemenation waits for full 300 seconds before retrying if we
do not get a reply for the first packet sent. By using -w flag,
we keep sending icmp packets until a reply is sent, making the
ping test more responsive to connectivity change.
Signed-off-by: Feng Pan <firstname.lastname@example.org>
This patch cleans up the retry logic so that it is all
consolidated in the same function.
This reverts commit 570c690bfb118e0cf130b7dbed7992676519ed9b.
This patch broke the ping_gateway_function when using IPv6
The single ping method in the validation script is causing for
deployments to fail. When reviewing the network connectivity, we are
finding we actually do have connectivity
( https://gist.github.com/jtaleric/0276a117625e44993be0 ). This patch is
to change the ping count from 1 to 10, to ensure the network is up.
Update this script to use 'set -e' for all commands except
the ping checks themselves which we allow to fail so we
can give enhanced output.
This resolves an issue where some commands could fail and cause
an undetectable error (the scripted exits with success) thus causing
a case where Heat won't detect any network errors at all. This
was recently the case with git commit 45be848 where we switched
to use python -c 'import ipaddr' which wasn't even installed as a
library on our overcloud nodes, thus causing all network validations
to silently fail.
This changes the ping_controller_ips function in the all-nodes.sh
bash validation script which is run during deployment to check
network connectivity (to fail early).
The main differences are using the v6 routes when it is a v6 address
and using python -c to check if the v6 address is in the network and
(thanks emachi!) using ping6 instead of ping.
This patch adds a new function that runs on all nodes so that
all default gateways are ping tested early on during the
installation process (before any puppet is executed)
Note: this change depends on the static control plane network IPs
because some distros allow/create multiple default routes without
this patch (see depends-on below).
This change ensures the validation script returns (with a failure)
if the ping command remains stuck waiting for a response for more
than 5 minutes.
This patches wires in a new "all nodes" validation resource
that can be used to add validations that occur early on
during the deployment process. This occurs after the nodes
have been brought online and the initial networks
have been configured but before any "post" (puppet, etc.)
sort of configuration has been executed.
A initial validation script has been added to ping test network IPs
on each network. When using network isolation this will ensure
network connectivity (vlans, etc) are working on each
node and if not the heat stack will fail early, allowing
time to fix the network connections and retry the
stack creation via an update.
Co-Authored-By: Ian Main <email@example.com>
Co-Authored-By: Ryan Hallisey <firstname.lastname@example.org>