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
Joshua Boniface
e53342474c
Remove GRUB config from base role
...
This is not actually ideal.
2023-09-01 15:42:25 -04:00
Joshua Boniface
4666db17cb
Fix version sorting bugs in kernel-cleanup.sh
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
d9be39a048
Allow customization of deploy username
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
57e5953fd1
Add sensible sorting of kernel removals
2023-09-01 15:42:25 -04:00
Joshua Boniface
2a72a826f5
Remove cruft and add mkpasswd setup
2023-09-01 15:42:25 -04:00
Joshua Boniface
bf02da693f
Correct bad indentation in base role
2023-09-01 15:42:25 -04:00
Joshua Boniface
1f6cb077fa
Update tags and add kernel-cleanup script
2023-09-01 15:42:25 -04:00
Joshua Boniface
c0dc6fad4e
Add some additional compression libraries
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
68a475ccf9
Set proper mode on agent plugins
2023-09-01 15:42:24 -04:00
Joshua Boniface
f86ec62416
Add check-mk-agent plugin installs
...
These are used by various Ansible tasks, even if the administrator is
not using Check_MK for monitoring.
2023-09-01 15:42:24 -04:00
Joshua Boniface
62d53b0c9c
Add PCI and USB utils
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
715fa103cd
Ensure uuid-runtime is installed
2023-09-01 15:42:23 -04:00
Joshua Boniface
0566aadfb0
Remove obsolete issue-gen script on install
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
e7e7f2cc96
Don't remove nano
2023-09-01 15:42:22 -04:00
Joshua Boniface
e97ba72a14
Set timezone to be a variable
2023-09-01 15:42:22 -04:00
Joshua Boniface
7e74ce2ede
Add support for arbitrary /etc/hosts entries
2023-09-01 15:42:21 -04:00
Joshua Boniface
c85005f782
Always perform the apt-update
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
a42a349afc
Remove unattended upgrades
2023-09-01 15:42:20 -04:00
Joshua Boniface
1762d74aa8
Remove BLSE references
2023-09-01 15:42:20 -04:00
Joshua Boniface
c19f653daf
Replace the square bracket with bracket
2023-09-01 15:42:20 -04:00
Joshua Boniface
aef72555c1
Consistent newhost format between roles
2023-09-01 15:42:20 -04:00
Joshua Boniface
c46dae8852
Don't use (broken) ansible_lsb
2023-09-01 15:42:20 -04:00
Joshua Boniface
f5ea3aab24
Remove buster pre-release tweaks
...
Buster is now consistent in this regard
2023-09-01 15:42:20 -04:00
Joshua Boniface
9b457890d5
Use separate bootstrap files for base and pvc roles
2023-09-01 15:42:20 -04:00
Joshua Boniface
90273f6599
Don't subset the re-setup
2023-09-01 15:42:20 -04:00
Joshua Boniface
09dc63a7d4
Gather all facts; flush handlers at end
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