2023-09-01 15:42:20 -04:00
|
|
|
---
|
2023-09-01 15:42:23 -04:00
|
|
|
# The name of the Ansible cluster group, used to set file paths and determine hosts in the cluster
|
|
|
|
# This should match the lowest-level group in the Ansible `hosts` file that defines this cluster
|
|
|
|
cluster_group: default
|
|
|
|
|
2023-09-01 15:42:22 -04:00
|
|
|
# Local timezone for the cluster
|
|
|
|
timezone_location: Canada/Eastern
|
|
|
|
|
2023-09-01 15:42:21 -04:00
|
|
|
# Cluster domain for node FQDNs
|
2023-09-01 15:42:20 -04:00
|
|
|
local_domain: upstream.local
|
2023-09-01 15:42:21 -04:00
|
|
|
|
2023-09-01 15:42:27 -04:00
|
|
|
# DNS recursive servers and search domains for nodes
|
|
|
|
recursive_dns_servers:
|
|
|
|
- 8.8.8.8
|
|
|
|
- 8.8.4.4
|
|
|
|
recursive_dns_search_domains:
|
|
|
|
- "{{ local_domain }}"
|
|
|
|
|
2023-09-01 15:42:26 -04:00
|
|
|
# Cluster hardware model, used in pvc_user_configuration and grub_configuration below
|
2023-09-01 15:42:25 -04:00
|
|
|
cluster_hardware: default
|
|
|
|
|
2023-09-01 15:42:28 -04:00
|
|
|
# CPU governor, sets power and performance statistics of the system CPUs; default is ondemand
|
|
|
|
# > Valid options are (usually): conservative, ondemand, powersave, userspace, performance, schedutil
|
|
|
|
cpu_governor: ondemand
|
|
|
|
|
2023-09-01 15:42:25 -04:00
|
|
|
# Debian package repository URL
|
2023-09-01 15:42:25 -04:00
|
|
|
debian_main_repository: http://ftp.debian.org/debian
|
|
|
|
debian_security_repository: http://security.debian.org
|
2023-09-01 15:42:26 -04:00
|
|
|
debian_pvc_repository: https://repo.parallelvirtualcluster.org/debian
|
2023-09-01 15:42:25 -04:00
|
|
|
|
2023-09-01 15:42:25 -04:00
|
|
|
# Root user password
|
|
|
|
# > Use pwgen to generate
|
|
|
|
root_password: ""
|
2023-09-01 15:42:25 -04:00
|
|
|
|
2023-09-01 15:42:26 -04:00
|
|
|
# GRUB configuration
|
|
|
|
# > Generally this is a good default, though some systems use console 1 for serial-over-IPMI
|
|
|
|
# consoles, so set this based on your actual hardware.
|
|
|
|
grub:
|
|
|
|
serial_console:
|
|
|
|
"default":
|
|
|
|
console: 0
|
|
|
|
|
2023-09-01 15:42:25 -04:00
|
|
|
# IPMI configuration
|
|
|
|
# > For the "pvc" user password, use pwgen to generate.
|
|
|
|
# > Set the "pvc"user with permissions in IPMI to reboot the host as this user will be use for
|
|
|
|
# any fencing operations.
|
|
|
|
# > Set the IP networking to match your expected IPMI configuration.
|
|
|
|
ipmi:
|
|
|
|
users:
|
|
|
|
admin:
|
|
|
|
username: "root"
|
|
|
|
password: "{{ root_password }}"
|
|
|
|
pvc:
|
|
|
|
username: "host"
|
|
|
|
password: ""
|
|
|
|
hosts:
|
2023-09-01 15:42:28 -04:00
|
|
|
"pvchv1": # This name MUST match the Ansible inventory_hostname's first portion, i.e. "inventory_hostname.split('.')[0]"
|
|
|
|
hostname: pvchv1-lom # A valid short name (e.g. from /etc/hosts) or an FQDN must be used here and it must resolve to address.
|
|
|
|
# PVC connects to this *hostname* for fencing.
|
2023-09-01 15:42:25 -04:00
|
|
|
address: 192.168.100.101
|
|
|
|
netmask: 255.255.255.0
|
|
|
|
gateway: 192.168.100.1
|
2023-09-01 15:42:28 -04:00
|
|
|
"pvchv2": # This name MUST match the Ansible inventory_hostname's first portion, i.e. "inventory_hostname.split('.')[0]"
|
|
|
|
hostname: pvchv2-lom # A valid short name (e.g. from /etc/hosts) or an FQDN must be used here and it must resolve to address.
|
|
|
|
# PVC connects to this *hostname* for fencing.
|
2023-09-01 15:42:25 -04:00
|
|
|
address: 192.168.100.102
|
|
|
|
netmask: 255.255.255.0
|
|
|
|
gateway: 192.168.100.1
|
2023-09-01 15:42:28 -04:00
|
|
|
"pvchv3": # This name MUST match the Ansible inventory_hostname's first portion, i.e. "inventory_hostname.split('.')[0]"
|
|
|
|
hostname: pvchv3-lom # A valid short name (e.g. from /etc/hosts) or an FQDN must be used here and it must resolve to address.
|
|
|
|
# PVC connects to this *hostname* for fencing.
|
2023-09-01 15:42:25 -04:00
|
|
|
address: 192.168.100.103
|
|
|
|
netmask: 255.255.255.0
|
|
|
|
gateway: 192.168.100.1
|
|
|
|
|
|
|
|
# IPMI user configuration
|
|
|
|
# > Adjust this based on the specific hardware you are using; the cluster_hardware variable is
|
|
|
|
# used as the key in this dictionary.
|
|
|
|
# > If you run multiple clusters with different hardware, it may be prudent to move this to an
|
|
|
|
# 'all' group_vars file instead.
|
|
|
|
ipmi_user_configuration:
|
|
|
|
"default":
|
|
|
|
channel: 1
|
|
|
|
admin:
|
|
|
|
id: 1
|
|
|
|
role: 0x4 # ADMINISTRATOR
|
|
|
|
username: "{{ ipmi['users']['admin']['username'] }}"
|
|
|
|
password: "{{ ipmi['users']['admin']['password'] }}"
|
|
|
|
pvc:
|
|
|
|
id: 2
|
|
|
|
role: 0x4 # ADMINISTRATOR
|
|
|
|
username: "{{ ipmi['users']['pvc']['username'] }}"
|
|
|
|
password: "{{ ipmi['users']['pvc']['password'] }}"
|
2023-09-01 15:42:21 -04:00
|
|
|
|
|
|
|
# Log rotation configuration
|
2023-09-01 15:42:20 -04:00
|
|
|
logrotate_keepcount: 7
|
|
|
|
logrotate_interval: daily
|
2023-09-01 15:42:21 -04:00
|
|
|
|
|
|
|
# Root email name (usually "root")
|
2023-09-01 15:42:20 -04:00
|
|
|
username_email_root: root
|
2023-09-01 15:42:21 -04:00
|
|
|
|
2023-09-01 15:42:21 -04:00
|
|
|
# Hosts entries
|
|
|
|
hosts:
|
|
|
|
- name: test
|
|
|
|
ip: 127.0.0.1
|
|
|
|
|
2023-09-01 15:42:21 -04:00
|
|
|
# Administrative shell users for the cluster
|
2023-09-01 15:42:20 -04:00
|
|
|
admin_users:
|
|
|
|
- name: "myuser"
|
|
|
|
uid: 500
|
|
|
|
keys:
|
|
|
|
- "ssh-ed25519 MyKey 2019-06"
|
2023-09-01 15:42:28 -04:00
|
|
|
removed:
|
|
|
|
- "ssh-ed25519 ObsoleteKey 2017-01"
|
2023-09-01 15:42:21 -04:00
|
|
|
|
2023-09-01 15:42:25 -04:00
|
|
|
# Backup user SSH user keys, for remote backups separate from administrative users (e.g. rsync)
|
|
|
|
# > Uncomment to activate this functionality.
|
|
|
|
#backup_keys:
|
|
|
|
# - "ssh-ed25519 MyKey 2019-06"
|
|
|
|
|
2023-09-01 15:42:21 -04:00
|
|
|
# Node network definitions (used by /etc/network/interfaces and PVC)
|
|
|
|
# > The "type" can be one of three NIC types: "nic" for raw NIC devices, "bond" for ifenslave bonds,
|
|
|
|
# or "vlan" for vLAN interfaces. The PVC role will write out an interfaces file matching these specs.
|
|
|
|
# > Three names are reserved for the PVC-specific interfaces: upstream, cluster, and storage; others
|
|
|
|
# may be used at will to describe the other devices.
|
|
|
|
# > All devices should be using the newer device name format (i.e. enp1s0f0 instead of eth0).
|
|
|
|
# > In this example configuration, the "upstream" device is an LACP bond of the first two onboard NICs,
|
|
|
|
# with the two other PVC networks being vLANs on top of this device.
|
|
|
|
# > Usually, the Upstream network provides Internet connectivity for nodes in the cluster, and all
|
|
|
|
# nodes are part of it regardless of function for this reason; an optional, advanced, configuration
|
|
|
|
# will have only coordinators in the upstream network, however this configuration is out of the scope
|
|
|
|
# of this role.
|
|
|
|
networks:
|
|
|
|
"upstream":
|
|
|
|
device: "bondU"
|
|
|
|
type: "bond"
|
|
|
|
bond_mode: "802.3ad"
|
|
|
|
bond_devices:
|
|
|
|
- "enp1s0f0"
|
|
|
|
- "enp1s0f1"
|
|
|
|
mtu: 1500
|
|
|
|
domain: "{{ local_domain }}"
|
2023-09-01 15:42:22 -04:00
|
|
|
netmask: "24"
|
|
|
|
subnet: "192.168.100.0"
|
|
|
|
floating_ip: "192.168.100.10"
|
2023-09-01 15:42:21 -04:00
|
|
|
gateway_ip: "192.168.100.1"
|
|
|
|
"cluster":
|
|
|
|
device: "vlan1001"
|
|
|
|
type: "vlan"
|
|
|
|
raw_device: "bondU"
|
|
|
|
mtu: 1500
|
|
|
|
domain: "pvc-cluster.local"
|
2023-09-01 15:42:22 -04:00
|
|
|
netmask: "24"
|
|
|
|
subnet: "10.0.0.0"
|
|
|
|
floating_ip: "10.0.0.254"
|
2023-09-01 15:42:21 -04:00
|
|
|
"storage":
|
|
|
|
device: "vlan1002"
|
|
|
|
type: "vlan"
|
|
|
|
raw_device: "bondU"
|
|
|
|
mtu: 1500
|
|
|
|
domain: "pvc-storage.local"
|
2023-09-01 15:42:22 -04:00
|
|
|
netmask: "24"
|
|
|
|
subnet: "10.0.1.0"
|
|
|
|
floating_ip: "10.0.1.254"
|