system-config/playbooks/roles/nodepool-base
Ian Wienand 1ac445b1d9 nodepool-base: prefer ZK IPv6 addresses
The current loop here uses the ansible_host value of the ZK servers,
which we have set to the IPv4 address in the inventory.

nb03 is constantly dropping out of ZK; for the record the logs record:

 2021-04-21 05:56:15,151 WARNING kazoo.client: Connection dropped: socket connection error: Connection reset by peer
 2021-04-21 05:56:15,151 WARNING kazoo.client: Transition to CONNECTING
 2021-04-21 05:56:15,151 INFO kazoo.client: Zookeeper connection lost
 2021-04-21 05:56:15,152 INFO kazoo.client: Connecting to 23.253.90.246(23.253.90.246):2281, use_ssl: True
 2021-04-21 05:56:15,176 INFO kazoo.client: Zookeeper connection established, state: CONNECTED

and this happens every few minutes.  This cloud does IPv4 behind a NAT
and it seems very likely this is related.

So the primary motivation here is to see if using IPv6 clears this up,
giving us some datapoints.  However I think that our other nodepool
hosts should all be fine to use ZK over IPv6.  However, I think in the
gate we may have cases where hosts don't have IPv6 addresses, so this
looks for the v6 address and if not found, falls back to the current
ansible_host behaviour.

Change-Id: Ifde86ddd632662f36bcbe2a0dc99660f06b01ac3
2021-04-21 16:56:07 +10:00
..
defaults Run Zuul as the zuuld user 2020-05-20 13:17:28 -07:00
library nodepool-base: prefer ZK IPv6 addresses 2021-04-21 16:56:07 +10:00
tasks Revert "Revert "Add Zookeeper TLS support"" 2020-07-15 15:45:48 -07:00
README.rst Add install zookeeper role; use for nodepool-builder testing 2020-03-06 14:02:52 +11:00

README.rst

nodepool base setup

Role Variables

Install zookeeper to the node. This is not expected to be used in production, where the nodes would connect to an externally configured zookeeper instance. It can be useful for basic loopback tests in the gate, however.