Merge "Support legacy drivers"

This commit is contained in:
Zuul 2018-12-20 15:40:13 +00:00 committed by Gerrit Code Review
commit da53b0d799
2 changed files with 20 additions and 6 deletions

View File

@ -105,7 +105,13 @@ state_file_path: >-
# 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.
# Maps Ironic drivers to the BMC emulation tool they support.
bmc_emulators:
virtualbmc: ipmi
sushy-tools: redfish
agent_ipmitool: virtualbmc
agent_ipmitool_socat: virtualbmc
ipmi: virtualbmc
pxe_ipmitool: virtualbmc
pxe_ipmitool_socat: virtualbmc
pxe_snmp: virtualpdu
redfish: sushy-tools
snmp: virtualpdu

View File

@ -9,10 +9,18 @@
- name: Perform Virtual BMC configuration
hosts: libvirt
vars:
# List of ironic drivers that require virtualbmc.
vbmc_drivers: >-
{{ bmc_emulators.items() |
selectattr('1', 'eq', 'virtualbmc') |
map(attribute='0') |
list }}
# List of ironic nodes using drivers that require virtualbmc.
vbmc_nodes: >-
{{ hostvars.localhost.tenks_state[inventory_hostname].nodes
| default([]) | selectattr('ironic_driver', 'eq',
bmc_emulators.virtualbmc) | list }}
{{ hostvars.localhost.tenks_state[inventory_hostname].nodes |
default([]) |
selectattr('ironic_driver', 'in', vbmc_drivers) |
list }}
tasks:
- name: Check that enough ports are available for Virtual BMC
fail: