Page MenuHomePhabricator

Migrate Cloud VPS puppet infrastructure to Puppet 7
Closed, ResolvedPublic

Description

Puppet server v7 only runs on Bookworm. So almost all existing puppetmasters will need to be rebuild as new VMs. Steps for each server will include:

  • build new server VM, apply "profile::puppet::agent::force_puppet7: true", allow puppet to stabilize, apply "role::puppetserver::cloud_vps_project", allow puppet to stabilize
  • Migrate local changes in operations/puppet and labs/private to the new server
  • clone certs from existing v5 puppet server to new puppet server
    • is this possible if the new server has a different name than the old one?
  • move clients from old server to new server

An alternative to cloning certs is to just treat the move from old puppet master to new puppet server as clean break requiring regeneration of all certs (the same dance that we do when moving from the central puppet master to a project-local one).

Related Objects

StatusSubtypeAssignedTask
ResolvedAndrew
Resolvedtaavi
Resolvedtaavi
ResolvedAndrew
ResolvedAndrew
Resolvedfnegri
Invalidtaavi
ResolvedAndrew
ResolvedJelto
ResolvedAndrew
Resolvedbrennen
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew
ResolvedDwisehaupt
ResolvedAndrew
InvalidNone
Resolvedtaavi
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew
ResolvedAndrew

Event Timeline

Change 1008554 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] role::puppetserver::cloud_vps_project: remove firewall config

https://gerrit.wikimedia.org/r/1008554

puppet7 servers need > 1 Gb of RAM or they swap

Change 1008554 merged by Andrew Bogott:

[operations/puppet@production] role::puppetserver::cloud_vps_project: remove firewall config

https://gerrit.wikimedia.org/r/1008554

Change 1009798 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] git-sync-upstream: on puppet7, deploy code after update

https://gerrit.wikimedia.org/r/1009798

Change 1010168 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/puppet@production] hieradata: WMCS: try to evict Puppet cache after more operations

https://gerrit.wikimedia.org/r/1010168

Change 1010168 merged by Majavah:

[operations/puppet@production] hieradata: WMCS: try to evict Puppet cache after more operations

https://gerrit.wikimedia.org/r/1010168

Change 1009798 abandoned by Andrew Bogott:

[operations/puppet@production] git-sync-upstream: on puppet7, deploy code after update

Reason:

dropped, using https://gerrit.wikimedia.org/r/c/operations/puppet/+/1010168 instead

https://gerrit.wikimedia.org/r/1009798

Change 1009798 restored by Andrew Bogott:

[operations/puppet@production] git-sync-upstream: on puppet7, deploy code after update

https://gerrit.wikimedia.org/r/1009798

Change 1009798 merged by Andrew Bogott:

[operations/puppet@production] git-sync-upstream: on puppet7, deploy code after update

https://gerrit.wikimedia.org/r/1009798

I have built a very large server (cloudinfra-cloudvps-puppetserver-1.cloudinfra.eqiad1.wikimedia.cloud) which I hope will be able to handle all of cloud-vps on its own. I'll change the DNS entry on Monday.

Change 1012384 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] eqiad pdns: move the 'puppet' alias to the new puppetserver

https://gerrit.wikimedia.org/r/1012384

Change 1012389 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] puppetserver: allow specifying an autosign script

https://gerrit.wikimedia.org/r/1012389

Change 1012389 merged by Andrew Bogott:

[operations/puppet@production] puppetserver: allow specifying an autosign script

https://gerrit.wikimedia.org/r/1012389

Change 1012384 merged by Andrew Bogott:

[operations/puppet@production] eqiad pdns: move the 'puppet' alias to the new puppetserver

https://gerrit.wikimedia.org/r/1012384

Change 1012396 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] profile::puppetserver::wmcs: include validatelabsfqdn.py script

https://gerrit.wikimedia.org/r/1012396

Change 1012396 merged by Andrew Bogott:

[operations/puppet@production] profile::puppetserver::wmcs: include validatelabsfqdn.py script

https://gerrit.wikimedia.org/r/1012396

Change 1012414 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] puppetserver: allow specifying certname in [server] conf

https://gerrit.wikimedia.org/r/1012414

Change 1012414 abandoned by Andrew Bogott:

[operations/puppet@production] puppetserver: allow specifying certname in [server] conf

Reason:

dropping in favor of dns_alt_names

https://gerrit.wikimedia.org/r/1012414

Change 1012764 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] puppetserver: add puppet7-facts-export-nodb.py

https://gerrit.wikimedia.org/r/1012764

Change 1012764 merged by Andrew Bogott:

[operations/puppet@production] puppetserver: add puppet7-facts-export-nodb.py

https://gerrit.wikimedia.org/r/1012764

Change 1013066 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] pcc-db1001.yaml: update a bunch of cloud-vps puppetserver keys

https://gerrit.wikimedia.org/r/1013066

Change 1013066 merged by Andrew Bogott:

[operations/puppet@production] pcc-db1001.yaml: update a bunch of cloud-vps puppetserver keys

https://gerrit.wikimedia.org/r/1013066

Change 1013079 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] codfw1dev puppet: change the 'puppet' alias to point to the new puppet7 server

https://gerrit.wikimedia.org/r/1013079

Change 1013079 merged by Andrew Bogott:

[operations/puppet@production] codfw1dev puppet: change the 'puppet' alias to point to the new puppet7 server

https://gerrit.wikimedia.org/r/1013079

Change 1013100 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] pcc-db1001.yaml: further attempt to upload cloud-vps puppetserver key

https://gerrit.wikimedia.org/r/1013100

Change 1013100 merged by Andrew Bogott:

[operations/puppet@production] pcc-db1001.yaml: further attempt to upload cloud-vps puppetserver key

https://gerrit.wikimedia.org/r/1013100

Change 1013108 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] pcc-db1001.yaml: another round of keys for uploading puppet facts

https://gerrit.wikimedia.org/r/1013108

Change 1013108 merged by Andrew Bogott:

[operations/puppet@production] pcc-db1001.yaml: another round of keys for uploading puppet facts

https://gerrit.wikimedia.org/r/1013108

Change 1013126 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] pcc-db1001.yaml: yet newer keys for uploading puppet facts

https://gerrit.wikimedia.org/r/1013126

Change 1013126 merged by Andrew Bogott:

[operations/puppet@production] pcc-db1001.yaml: yet newer keys for uploading puppet facts

https://gerrit.wikimedia.org/r/1013126

Hm... the puppet servers themselves are upgraded but I'm not sure when to actually switch all VMs to puppet7. Ideally we'd have all the project puppet servers upgraded first.

Change #1018316 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] cloud: switch (almost) everything to puppet 7

https://gerrit.wikimedia.org/r/1018316

Change #1018316 merged by Andrew Bogott:

[operations/puppet@production] cloud: switch (almost) everything to puppet 7

https://gerrit.wikimedia.org/r/1018316

fnegri reopened this task as In Progress.Jul 1 2024, 1:34 PM
fnegri moved this task from Done to In progress on the cloud-services-team (FY2023/2024-Q3-Q4) board.
fnegri subscribed.

Ceph hosts are still missing, blocked by T309789: [ceph] Upgrade hosts to bullseye