Commit Graph

59 Commits

Author SHA1 Message Date
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 fb03b0659d Add argument example to bootstrap.yml 2023-09-01 15:42:28 -04:00
Joshua Boniface 1a9655be7b Add example of copy hook for bootstrap 2023-09-01 15:42:28 -04:00
Joshua Boniface 7d29665805 Add examples of bootstrap settings 2023-09-01 15:42:28 -04:00
Joshua Boniface ea9fe5570f Add method to remove inactive SSH keys 2023-09-01 15:42:28 -04:00
Joshua Boniface 5e1475235f Add additional hook type webhook to example 2023-09-01 15:42:28 -04:00
Joshua Boniface 33c34bd182 Update example bootstrap.yml 2023-09-01 15:42:28 -04:00
Joshua Boniface 8692e1fd4b Add SD-CARD example 2023-09-01 15:42:28 -04:00
Joshua Boniface 2b32cbef19 Add example of a pvcbootstrapd variables file
Also add a README to clarify some details.
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 b814ec60f6 Add resolv.conf customization 2023-09-01 15:42:27 -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 88491befab Update default repo domain
We now have parallelvirtualcluster.org set up, so use that instead of
the bonifacelabs domain.
2023-09-01 15:42:26 -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 bace67b8bf Add GRUB configuration to Ansible role 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 054ad89926 Add example backup_keys var 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 95b9d6d786 Fix group_vars to match new setup 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 5873ce7d0c Update root password in default group_vars 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 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 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 91b9b6b294 Add default timezone location 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 7e74ce2ede Add support for arbitrary /etc/hosts entries 2023-09-01 15:42:21 -04:00