nodepool/nodepool
Tobias Henkel e925327309
Reduce socket connect timeout in nodescan
During nodescan we currently set a socket timeout which is equal to
the timeout we wait for the entire boot. In case we have unfortunate
timing of the network interface setup of the node (especially Windows
does this very late in the boot process) we get longer wait times than
necessary. This happens because uninitialized network interfaces on
the node lead to unanswered syn packets instead of connection refused
errors. Linux typically does around 6 syn retries with an exponential
backof starting with 3s. This means the delay between syn retries is
3, 6, 12 seconds and thus in absolute time a single socket connect can
return after 0, 3, 6, 12, 45, 93 or 189 seconds.

This can be solved by setting a fixed lower timeout on the socket to
force it to return with timeout after 10s so we can avoid the
exponential syn retry backoff and thus don't waste too much time on
slower starting nodes.

Change-Id: Ibabdff1966d49752e86e15a1c2a24dd2c86d33f6
2018-10-09 11:17:51 +02:00
..
cmd status: add pool column to nodepool list output 2018-07-15 23:07:22 +00:00
driver Add instance boot properties 2018-09-21 16:29:16 +10:00
tests Merge "Fix race in test_launchNode_delete_error" 2018-10-05 20:18:53 +00:00
__init__.py Initial commit 2013-08-15 09:47:23 -07:00
builder.py Add metric for image build result 2018-09-05 09:39:47 +02:00
config.py Merge "builder: support setting diskimage env-vars in secure configuration" 2018-07-23 16:04:00 +00:00
exceptions.py Fix relaunch attempts when hitting quota errors 2018-07-06 08:41:02 +02:00
launcher.py Move OpenStack leak code into driver 2018-09-18 12:07:41 -04:00
logconfig.py Replace shade and os-client-config with openstacksdk. 2018-07-14 08:44:03 -05:00
nodeutils.py Reduce socket connect timeout in nodescan 2018-10-09 11:17:51 +02:00
provider_manager.py builder: do not configure provider that doesn't manage images 2018-07-15 23:10:05 +00:00
stats.py Fix label name in reported label stats 2018-09-07 08:20:57 +02:00
status.py status: add pool column to nodepool list output 2018-07-15 23:07:22 +00:00
task_manager.py Make statsd key look like the keys from shade 2018-07-24 13:57:05 -05:00
version.py Fix nodepool --version 2015-02-06 12:09:52 -08:00
webapp.py webapp: fix browser return 2018-06-07 18:47:06 +10:00
zk.py Force node hold expiration to integer type 2018-08-29 10:21:56 -07:00