kayobe/ansible/group_vars/all/inspector
2017-03-15 16:42:32 +00:00

182 lines
6.0 KiB
Plaintext

---
###############################################################################
# Ironic inspector PXE configuration.
# List of extra kernel parameters for the inspector default PXE configuration.
inspector_extra_kernel_options: "{{ ipa_kernel_options_collect_lldp }}"
# URL of Ironic Python Agent (IPA) kernel image.
inspector_ipa_kernel_upstream_url: "{{ ipa_images_kernel_url }}"
# URL of Ironic Python Agent (IPA) ramdisk image.
inspector_ipa_ramdisk_upstream_url: "{{ ipa_images_ramdisk_url }}"
###############################################################################
# Ironic inspector processing configuration.
# Whether inspector should manage the firewall.
inspector_manage_firewall: False
# List of of inspector processing plugins.
inspector_processing_hooks:
- root_disk_selection
- scheduler
- validate_interfaces
- ramdisk_error
- capabilities
- pci_devices
- raid_device
- local_link_connection
- lldp_basic
# Which MAC addresses to add as ports during introspection. One of 'all',
# 'active' or 'pxe'.
inspector_port_addition: "all"
# Whether to enable discovery of nodes not managed by Ironic.
inspector_enable_discovery: True
# The Ironic driver with which to register newly discovered nodes.
inspector_discovery_enroll_node_driver: "agent_ipmitool"
###############################################################################
# Ironic inspector configuration.
# Ironic inspector IPMI username to set.
inspector_ipmi_username:
# Ironic inspector IPMI password to set.
inspector_ipmi_password:
# Ironic inspector network interface name on which to check for an LLDP switch
# port description to use as the node's name.
inspector_lldp_switch_port_interface:
###############################################################################
# Ironic inspector introspection rules configuration.
# Ironic inspector rule to set IPMI credentials.
inspector_rule_ipmi_credentials:
description: "Set IPMI driver_info if no credentials"
conditions:
- field: "node://driver_info.ipmi_username"
op: "is-empty"
- field: "node://driver_info.ipmi_password"
op: "is-empty"
actions:
- action: "set-attribute"
path: "driver_info/ipmi_username"
value: "{{ inspector_rule_var_ipmi_username }}"
- action: "set-attribute"
path: "driver_info/ipmi_password"
value: "{{ inspector_rule_var_ipmi_password }}"
# Ironic inspector rule to set deployment kernel.
inspector_rule_deploy_kernel:
description: "Set deploy kernel"
conditions:
- field: "node://driver_info.deploy_kernel"
op: "is-empty"
actions:
- action: "set-attribute"
path: "driver_info/deploy_kernel"
value: "{{ inspector_rule_var_deploy_kernel }}"
# Ironic inspector rule to set deployment ramdisk.
inspector_rule_deploy_ramdisk:
description: "Set deploy ramdisk"
conditions:
- field: "node://driver_info.deploy_ramdisk"
op: "is-empty"
actions:
- action: "set-attribute"
path: "driver_info/deploy_ramdisk"
value: "{{ inspector_rule_var_deploy_ramdisk }}"
# Ironic inspector rule to set local boot capability
inspector_rule_local_boot:
description: "Set local boot capability"
conditions: []
actions:
- action: "set-capability"
name: "boot_option"
value: "local"
# Ironic inspector rule to initialise root device hints.
inspector_rule_root_hint_init:
description: "Initialise root device hint"
conditions:
- field: "node://properties.root_device"
op: "is-empty"
actions:
# Inspector can't combine references to introspection data with non-string
# types, see https://bugs.launchpad.net/ironic-inspector/+bug/1670768. We
# must therefore first set the root_device property to an empty dict, then
# update the fields within it.
- action: "set-attribute"
path: "properties/root_device"
value: {}
# Ironic inspector rule to set serial root device hint.
inspector_rule_root_hint_serial:
description: "Set serial root device hint"
conditions:
- field: "data://root_disk.serial"
op: "is-empty"
invert: True
actions:
- action: "set-attribute"
path: "properties/root_device/serial"
value: "{data[root_disk][serial]}"
# Ironic inspector rule to set the interface on which the node PXE booted.
inspector_rule_set_pxe_interface_mac:
description: "Set node PXE interface MAC address"
conditions:
- field: "data://boot_interface"
op: "is-empty"
invert: True
actions:
- action: "set-attribute"
path: "extra/pxe_interface_mac"
value: "{data[boot_interface]}"
# Ironic inspector rule to set the node's name from an interface's LLDP switch
# port description.
inspector_rule_lldp_switch_port_desc_to_name:
description: "Set node name from {{ inspector_rule_var_lldp_switch_port_interface }} LLDP switch port description"
conditions:
- field: "data://all_interfaces.{{ inspector_rule_var_lldp_switch_port_interface }}.lldp_processed.switch_port_description"
op: "is-empty"
invert: True
actions:
- action: "set-attribute"
path: "name"
value: "{data[all_interfaces][{{ inspector_rule_var_lldp_switch_port_interface }}][lldp_processed][switch_port_description]}"
# Ironic inspector rule to save introspection data to the node.
inspector_rule_save_data:
description: "Save introspection data to Ironic node"
conditions: []
actions:
- action: "set-attribute"
path: "extra/introspection_data"
value: "{data}"
# List of default ironic inspector rules.
inspector_rules_default:
- "{{ inspector_rule_ipmi_credentials }}"
- "{{ inspector_rule_deploy_kernel }}"
- "{{ inspector_rule_deploy_ramdisk }}"
- "{{ inspector_rule_local_boot }}"
- "{{ inspector_rule_root_hint_init }}"
- "{{ inspector_rule_root_hint_serial }}"
- "{{ inspector_rule_set_pxe_interface_mac }}"
- "{{ inspector_rule_lldp_switch_port_desc_to_name }}"
# List of additional ironic inspector rules.
inspector_rules_extra: []
# List of all ironic inspector rules.
inspector_rules: "{{ inspector_rules_default + inspector_rules_extra }}"