Commit Graph

289 Commits

Author SHA1 Message Date
Joshua Boniface 3c1c97dbf5 Ensure CPU tuning is only applied on Debian 11+ 2022-11-15 16:21:48 -05:00
Joshua Boniface c5ec0f4f62 Add updated tuning configuration
Uses a much nicer CPU tuning configuration, leveraging systemd's
AllowedCPUs and CPUAffinity options within a set of slices (some
default, some custom).

Configuration is also greatly simplified versus the previous
implementation, simply asking for a number of CPUS for both the system
and OSDs, and calculating everything else that is required.

Also switches (back) to the v2 unified cgroup hierarchy by default as
required by the systemd AllowedCPUs directive.
2022-11-13 01:33:09 -05:00
Joshua Boniface 85cb7e3f6a Adjust variable used for migrate selector 2022-11-07 10:26:13 -05:00
Joshua Boniface 7d329708bc Remove cpuset configurations
This functionality simply did not work, with Libvirt continuing to dump
its processes into the root cset thus defeating the purpose entirely.

Just remove it, from some very initial testing it isn't worth the
headache.
2022-11-06 01:08:27 -04:00
Joshua Boniface 574af89a18 Fix setting of csets for OSDs 2022-11-05 19:11:36 -04:00
Joshua Boniface 38a6437bbc Add Ceph monitor backup 2022-11-05 01:58:07 -04:00
Joshua Boniface 6362a3b40f Fix update-motd so it runs properly 2022-11-05 01:49:51 -04:00
Joshua Boniface c26a20d44c Add lm-sensors configuration 2022-11-05 01:12:02 -04:00
Joshua Boniface 2c269c0bcd Remove obsolete logrotate settings 2022-11-05 01:08:56 -04:00
Joshua Boniface b7b633422b Add extra space for clarity 2022-11-03 01:50:04 -04:00
Joshua Boniface fac388ed79 Update MOTD automatically on boot
The cron every minute was pointlessly excessive considering this doesn't
actually change minute-to-minute.
2022-11-03 01:39:10 -04:00
Joshua Boniface d27959ead1 Adjust colour scheme of MOTD 2022-11-02 18:44:49 -04:00
Joshua Boniface 78342cf4a4 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.
2022-11-02 18:25:17 -04:00
Joshua Boniface c83145f9c5 Adjust GRUB_DIST and add UEFI regeneration
Keeps the UEFI boot list cleaned and consistent
2022-11-01 02:30:52 -04:00
Joshua Boniface 0dbcf10d4a Add rinse dependency for provisioner 2022-10-07 00:41:03 -04:00
Joshua Boniface 503a2e6c0b Remove pvc-flush references
This service causes more problems than it solves usually, so it is being
removed in the next PVC version.
2022-07-25 23:19:38 -04:00
Joshua Boniface 1bf6d97cdb Increase timeout threshold for freshness 2022-07-18 13:10:32 -04:00
Joshua Boniface 879b533b66 Fix the other instance too 2022-07-18 12:51:16 -04:00
Joshua Boniface 15dbe61e67 Ignore errors about removing keys 2022-07-18 12:48:22 -04:00
Joshua Boniface 87ae5a12e9 Add Ceph support for single-node clusters
Ensures that the pool default size/min size is set to something
reasonable for a single node (effective RAID-1) and replace teh default
CRUSH replicate_rule set for this situation with one choosing OSD
instead of host as the default.
2022-07-08 09:33:28 -04:00
Joshua Boniface a213ee7d4a Add cgroup delegation override
Required to solve the occasional
  libvirt: QEMU Driver error : Requested operation is not valid:
  cgroup CPUACCT controller is not mounted
problem, as per:
  https://answers.launchpad.net/ubuntu/+question/665132
