Depooling servers

From Wikitech

Contains various ways to depool different servers. In a glorious future, we'd just need to do conftool depool <service> <node> but we aren't there yet!

cp*** machines

These are the varnish frontends, and should be depooled via conftool. To fully depool a server, do as root on any puppetmaster frontend:

$ sudo confctl select dc=<dc>,cluster=<cluster-name>,name=cp*** set/pooled=no

You can find out <cluster-name> from looking at conftool-data/node/ in the operations/puppet repository.

An easier option is to ssh into the server and just run $ sudo -i depool

Note the use of sudo -i. depool needs environment variables to get access to etcd.

mw* machines (and others)

The mw* application servers and various other servers are managed by PyBal directly in Etcd. These can be controlled via conftool as well, including with the depool and pool utilities.

See also Application servers/Runbook#From the host itself.

To learn how this works, refer to LVS#Etcd as a backend to Pybal (All of production).


Using the same example host from above, re-pooling the hosts consists of a similar command from the de-pooling:

$ sudo confctl select dc=<dc>,cluster=<cluster-name>,name=cp*** set/pooled=yes

Alternatively, ssh into the server and run

$ sudo -i pool