Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
5a48ec4d79
Ensure CPU tuning is only applied on Debian 11+
2023-09-01 15:42:29 -04:00
Joshua Boniface
8f685116b7
Add Ceph monitor backup
2023-09-01 15:42:29 -04:00
Joshua Boniface
c3ce11dacf
Fix update-motd so it runs properly
2023-09-01 15:42:29 -04:00
Joshua Boniface
d94f587e37
Remove obsolete logrotate settings
2023-09-01 15:42:29 -04:00
Joshua Boniface
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
Joshua Boniface
b987c4ea8f
Adjust GRUB_DIST and add UEFI regeneration
...
Keeps the UEFI boot list cleaned and consistent
2023-09-01 15:42:29 -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
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
48fb21af75
Add node list to PVC 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
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
86eaeed2b4
Fix sources.list for Bullseye
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
bace67b8bf
Add GRUB configuration to Ansible role
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
c9df64bc7d
Ensure deb-src is present for bullseye
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
d69770b776
Avoid writing hosts if empty
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
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
Joshua Boniface
e53342474c
Remove GRUB config from base role
...
This is not actually ideal.
2023-09-01 15:42:25 -04:00
Joshua Boniface
6903627150
Add additional items to base role
...
Backups, GRUB configuration, and IPMI configuration.
2023-09-01 15:42:25 -04:00
Joshua Boniface
c96ad603b0
Fix sudoers to use conditional deploy_username
2023-09-01 15:42:25 -04:00
Joshua Boniface
29363ebf80
Allow configurable fail2ban IPs
2023-09-01 15:42:25 -04:00
Joshua Boniface
4dc5ebdba0
Move to more dynamic apt configs
...
Allow specifying repository URLs in the group_vars, and add
release-specific template files to support future version changes.
2023-09-01 15:42:25 -04:00
Joshua Boniface
a4be011884
Add local domain to resolver config
2023-09-01 15:42:25 -04:00
Joshua Boniface
075ce8ea22
Add PVC status MOTD script
2023-09-01 15:42:24 -04:00
Joshua Boniface
a8419be587
Use generic Debian repos and PVC component
2023-09-01 15:42:24 -04:00
Joshua Boniface
777a4693a1
Improve SSH configuration for nodes
...
Ensure hostbased auth works with configs, remove erroneous old
conditional for authtypes, remove obsolete config option.
2023-09-01 15:42:24 -04:00
Joshua Boniface
88209a2b70
Use Google DNS instead of Cloudflare
...
For some reason Cloudflare works in fewer places than Google, so just
use it instead.
2023-09-01 15:42:24 -04:00
Joshua Boniface
fbbf5ffe09
Use cluster_group variable for paths
...
Instead of trying to automagic this group out of the Ansible hostvars,
just make it explicitly defined in the group_vars to avoid any
confusion.
2023-09-01 15:42:23 -04:00
Joshua Boniface
7e653d52c3
Include upstream and short names in hosts
2023-09-01 15:42:23 -04:00
Joshua Boniface
7e74ce2ede
Add support for arbitrary /etc/hosts entries
2023-09-01 15:42:21 -04:00
Joshua Boniface
675aa865de
Allow sysrc triggers in nodes
2023-09-01 15:42:21 -04:00
Joshua Boniface
c9393ba957
Add templating of network interfaces
...
Closes #1
2023-09-01 15:42:21 -04:00
Joshua Boniface
1762d74aa8
Remove BLSE references
2023-09-01 15:42:20 -04:00
Joshua Boniface
e04e12f46f
Get NTP from real servers
2023-09-01 15:42:19 -04:00
Joshua Boniface
9bb513e695
Add hostsnames properly
2023-09-01 15:42:19 -04:00
Joshua Boniface
2650014ec1
Fix up some weird issues
2023-09-01 15:42:19 -04:00
Joshua Boniface
6dfaf433dc
Initial commit of PVC Ansible role
2023-09-01 15:42:19 -04:00