74 Commits

Author SHA1 Message Date
017e1405ed Use debian_version custom fact 2023-09-01 15:42:29 -04:00
08f923d29c Use custom fact for Debian codename 2023-09-01 15:42:29 -04:00
679e15c484 Add *.update-* obsolete configs to dpkg plugin 2023-09-01 15:42:29 -04:00
efeaa61e0f Add customizable NTP servers 2023-09-01 15:42:29 -04:00
e9f76042bd Allow specifying alternate channels in IPMI 2023-09-01 15:42:29 -04:00
612045b8b3 Restore original rsyslog-rotate script
Direct call doesn't work because of how arguments are passed to
postrotate.
2023-09-01 15:42:29 -04:00
5cd9566163 Explicitly use systemctl in logrotate
For some reason (Debian bug?) the default rsyslog-rotate script was not
properly rotating rsyslog logfiles. Instead, explicitly call systemctl
kill -s HUP for this, using a full path.
2023-09-01 15:42:29 -04:00
57010260bd Use full debian_version 2023-09-01 15:42:29 -04:00
2a925904e4 Alter format of Debian version in MOTD 2023-09-01 15:42:29 -04:00
a79961605a Replace per-user htoprc with system-wide config
Also update to newer htoprc layout from BLSE.
2023-09-01 15:42:29 -04:00
5a48ec4d79 Ensure CPU tuning is only applied on Debian 11+ 2023-09-01 15:42:29 -04:00
8f685116b7 Add Ceph monitor backup 2023-09-01 15:42:29 -04:00
c3ce11dacf Fix update-motd so it runs properly 2023-09-01 15:42:29 -04:00
d94f587e37 Remove obsolete logrotate settings 2023-09-01 15:42:29 -04:00
73e1f2042c Add extra space for clarity 2023-09-01 15:42:29 -04:00
30ddeb0fee Update MOTD automatically on boot
The cron every minute was pointlessly excessive considering this doesn't
actually change minute-to-minute.
2023-09-01 15:42:29 -04:00
86026de8ef Adjust colour scheme of MOTD 2023-09-01 15:42:29 -04:00
8e1d005d43 Obtain more information for MOTD header
Add model and serial numbers to the vendor, and put this on its own
line. Also use BASH for proper syntax formatting. Reformat the header to
be a more compact format.
2023-09-01 15:42:29 -04:00
b987c4ea8f Adjust GRUB_DIST and add UEFI regeneration
Keeps the UEFI boot list cleaned and consistent
2023-09-01 15:42:29 -04:00
35dcf979f4 Customize grub distributor 2023-09-01 15:42:28 -04:00
ba81a106d2 Set postfix to listen on all interfaces
Binding to just localhost was causing problems.
2023-09-01 15:42:28 -04:00
77be96bf6f Fix a few more splits 2023-09-01 15:42:28 -04:00
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
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
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
48fb21af75 Add node list to PVC MOTD 2023-09-01 15:42:27 -04:00
e009cf4076 Fix whitespaced manufacturer and bad [[ 2023-09-01 15:42:27 -04:00
e65f1d15a6 Add coordinator state to MOTD 2023-09-01 15:42:27 -04:00
894ce9b517 Support unknown manufacturers in MOTD 2023-09-01 15:42:27 -04:00
b814ec60f6 Add resolv.conf customization 2023-09-01 15:42:27 -04:00
be3ce67574 Use inventory_hostname in IPMI fragment 2023-09-01 15:42:27 -04:00
5f05835721 Update bondX configuration 2023-09-01 15:42:27 -04:00
86eaeed2b4 Fix sources.list for Bullseye 2023-09-01 15:42:26 -04:00
eef0f959dd Add GRUB, Plymouth themes and issue for PVC 2023-09-01 15:42:26 -04:00
6d3e5ac728 Fix zkcli for good 2023-09-01 15:42:26 -04:00
bace67b8bf Add GRUB configuration to Ansible role 2023-09-01 15:42:26 -04:00
35089f6dda Fix zkcli alias to use hostname 2023-09-01 15:42:26 -04:00
9dc9139c35 Use short ansible_hostname in ipmi fragment 2023-09-01 15:42:26 -04:00
0fc889df32 Ensure we can connect to Patroni 2023-09-01 15:42:26 -04:00
c9df64bc7d Ensure deb-src is present for bullseye 2023-09-01 15:42:26 -04:00
3a67dc129b Ensure DEBIAN_FRONTEND is noninteractive 2023-09-01 15:42:26 -04:00
a548bdcc6a Use inventory_hostname for IPMI dict 2023-09-01 15:42:26 -04:00
5c46bb0db7 Ensure backup_keys isn't empty 2023-09-01 15:42:25 -04:00
d69770b776 Avoid writing hosts if empty 2023-09-01 15:42:25 -04:00
9438ab46d7 Add bullseye support 2023-09-01 15:42:25 -04:00
dc83f91bd8 Add directory creation to backup script 2023-09-01 15:42:25 -04:00
5466df7065 Add PostgreSQL to daily backup script 2023-09-01 15:42:25 -04:00
c9742fe2e5 Update tags and fix backup keys to var 2023-09-01 15:42:25 -04:00
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
e53342474c Remove GRUB config from base role
This is not actually ideal.
2023-09-01 15:42:25 -04:00