205 Commits

Author SHA1 Message Date
353399a407 Ensure core pg_hba entries are present 2023-09-01 15:42:30 -04:00
b21778f117 Fix Patroni upgrade and D12 support 2023-09-01 15:42:30 -04:00
9411679004 Fix reboot 2023-09-01 15:42:30 -04:00
7c8b6919fe Add Debian 12 Patroni config 2023-09-01 15:42:30 -04:00
2ba8f1cfc3 Add retries to all apt commands 2023-09-01 15:42:30 -04:00
d54844746e Ignore errors enabling vhostmd
Seems to cause issues in bookworm.
2023-09-01 15:42:30 -04:00
71d956dab7 Add final pvcnoded restart 2023-09-01 15:42:30 -04:00
f79d1da5be Update other commands to use new CLI format 2023-09-01 15:42:30 -04:00
0d3e525f12 Update link to one level higher 2023-09-01 15:42:29 -04:00
017e1405ed Use debian_version custom fact 2023-09-01 15:42:29 -04:00
f8ef2602bc Revert "Fix symlink to be one level up"
This reverts commit 7693b2d78fba51ccf84bfb47d28e9e60d607d012.
2023-09-01 15:42:29 -04:00
dcaa0228b7 Fix symlink to be one level up 2023-09-01 15:42:29 -04:00
cab4deac26 Add configuration field for plugins 2023-09-01 15:42:29 -04:00
c2b576334f Adjust plugin log config field for 0.9.62 2023-09-01 15:42:29 -04:00
561ecb5c61 Adjust name of bootstrap trigger variable
The PVC bootstrap framework overrides this variable and wreaks havoc on
it. Instead adjust our side so that it looks for do_bootstrap instead.
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
07d75573d6 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.
2023-09-01 15:42:29 -04:00
fa4f1cff0f Adjust variable used for migrate selector 2023-09-01 15:42:29 -04:00
1d35fec8a8 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.
2023-09-01 15:42:29 -04:00
f51fc2ce64 Fix setting of csets for OSDs 2023-09-01 15:42:29 -04:00
144f519e76 Add rinse dependency for provisioner 2023-09-01 15:42:29 -04:00
be091f66d4 Remove pvc-flush references
This service causes more problems than it solves usually, so it is being
removed in the next PVC version.
2023-09-01 15:42:28 -04:00
6cf8948107 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.
2023-09-01 15:42:28 -04:00
e4ccafee73 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
2023-09-01 15:42:28 -04:00
25dde4709b Ensure packages are installed as newhost 2023-09-01 15:42:28 -04:00
4dfd877c7f Ensure Admin users are in additional groups 2023-09-01 15:42:28 -04:00
9fe43efac2 Convert default libvirtd to template 2023-09-01 15:42:28 -04:00
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
91ca3d1510 Ensure insecure_global_id_reclaim is false 2023-09-01 15:42:28 -04:00
3397dacab4 Fix bugs with Patroni bootstrap 2023-09-01 15:42:28 -04:00
1838f8ff56 Add proper PostgreSQL versioning 2023-09-01 15:42:28 -04:00
773fd5a9d4 Ensure all zkCli has -server set 2023-09-01 15:42:28 -04:00
0e9d0b3294 Fix incorrect postgresql version 2023-09-01 15:42:28 -04:00
d6cb28b639 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.
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
87803cb7a2 Remove extraneous splits
The node.hostname should always be short.
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
55ec177919 Ignore errors restarting libvirtd
This seems to inexplicably fail sometimes. We can just ignore it.
2023-09-01 15:42:27 -04:00
4cb2d7835c Add setting bridge_mtu to config 2023-09-01 15:42:27 -04:00
6e2d661134 Adjust documentation and behaviour of cpuset
1. Detail the caveats and specific situations and ref the documentation
which will provide more details.

2. Always install the configs, but use /etc/default/ceph-osd-cpuset to
control if the script does anything or not (so, the "osd" cset set is
always active just not set in a special way.
2023-09-01 15:42:27 -04:00
83bd1b1efd Install cset configs even if disabled
The setup script handles this instead.
2023-09-01 15:42:27 -04:00
7927ec4f11 Allow dynamic enabling/disabling of cset
Add a separate config to handle enable/disable on the system itself.
2023-09-01 15:42:27 -04:00
2ae9b9075a Adjust default ceph.conf parameters
1. Remove an explicit OSD journal size, especially such a small one (no
clue why I ever added that...)

2. Add max scrubs, disable scrub during recovery, and set scrub sleep.

3. Add max backfills, tune recovery sleep to 0 to prioritize recovery.
2023-09-01 15:42:27 -04:00
6e48d6fe84 Add Ceph OSD cpuset tuning options
Allows an administrator to set CPU pinning with the cpuset tool for Ceph
OSDs, in situations where CPU contention with VMs or other system tasks
may be negatively affecting OSD performance. This is optional, advanced
tuning and is disabled by default.
2023-09-01 15:42:27 -04:00
f25a80ff53 Add additional CMK checks 2023-09-01 15:42:26 -04:00
8c2d117a3c Wait longer when restarting services
From 15 -> 30 seconds to ensure more time for stabilization before
proceeding with the next.
2023-09-01 15:42:26 -04:00
647ca1c446 Add default features flag to ceph.conf generator
Coupled with the removal of explicit --image-features flags to the RBD
command in PVC itself, this ensures that only the two features supported
on kernel 4.19 are enabled by default.
2023-09-01 15:42:26 -04:00
3d64ad2420 Typo fix 2023-09-01 15:42:26 -04:00
eaea860b61 Lower autopurge interval to 1 hour 2023-09-01 15:42:26 -04:00