Commit Graph

38 Commits

Author SHA1 Message Date
Joshua Boniface c2b576334f Adjust plugin log config field for 0.9.62 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 6bf827ca13 Adjust readme texts 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 131caba0bd Add valid selectors to example 2023-09-01 15:42:29 -04:00
Joshua Boniface 31734672d2 Adjust name of variable selector 2023-09-01 15:42:29 -04:00
Joshua Boniface 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
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 4cb2d7835c Add setting bridge_mtu to config 2023-09-01 15:42:27 -04:00
Joshua Boniface 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
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 217d8fe35b Readjust warning one more time
The actual cause of the issue wasn't memory, but still leave this
warning in (albeit a little less strict).
2023-09-01 15:42:26 -04:00
Joshua Boniface c117cc198f Tweak the memory warning to be even stricter 2023-09-01 15:42:26 -04:00
Joshua Boniface 423d8b615f Adjust warning message about Zookeeper memory size 2023-09-01 15:42:26 -04:00
Joshua Boniface 2d31e6c8ea Fix memory tuning issues 2023-09-01 15:42:26 -04:00
Joshua Boniface a52d4cbf37 Add Zookeeper logging configs 2023-09-01 15:42:26 -04:00
Joshua Boniface a2ed38b459 Add generic SR-IOV configuration 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 91b5cb6ba2 Adjust comments and IPMI value 2023-09-01 15:42:25 -04:00
Joshua Boniface 000405ed16 Add updated IPMI configuration to match base role 2023-09-01 15:42:25 -04:00
Joshua Boniface cba276e248 Add default values 2023-09-01 15:42:24 -04:00
Joshua Boniface be94bc134f Add configurable ZK memory limits 2023-09-01 15:42:24 -04:00
Joshua Boniface b4e36d146a Add tuning for Ceph OSDs 2023-09-01 15:42:24 -04:00
Joshua Boniface f79fb605de Support using existing SSL certs on system
Add the additional pvc_api_ssl_cert_path and pvc_api_ssl_key_path
group_vars options, which can be used to set the SSL details to existing
files on the filesystem if desired. If these are empty (or nonexistent),
the original pvc_api_ssl_cert and pvc_api_ssl_key raw format options
will be used as they were.

Allows the administrator to use outside methods (such as Let's Encrypt)
to obtain the certs locally on the system, avoiding changes to the
group_vars and redeployment to manage SSL keys.
2023-09-01 15:42:24 -04:00
Joshua Boniface 2caed2ae12 Rename remaining "pvc_prov" items to pvc_api 2023-09-01 15:42:24 -04:00
Joshua Boniface 2a2d318dbc Change name of default API database
From pvcprov to pvcapi to reflect the changing use of this database.
2023-09-01 15:42:24 -04:00
Joshua Boniface 503d99d0fe Add more detailed comments 2023-09-01 15:42:24 -04:00
Joshua Boniface 8109f13386 Add additional configuration to group_vars
Also include defaults and the new pvc_vm_shutdown_timeout option.
2023-09-01 15:42:24 -04:00
Joshua Boniface f68ba7a735 Add bridge_device entry to config
Used to properly allow bridged networks to be formed.

Ref parallelvirtualcluster/pvc#64
2023-09-01 15:42:22 -04:00
Joshua Boniface 21c9aa3e6a Move netmask to separate config 2023-09-01 15:42:22 -04:00
Joshua Boniface a20272c9c5 Set some slightly nicer defaults 2023-09-01 15:42:22 -04:00
Joshua Boniface f1e31ed169 Add additional API configuration 2023-09-01 15:42:22 -04:00
Joshua Boniface 1e562a58da Support new log flags and update default log conf
Tweak the defaults a bit; pvc-ansible assumes we're running under
systemd, so set a log format that's better for it (no colour or date).
2023-09-01 15:42:21 -04:00
Joshua Boniface 5d3de3ece2 Complete configuration of API via Ansible 2023-09-01 15:42:21 -04:00
Joshua Boniface d5516d891c Add client API to configuration 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 c4825e6de6 Support for detailed keepalive logging 2023-09-01 15:42:20 -04:00
Joshua Boniface 83212f9084 Update default variables based on recent changes 2023-09-01 15:42:20 -04:00