Commit Graph

57 Commits

Author SHA1 Message Date
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 e52c46f68d Add valid selectors to example 2022-11-07 11:25:34 -05:00
Joshua Boniface 064ce8038a Adjust name of variable selector 2022-11-07 10:29:51 -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 5492eae24c Add argument example to bootstrap.yml 2022-07-18 12:48:22 -04:00
Joshua Boniface 7a46229ce9 Add example of copy hook for bootstrap 2022-07-18 12:48:22 -04:00
Joshua Boniface f082428173 Add examples of bootstrap settings 2022-07-06 12:39:45 -04:00
Joshua Boniface 0a8b1bfa6e Add method to remove inactive SSH keys 2022-05-18 14:47:27 -04:00
Joshua Boniface 593b1efe6c Add additional hook type webhook to example 2022-01-01 02:17:49 -05:00
Joshua Boniface 0e28bfccc8 Update example bootstrap.yml 2022-01-01 01:53:04 -05:00
Joshua Boniface 2e4fddf284 Add SD-CARD example 2021-12-19 20:37:32 -05:00
Joshua Boniface 265a1b7ad2 Add example of a pvcbootstrapd variables file
Also add a README to clarify some details.
2021-12-19 17:43:55 -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 739c60fce0 Add resolv.conf customization 2021-10-11 14:41:29 -04:00
Joshua Boniface 2c0e09f657 Add setting bridge_mtu to config 2021-10-09 19:29:22 -04:00
Joshua Boniface 5797535997 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.
2021-09-29 20:49:00 -04:00
Joshua Boniface 732bfe732c 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.
2021-09-27 00:27:57 -04:00
Joshua Boniface 9b103f48ad Update default repo domain
We now have parallelvirtualcluster.org set up, so use that instead of
the bonifacelabs domain.
2021-08-21 01:00:53 -04:00
Joshua Boniface 2fa1b8fb2b 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).
2021-07-18 22:15:13 -04:00
Joshua Boniface f285cf4ffc Tweak the memory warning to be even stricter 2021-07-18 21:41:45 -04:00
Joshua Boniface 87cfb643a7 Adjust warning message about Zookeeper memory size 2021-07-18 20:36:13 -04:00
Joshua Boniface 764c2c3928 Fix memory tuning issues 2021-07-18 18:51:21 -04:00
Joshua Boniface 0e046b48d4 Add Zookeeper logging configs 2021-07-18 17:47:02 -04:00
Joshua Boniface 3d47b12b76 Add GRUB configuration to Ansible role 2021-06-29 17:48:55 -04:00
Joshua Boniface 53872c0056 Add generic SR-IOV configuration 2021-06-22 03:47:03 -04:00
Joshua Boniface 8a140f70dc Use inventory_hostname for IPMI dict 2021-06-22 03:15:23 -04:00
Joshua Boniface 16715f0e35 Adjust comments and IPMI value 2021-06-06 00:41:34 -04:00
Joshua Boniface 030b47ac16 Add example backup_keys var 2021-06-05 02:06:36 -04:00
Joshua Boniface 6d8f08e1b2 Add updated IPMI configuration to match base role 2021-06-05 01:47:09 -04:00
Joshua Boniface 593a81e07c Fix group_vars to match new setup 2021-04-08 14:15:11 -04:00
Joshua Boniface 3819cd87fd 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.
2021-04-08 14:14:25 -04:00
Joshua Boniface 3e1d3a90b0 Update root password in default group_vars 2021-04-08 14:08:21 -04:00
Joshua Boniface 7585553225 Add default values 2020-12-21 00:20:45 -05:00
Joshua Boniface ac071f4bf0 Add configurable ZK memory limits 2020-12-21 00:20:45 -05:00
Joshua Boniface de04105a38 Add tuning for Ceph OSDs 2020-12-21 00:20:45 -05:00
Joshua Boniface 934f73af0f 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.
2020-08-26 14:11:14 -04:00
Joshua Boniface 2f2123b70e Rename remaining "pvc_prov" items to pvc_api 2020-08-25 13:01:48 -04:00
Joshua Boniface d79c587384 Change name of default API database
From pvcprov to pvcapi to reflect the changing use of this database.
2020-08-25 02:00:29 -04:00
Joshua Boniface 7f60033282 Add more detailed comments 2020-08-20 21:42:44 -04:00
Joshua Boniface e32dfe6200 Add additional configuration to group_vars
Also include defaults and the new pvc_vm_shutdown_timeout option.
2020-08-20 21:39:44 -04:00
Joshua Boniface 6b8232d38e 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.
2020-08-06 13:20:14 -04:00
Joshua Boniface cd7cdf2719 Add bridge_device entry to config
Used to properly allow bridged networks to be formed.

Ref parallelvirtualcluster/pvc#64
2020-01-06 14:35:25 -05:00
Joshua Boniface 51ad136814 Add default timezone location 2020-01-06 11:34:04 -05:00
Joshua Boniface a10fc7eb3f Move netmask to separate config 2019-12-24 14:15:14 -05:00
Joshua Boniface d113d7080d Set some slightly nicer defaults 2019-12-24 09:07:11 -05:00
Joshua Boniface 93f44dd9dc Add additional API configuration 2019-12-23 23:25:27 -05:00
Joshua Boniface 9b2e12e69b Add support for arbitrary /etc/hosts entries 2019-08-26 11:06:30 -04:00
Joshua Boniface db2c77d330 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).
2019-07-10 21:49:38 -04:00
Joshua Boniface 75182b1570 Complete configuration of API via Ansible 2019-07-08 11:33:14 -04:00