The Wikidough and durum hosts (12 each for a total of 24 hosts) are Ganeti VMs currently running buster (10.11). We should upgrade them to bullsye and this task discusses the best path forward on undertaking that upgrade.
We have already backported the dnsdist and pdns-recursor patches from unstable, building them for bullseye. For the actual upgrade of the VMs, we have two main options:
- Perform an in-place upgrade, using apt full-upgrade. This helps preserve the IP addresses (reminder: these services are anycasted and changing the IP requires additional updates) and might be the least stressful path forward.
- The downside of this approach being that it's not as clean as spinning up a new host and doesn't help us catch corner cases when initializing a new Wikidough or durum host with bullseye (such as the Puppetization). We can however always perform the in-place upgrade and spin up a test VM on the side to test a clean install.
- Steps: depool host, run full-upgrade, reboot, host is pooled.
- Decomission the existing hosts, run makevm to spin up new VMs with bullseye. The downside is that the IPs of the hosts will change and we would have to update them in homer for the anycast configuration (not a big deal?) and that it might result in some weird state issue elsewhere (such as Netbox).
- This approach helps us test setting up new instances of Wikidough and durum with bullseye and ensures a clean install. There is no state on the Wikidough hosts as there are no logs or other state data that we have to preserve so decomissioning and creating new hosts should not be a problem.
- Steps: decomission host, set up new VM, update existing hostnames and IP addresses in homer and other places. Need to be done for each host individually.
Both of these steps are manual as there is no cookbook (as of now) for performing these upgrades. The main intention of this task is to discuss the best path forward on upgrading Ganeti VMs to bullseye and for the Wikidough and durum hosts.
I do notice that some of the Ganeti VMs (just codfw, as an example) have already been upgraded to bullseye:
===== NODE GROUP ===== (11) failoid2002.codfw.wmnet,kubernetes[2005-2006,2015-2016].codfw.wmnet,ldap-replica[2005-2006].wikimedia.org,ml-staging-ctrl[2001-2002].codfw.wmnet,netflow2002.codfw.wmnet,rpki2002.codfw.wmnet ----- OUTPUT of 'cat /etc/debian_version' ----- 11.2 ===== NODE GROUP ===== (5) build2001.codfw.wmnet,kubestagemaster2001.codfw.wmnet,mx2001.wikimedia.org,people2002.codfw.wmnet,puppetboard2002.codfw.wmnet ----- OUTPUT of 'cat /etc/debian_version' ----- 11.3
While the majority of them have not been:
===== NODE GROUP ===== (7) debmonitor2002.codfw.wmnet,deneb.codfw.wmnet,grafana2001.codfw.wmnet,miscweb2002.codfw.wmnet,pybal-test2001.codfw.wmnet,urldownloader2001.wikimedia.org,xhgui2001.codfw.wmnet ----- OUTPUT of 'cat /etc/debian_version' ----- 10.12 ===== NODE GROUP ===== (62) acmechief2001.codfw.wmnet,acmechief-test2001.codfw.wmnet,apifeatureusage2001.codfw.wmnet,apt2001.wikimedia.org,chartmuseum2001.codfw.wmnet,doc2001.codfw.wmnet,doh[2001-2002].wikimedia.org,dragonfly-supernode2001.codfw.wmnet,durum[2001-2002].codfw.wmnet,gitlab2001.wikimedia.org,gitlab-runner2001.codfw.wmnet,idp2001.wikimedia.org,idp-test2001.wikimedia.org,install2003.wikimedia.org,irc2001.wikimedia.org,kafkamon2002.codfw.wmnet,kubemaster[2001-2002].codfw.wmnet,kubestagetcd[2001-2003].codfw.wmnet,kubetcd[2004-2006].codfw.wmnet,ldap-corp2001.wikimedia.org,logstash[2023-2025,2030-2031].codfw.wmnet,ml-etcd[2001-2003].codfw.wmnet,ml-serve-ctrl[2001-2002].codfw.wmnet,ml-staging-etcd[2001-2003].codfw.wmnet,mwdebug[2001-2002].codfw.wmnet,ncredir[2001-2002].codfw.wmnet,netbox2001.wikimedia.org,netbox-dev2001.wikimedia.org,netboxdb2001.codfw.wmnet,orespoolcounter[2003-2004].codfw.wmnet,ping2002.codfw.wmnet,planet2002.codfw.wmnet,poolcounter[2003-2004].codfw.wmnet,puppetdb2002.codfw.wmnet,registry[2003-2004].codfw.wmnet,releases2002.codfw.wmnet,schema[2003-2004].codfw.wmnet,search-loader2001.codfw.wmnet,serpens.wikimedia.org,urldownloader2002.wikimedia.org ----- OUTPUT of 'cat /etc/debian_version' ----- 10.11
If we do decide that a cookbook is the path forward, then it might be worth taking into account if it just will be beneficial to the 24 Wikidough hosts, or the others above as well, to make the effort worth it.