157d433bde
Improve scheduling, persist node details and add some tests
112 lines
4.0 KiB
Plaintext
112 lines
4.0 KiB
Plaintext
---
|
|
# The Tenks command to perform. 'deploy' will spin up a cluster to the given
|
|
# specification; 'teardown' will tear it down.
|
|
cmd: deploy
|
|
|
|
# node_types is a dict that defines different sets of node specifications,
|
|
# keyed by a 'node type name' to associate with each set of specifications. An
|
|
# example of the format of this variable is below:
|
|
#
|
|
# node_types:
|
|
# # The type name.
|
|
# type0:
|
|
# # The amount of RAM, in mebibytes.
|
|
# memory_mb: 1024
|
|
# # The number of virtual CPUs.
|
|
# vcpus: 2
|
|
# # A list of volumes, each with a capacity.
|
|
# volumes:
|
|
# - capacity: 2GB
|
|
# # A list of physical network names to connect to. These physical network
|
|
# # names should be keyed in `physnet_mappings` in each hypervisor's host
|
|
# # vars.
|
|
# physical_networks:
|
|
# - physnet1
|
|
# # The Ironic driver for nodes of this type. If not set,
|
|
# # `default_ironic_driver` will be used.
|
|
# ironic_driver: ipmi
|
|
# # If true, log the nodes' console output to files in `log_directory`,
|
|
# # instead of to a PTY. If false, direct terminal output to a PTY at
|
|
# # serial port 0. If not set, the stackhpc.libvirt-vm role will handle the
|
|
# # default behaviour.
|
|
# console_log_enabled: false
|
|
node_types: {}
|
|
|
|
# specs is a list of configurations of nodes to be created. Each configuration
|
|
# can specify the number of nodes to be created, the type (from `node_types`)
|
|
# of these nodes, and optionally configuration for the Ironic nodes to be
|
|
# enroled from these nodes. If `ironic_config` is not set, Ironic enrolment
|
|
# will be skipped for that spec.
|
|
# For example:
|
|
#
|
|
# specs:
|
|
# # The type in `node_types` that this spec refers to. Required.
|
|
# - type: type0
|
|
# # The number of nodes to create of this spec. Required.
|
|
# count: 4
|
|
# # The Ironic configuration for nodes of this spec. Optional.
|
|
# ironic_config:
|
|
# # The resource class that nodes of this spec should use in Ironic.
|
|
# # Required if `ironic_config` has been specified.
|
|
# resource_class: my_rc
|
|
# # Traits that nodes of this spec should have in Ironic. Optional -
|
|
# # defaults to [].
|
|
# traits: []
|
|
# # A dict of key-value pairs to be set as properties on the Ironic
|
|
# # nodes. Can be used to set capabilities. Optional - defaults to {}.
|
|
# properties: {}
|
|
# # The following variables are all optional; if not set, Ironic's
|
|
# # default value will be used.
|
|
# bios_interface: no-bios
|
|
# boot_interface: pxe
|
|
# console_interface: ipmitool-socat
|
|
# deploy_interface: iscsi
|
|
# inspect_interface: inspector
|
|
# management_interface: ipmitool
|
|
# network_interface: neutron
|
|
# power_interface: ipmitool
|
|
# raid_interface: no-raid
|
|
# storage_interface: noop
|
|
# vendor_interface: ipmitool
|
|
specs: []
|
|
|
|
# nova_flavors is a list of Nova flavors to be created. Each flavor must
|
|
# specify the resource class it is associated with, as well as the Tenks node
|
|
# type whose hardware specs should be used.
|
|
# For example:
|
|
#
|
|
# nova_flavors:
|
|
# # Required.
|
|
# - resource_class: my_rc
|
|
# # Required.
|
|
# node_type: type0
|
|
# # Defaults to `resource_class`.
|
|
# name: my_flavor
|
|
# # Optional, defaults to [].
|
|
# required_traits: []
|
|
# # Optional, defaults to [].
|
|
# forbidden_traits: []
|
|
# # Extra key-value pairs to add to the flavor's specs. Optional, defaults
|
|
# # to {}.
|
|
# custom_specs: {}
|
|
nova_flavors: []
|
|
|
|
# The Glance UUID of the image to use for the deployment kernel.
|
|
deploy_kernel_uuid:
|
|
# The Glance UUID of the image to use for the deployment ramdisk.
|
|
deploy_ramdisk_uuid:
|
|
|
|
# The path to the file which contains the state of the current Tenks cluster
|
|
# that is deployed. This includes details such as allocations of nodes to
|
|
# hypervisors, and unique indices of physical networks.
|
|
state_file_path: >-
|
|
{{ '/'.join([(playbook_dir | dirname), 'state.yml']) }}
|
|
|
|
# The default Ironic driver of a node. Can be overridden per-node.
|
|
default_ironic_driver: ipmi
|
|
|
|
# Maps BMC emulation tools to the Ironic driver they support.
|
|
bmc_emulators:
|
|
virtualbmc: ipmi
|
|
sushy-tools: redfish
|