2023-09-01 15:42:19 -04:00
---
2023-09-01 15:42:24 -04:00
# Logging configuration (uncomment to override defaults)
2023-09-01 15:42:24 -04:00
pvc_log_to_file : False # Log to a file in /var/log/pvc
pvc_log_to_stdout : True # Log to stdout (i.e. journald)
2023-09-01 15:42:26 -04:00
pvc_log_to_zookeeper : True # Log to Zookeeper (required for 'node log' commands)
2023-09-01 15:42:24 -04:00
pvc_log_colours : True # Log colourful prompts for states instead of text
pvc_log_dates : False # Log dates (useful with log_to_file, not useful with log_to_stdout as journald adds these)
pvc_log_keepalives : True # Log keepalive event every pvc_keepalive_interval seconds
2023-09-01 15:42:29 -04:00
pvc_log_keepalive_cluster_details : True # Log cluster details (VMs, OSDs, load, etc.) duing keepalive events
pvc_log_keepalive_plugin_details : True # Log health plugin details (messages) suring keepalive events
2023-09-01 15:42:24 -04:00
pvc_log_console_lines : 1000 # The number of VM console log lines to store in Zookeeper for 'vm log' commands.
2023-09-01 15:42:26 -04:00
pvc_log_node_lines : 2000 # The number of node log lines to store in Zookeeper for 'node log' commands.
2023-09-01 15:42:24 -04:00
# Timing and fencing configuration (uncomment to override defaults)
pvc_vm_shutdown_timeout : 180 # Number of seconds before a 'shutdown' VM is forced off
pvc_keepalive_interval : 5 # Number of seconds between keepalive ticks
2023-12-01 16:06:24 -05:00
pvc_monitoring_interval : 15 # Number of seconds between monitoring plugin runs
2023-09-01 15:42:24 -04:00
pvc_fence_intervals : 6 # Number of keepalive ticks before a node is considered dead
pvc_suicide_intervals : 0 # Number of keepalive ticks before a node consideres itself dead (0 to disable)
pvc_fence_successful_action : migrate # What to do with VMs when a fence is successful (migrate, None)
pvc_fence_failed_action : None # What to do with VMs when a fence is failed (migrate, None) - migrate is DANGEROUS without pvc_suicide_intervals set to < pvc_fence_intervals
2023-09-01 15:42:29 -04:00
pvc_migrate_target_selector : mem # The selector to use for migrating VMs
2023-09-01 15:42:24 -04:00
2023-12-29 09:29:29 -05:00
# Enable Prometheus exporters and corresponding API endpoints
2023-12-10 00:24:19 -05:00
enable_prometheus_exporters : yes
2023-09-01 15:42:24 -04:00
# Memory tuning
pvc_osd_memory_limit : 4294967296
2023-09-01 15:42:26 -04:00
pvc_zookeeper_heap_limit : 512M
pvc_zookeeper_stack_limit : 1024M
2023-09-01 15:42:24 -04:00
2023-09-01 15:42:19 -04:00
# Ceph storage
ceph_storage_secret_key : ""
ceph_storage_secret_uuid : ""
2023-09-01 15:42:26 -04:00
2023-09-01 15:42:19 -04:00
# Database
pvc_dns_database_name : "pvcdns"
pvc_dns_database_user : "pvcdns"
pvc_dns_database_password : "PVCdnsPassw0rd"
2023-09-01 15:42:24 -04:00
pvc_api_database_name : "pvcapi"
pvc_api_database_user : "pvcapi"
pvc_api_database_password : "PVCprovPassw0rd"
2023-09-01 15:42:26 -04:00
2023-09-01 15:42:29 -04:00
# CPU tuning
# This is left commented so the section of the tasks never runs; enable or disable it in your per-cluster configs
# CPU tune options defined per-node are placed in the pvc_nodes section below under cpu_tuning; global versions
# may be placed here instead.
# Whether a node has hyperthreading is determined automatically; if so, for each (real) CPU core assigned to a
# subscection, its corresponding hyperthread is also assigned to that section.
# machine_cpus is later used in the templates; the value of this field is autogenerated as:
# total_system_cpus - osd_cpus - system_cpus
#cpu_tuning:
# enabled: yes # Enable or disable CPU tuning for processes
# nodes: # Nodes configuration; default options, can be overridden by per-node tuning below
# system_cpus: 2 # The number of CPUs to assign to the "system" slice
# # This slice includes all non-VM, non-OSD processes including databases, node daemons, system processes, non-OSD Ceph processes, etc.
# # At least 2 cores should be assigned to this slice.
# osd_cpus: 2 # The number of CPUs to assign to the "osd" slice
# # This slice includes all OSD processes
# # At least 1 core per OSD should be assigned to this slice.
2024-01-09 09:54:38 -05:00
# VM Autobackup
# This is uncommented but disabled so this is not installed by default; enable it in your per-cluster configs
# Autobackup allows the exporting of VM backups automatically to an external disk target.
# These values are default; ensure you modify them in your own group_vars to match your system!
pvc_autobackup :
enabled : no
root_path : /tmp/backups
root_suffix : /mycluster
tags :
- autobackup
schedule :
normal_time : "Tue..Sun *-*-* 0:0:00"
forced_full_time : "Mon *-*-* 0:0:00"
full_interval : 7
full_retention : 2
2024-01-11 00:32:38 -05:00
reporting :
enabled : no
report_on :
forced_full : no
normal : no
2024-01-09 09:54:38 -05:00
auto_mount :
enabled : no
packages :
# Example: Install nfs-common for NFS mounts
# - nfs-common
mount_cmds :
# Example: Mount an NFSv3 path from 10.0.0.10:/backups to {backup_root_path}
# - "/usr/sbin/mount.nfs -o nfsvers=3 10.0.0.10:/backups {backup_root_path}"
unmount_cmds :
# Example: Unmount the {backup_root_path}
# - "/usr/bin/umount {backup_root_path}"
2024-11-15 01:51:04 -05:00
# PVC VM automirrors
# This is uncommented but disabled so this is not installed by default; enable it in your per-cluster configs
# Automirror allows the sending of VM snapshots automatically to an external cluster.
# These values are default; ensure you modify them in your own group_vars to match your system!
pvc_automirror :
enabled : no
destinations :
cluster2 :
address : pvc.cluster2.mydomain.tld
port : 7370
prefix : "/api/v1"
key : 00000000 -0000 -0000 -0000 -000000000000
ssl : yes
verify_ssl : yes
pool : vms
default_destination : cluster2
tags :
- automirror
schedule :
time : "*-*-* 00/4:00:00"
retention : 7
reporting :
enabled : no
emails :
- myuser@domain.tld
- otheruser@domain.tld
report_on :
success : no
error : yes
2024-01-09 09:54:38 -05:00
# Coordinators & Nodes list
2023-09-01 15:42:19 -04:00
pvc_nodes :
2023-09-01 15:42:29 -04:00
- hostname : "pvc1" # The full ansible inventory hostname of the node
is_coordinator : yes # If the node is a coordinator or not
node_id : 1 # The sequential node ID, usually matches the numerical part of the hostname
router_id : "10.0.0.1" # The router ID of the node; can be the IP Address of the Cluster network, or the node_id, or some other unique number
cluster_ip : "by-id" # The Cluster network IP of the host; by-id uses the network then adds the node as node_id within that network (e.g. pvc1 becomes x.y.z.1)
storage_ip : "by-id" # The Storage network IP of the host; by-id as above
upstream_ip : "" # The Upstream network IP of the host; by-id as above
ipmi_host : "pvc1-lom" # The IPMI hostname of the node
ipmi_user : "" # The IPMI username to use
ipmi_password : "" # The IPMI password to use
cpu_tuning : # Per-node CPU tuning options; if set, overrides the global options above; useful if a node has different CPU characteristics
system_cpus : 1
osd_cpus : 2
2023-09-01 15:42:19 -04:00
- hostname : "pvc2"
is_coordinator : yes
node_id : 2
router_id : "10.0.0.2"
cluster_ip : "by-id"
storage_ip : "by-id"
upstream_ip : ""
2023-09-01 15:42:29 -04:00
ipmi :
host : "pvc2-lom"
user : ""
password : ""
2023-09-01 15:42:19 -04:00
- hostname : "pvc3"
is_coordinator : yes
node_id : 3
router_id : "10.0.0.3"
cluster_ip : "by-id"
storage_ip : "by-id"
upstream_ip : ""
2023-09-01 15:42:29 -04:00
ipmi :
host : "pvc3-lom"
user : ""
password : ""
2023-09-01 15:42:26 -04:00
2023-09-01 15:42:19 -04:00
# Networks
pvc_asn : "65001"
pvc_routers :
- ""
pvc_cluster_device : "eth0"
pvc_cluster_domain : "pvc.local"
pvc_cluster_subnet : "10.0.0.0/24"
2023-11-04 12:51:07 -04:00
pvc_cluster_floatingip : "10.0.0.251"
2023-09-01 15:42:19 -04:00
pvc_storage_device : "eth1"
pvc_storage_domain : "pvc.storage"
pvc_storage_subnet : "10.0.1.0/24"
2023-11-04 12:51:07 -04:00
pvc_storage_floatingip : "10.0.1.251"
2023-09-01 15:42:19 -04:00
pvc_upstream_device : "eth2"
pvc_upstream_domain : ""
pvc_upstream_subnet : ""
pvc_upstream_floatingip : ""
pvc_upstream_gatewayip : ""
2023-09-01 15:42:26 -04:00
# Devices
pvc_bridge_device : bond0
pvc_sriov_enable : False
pvc_sriov_device :