tenks/ansible/host_vars/localhost
w-miller 157d433bde
Merge pull request #11 from w-miller/schedule
Improve scheduling, persist node details and add some tests
2018-09-19 09:53:41 +01:00

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