Commit Graph

26 Commits

Author SHA1 Message Date
Joshua Boniface 1f4cd92d63 Fix bad calls to node primary 2023-09-01 15:42:30 -04:00
Joshua Boniface 6da9956811 Fix delegate_to 2023-09-01 15:42:30 -04:00
Joshua Boniface 1e497413e8 Remove extra whitespace 2023-09-01 15:42:30 -04:00
Joshua Boniface 64ce09122d Add additional primary node switch 2023-09-01 15:42:30 -04:00
Joshua Boniface 9411679004 Fix reboot 2023-09-01 15:42:30 -04:00
Joshua Boniface 71d956dab7 Add final pvcnoded restart 2023-09-01 15:42:30 -04:00
Joshua Boniface 017e1405ed Use debian_version custom fact 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 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
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 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
Joshua Boniface f98a2ee433 Add logrotate configuration 2023-09-01 15:42:21 -04:00
Joshua Boniface 823310e8a3 Limit database tasks to coordinators only
Non-coordinators don't need these configurations as they shouldn't run
there.
2023-09-01 15:42:21 -04:00
Joshua Boniface bcce7f5445 Remove per-host pvc.yml for good 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 9b457890d5 Use separate bootstrap files for base and pvc roles 2023-09-01 15:42:20 -04:00
Joshua Boniface a19d9c77ad Clean up some tasks during bootstrap; parallel PVC 2023-09-01 15:42:20 -04:00
Joshua Boniface aa72bb9bac Move IP removal and restart after install 2023-09-01 15:42:20 -04:00
Joshua Boniface 256a89d7cc Reorganize some elements 2023-09-01 15:42:19 -04:00
Joshua Boniface a922fe4df7 Reorganize and rejigger 2023-09-01 15:42:19 -04:00
Joshua Boniface fbd0ed9390 Improve handling around loop var and correct pvcd 2023-09-01 15:42:19 -04:00
Joshua Boniface 8fbbce3d16 Make things even nicer 2023-09-01 15:42:19 -04:00
Joshua Boniface e0fa826cfd Flush handlers properly 2023-09-01 15:42:19 -04:00
Joshua Boniface 37506b981f Flush handlers before starting PVC install 2023-09-01 15:42:19 -04:00
Joshua Boniface f126d3b071 Compatability with Ansible 2.2 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