Commit Graph

93 Commits

Author SHA1 Message Date
Joshua Boniface 9e20e47903 Update freshness checks 2023-09-01 15:42:28 -04:00
Joshua Boniface d47d320bb3 Replace freshness and kernel_version checks
Use an updated plugin from BLSE that uses needrestart instead of manual
parsing of these elements.
2023-09-01 15:42:28 -04:00
Joshua Boniface ea9fe5570f Add method to remove inactive SSH keys 2023-09-01 15:42:28 -04:00
Joshua Boniface ce9304e43e Populate /etc/timezone as well 2023-09-01 15:42:28 -04:00
Joshua Boniface aa6b4ac3dc Make locale generation universal
Don't rely on a notify/handler, just do it every time in the base role.
2023-09-01 15:42:28 -04:00
Joshua Boniface 35dcf979f4 Customize grub distributor 2023-09-01 15:42:28 -04:00
Joshua Boniface ba81a106d2 Set postfix to listen on all interfaces
Binding to just localhost was causing problems.
2023-09-01 15:42:28 -04:00
Joshua Boniface a87745d640 Fix name of task 2023-09-01 15:42:28 -04:00
Joshua Boniface 77be96bf6f Fix a few more splits 2023-09-01 15:42:28 -04:00
Joshua Boniface 95b47f8b09 Fix a few more extraneous splits
Just use this_node if applicable, or the raw node.hostname.
2023-09-01 15:42:28 -04:00
Joshua Boniface d24cb8a8ef Unify and standardize inventory_hostname
This was causing some confusing conflicts, so create a new fact called
"this_node" which is inventory_hostname.split('.')[0], i.e. the short
name, and use that everywhere instead of an FQDN or true inventory
hostname.
2023-09-01 15:42:28 -04:00
Joshua Boniface 056c325486 Add option for setting CPU governor
Allows the administrator to set a CPU frequency governor if they need
to, though the default of ondemand is usually sufficient.
2023-09-01 15:42:28 -04:00
Joshua Boniface fc5bcf139c Fix name of IPMI check again 2023-09-01 15:42:28 -04:00
Joshua Boniface 44cedf66c9 Fix name of ipmi check 2023-09-01 15:42:28 -04:00
Joshua Boniface 9f7dbfb4f8 Add IPMI check to tasks 2023-09-01 15:42:28 -04:00
Joshua Boniface b9ae4d1009 Adjust headers and add LOM check 2023-09-01 15:42:27 -04:00
Joshua Boniface 48fb21af75 Add node list to PVC MOTD 2023-09-01 15:42:27 -04:00
Joshua Boniface e009cf4076 Fix whitespaced manufacturer and bad [[ 2023-09-01 15:42:27 -04:00
Joshua Boniface e65f1d15a6 Add coordinator state to MOTD 2023-09-01 15:42:27 -04:00
Joshua Boniface 894ce9b517 Support unknown manufacturers in MOTD 2023-09-01 15:42:27 -04:00
Joshua Boniface b814ec60f6 Add resolv.conf customization 2023-09-01 15:42:27 -04:00
Joshua Boniface ddecb94348 Disable unified cgroup heirarchy on kernel cmdline
This is required on Debian 11 to use the cset tool, since the newer
systemd implementation of a unified cgroup hierarchy is not compatible
with the cset tool.

Ref for future use:
  https://github.com/lpechacek/cpuset/issues/40
2023-09-01 15:42:27 -04:00
Joshua Boniface be3ce67574 Use inventory_hostname in IPMI fragment 2023-09-01 15:42:27 -04:00
Joshua Boniface 5f05835721 Update bondX configuration 2023-09-01 15:42:27 -04:00
Joshua Boniface 9f16995f59 Add smartmontools to base package list 2023-09-01 15:42:27 -04:00
Joshua Boniface 45424a28ce Fix bad flag 2023-09-01 15:42:27 -04:00
Joshua Boniface 044a14fa6d Add package installs for different Debian versions 2023-09-01 15:42:27 -04:00
Joshua Boniface ae40227ea1 Move paths and keys to defaults 2023-09-01 15:42:27 -04:00
Joshua Boniface 86eaeed2b4 Fix sources.list for Bullseye 2023-09-01 15:42:26 -04:00
Joshua Boniface 4b0a4ae73c Fix bad Ansible variable name 2023-09-01 15:42:26 -04:00
Joshua Boniface 7bacbd5dd6 Don't fail if IPMI tasks fail 2023-09-01 15:42:26 -04:00
Joshua Boniface eef0f959dd Add GRUB, Plymouth themes and issue for PVC 2023-09-01 15:42:26 -04:00
Joshua Boniface 6d3e5ac728 Fix zkcli for good 2023-09-01 15:42:26 -04:00
Joshua Boniface bace67b8bf Add GRUB configuration to Ansible role 2023-09-01 15:42:26 -04:00
Joshua Boniface 35089f6dda Fix zkcli alias to use hostname 2023-09-01 15:42:26 -04:00
Joshua Boniface 9dc9139c35 Use short ansible_hostname in ipmi fragment 2023-09-01 15:42:26 -04:00
Joshua Boniface 329bc9690e Add ipmitool to packages list 2023-09-01 15:42:26 -04:00
Joshua Boniface 0fc889df32 Ensure we can connect to Patroni 2023-09-01 15:42:26 -04:00
Joshua Boniface c9df64bc7d Ensure deb-src is present for bullseye 2023-09-01 15:42:26 -04:00
Joshua Boniface 3a67dc129b Ensure DEBIAN_FRONTEND is noninteractive 2023-09-01 15:42:26 -04:00
Joshua Boniface a548bdcc6a Use inventory_hostname for IPMI dict 2023-09-01 15:42:26 -04:00
Joshua Boniface 6104e0a5a5 Use independent fact to work around codename 2023-09-01 15:42:26 -04:00
Joshua Boniface 5c46bb0db7 Ensure backup_keys isn't empty 2023-09-01 15:42:25 -04:00
Joshua Boniface d69770b776 Avoid writing hosts if empty 2023-09-01 15:42:25 -04:00
Joshua Boniface f4e49b9d3e Ensure apt-update runs if configs update 2023-09-01 15:42:25 -04:00
Joshua Boniface 9438ab46d7 Add bullseye support 2023-09-01 15:42:25 -04:00
Joshua Boniface dc83f91bd8 Add directory creation to backup script 2023-09-01 15:42:25 -04:00
Joshua Boniface 5466df7065 Add PostgreSQL to daily backup script 2023-09-01 15:42:25 -04:00
Joshua Boniface c9742fe2e5 Update tags and fix backup keys to var 2023-09-01 15:42:25 -04:00
Joshua Boniface 7c7ca4a229 Allow inter-cluster orphan NTP sync
Due to the requirement of Ceph to have all peer nodes tightly
synchronized with each other to come online, PVC nodes need a way to
synchronize to each other even in the absence of an external time
reference. This is especially prevalent if a set of nodes are left
offline for an extended period (>1-2 weeks), since their hardware clocks
will drift. If the resulting Internet connectivity is then dependent on
a VM, this will cause a catch-22 and the cluster will not properly
start.

This configuration will accomplish that - if no suitable >6 stratum
peers are found, the hosts will enter orphan mode. Since they are now
all configured as "peers" with each other, they will collectively decide
on one of them to become the source and sync to it. A local stratum 10
fudge is added so that at least one of the nodes can become this source.

While this is not an ideal use of NTP, it is by far the cleanest
solution to this problem, and does not impact normal functionality when
the two configured stratum-2 servers are reachable.
2023-09-01 15:42:25 -04:00