2022-06-03 12:01:08 -04:00
Joshua Boniface f2a9764f52 Further optimize ownership agent output 2022-05-31 22:38:05 -04:00
Joshua Boniface b90717e25a Make ownership check consistent with cmk-agent 2.1
The new CheckMK agent uses UID 998 (dynamic) for itself. This causes
ownership problems with the old logic of this check. Move instead to a
range, where the UIDs from 200-599 are reserved for administrators, and
check for this range explicitly. Also eliminates the exceptions for ceph
and 2000 from previous iterations.
2022-05-31 22:33:07 -04:00
Joshua Boniface 1a7969b707 Update freshness checks 2022-05-31 22:27:30 -04:00
Joshua Boniface 8f28decfe2 Replace freshness and kernel_version checks
Use an updated plugin from BLSE that uses needrestart instead of manual
parsing of these elements.
2022-05-31 22:27:30 -04:00
Joshua Boniface 0a8b1bfa6e Add method to remove inactive SSH keys 2022-05-18 14:47:27 -04:00
Joshua Boniface dd4825a30a Ensure packages are installed as newhost 2022-04-26 11:10:11 -04:00
Joshua Boniface edcf14a78c Ensure Admin users are in additional groups 2022-01-04 15:13:13 -05:00
Joshua Boniface db77d5fcdd Populate /etc/timezone as well 2022-01-01 16:29:15 -05:00
Joshua Boniface 7b07a81eca Convert default libvirtd to template 2022-01-01 01:50:54 -05:00
Joshua Boniface 4b6fdf301f Make locale generation universal
Don't rely on a notify/handler, just do it every time in the base role.
2021-12-28 14:57:25 -05:00
Joshua Boniface d859e032be Ensure insecure_global_id_reclaim is false 2021-12-28 02:06:38 -05:00
Joshua Boniface e48b6eef3a Fix bugs with Patroni bootstrap 2021-12-20 16:52:53 -05:00
Joshua Boniface 908982e97d Add proper PostgreSQL versioning 2021-12-15 12:11:49 -05:00
Joshua Boniface f8898f22b4 Ensure all zkCli has -server set 2021-12-15 11:29:10 -05:00
Joshua Boniface a9d636dcf5 Fix incorrect postgresql version 2021-12-15 02:22:10 -05:00
Joshua Boniface c7a11ca396 Customize grub distributor 2021-12-09 12:54:52 -05:00
Joshua Boniface 2d2e5aff80 Set postfix to listen on all interfaces
Binding to just localhost was causing problems.
2021-12-01 13:03:16 -05:00
Joshua Boniface e4e084cc5b Fix name of task 2021-11-15 14:46:44 -05:00
Joshua Boniface bea79b5102 Add immutability to PVC subrole
1. Remove the obsolete pvc-vacuum script install.

2. Remove notifies when modifying configs; we do not want to restart the
daemons uncontrolled.

3. Add bootstrap check to package installs so they only happen on
bootstrap.

This ensures this part of the role, on re-runs, will *only* update
configs and not actually touch the running daemon. This makes it safe to
run before a oneshot/update-pvc-daemons.yml playbook run.
2021-11-15 10:51:38 -05:00
Joshua Boniface bb3b7e3922 Fix a few more splits 2021-11-11 17:37:27 -05:00
Joshua Boniface 414678f683 Fix a few more extraneous splits
Just use this_node if applicable, or the raw node.hostname.
2021-11-11 17:35:42 -05:00
Joshua Boniface b24e539252 Remove extraneous splits
The node.hostname should always be short.
2021-11-11 17:31:56 -05:00
Joshua Boniface 243c910d6d 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.
2021-11-11 17:19:03 -05:00
Joshua Boniface fed71d7add 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.
2021-11-08 00:21:58 -05:00
Joshua Boniface dd60b6b9ea Fix name of IPMI check again 2021-11-02 22:21:16 -04:00
Joshua Boniface 99682c16a2 Fix name of ipmi check 2021-11-02 22:16:47 -04:00
Joshua Boniface 319ca891d5 Add IPMI check to tasks 2021-11-02 22:04:51 -04:00
Joshua Boniface b7bca571a8 Adjust headers and add LOM check 2021-11-02 22:04:27 -04:00
Joshua Boniface bd98fdfbd8 Add node list to PVC MOTD 2021-11-02 22:04:27 -04:00