openstack-ansible-os_ironic/vars/main.yml
Matthew Thode fc1e4f78dc
Overhaul ironic role
Removed unused variables when able and updated to the new ironic driver
definitions found here.

https://docs.openstack.org/ironic/latest/admin/upgrade-to-hardware-types.html

The intention is to support the drivers via profiles, so the table from
the above link was converted to a dictionary.  This dictionary was used
as a source when combining / concatenating the various drivers for each
profile into a usable list.  The standalone logic was simplified.

Change-Id: I19553af41b5e669386b855209c61235bf37371f2
Closes-Bug: 1758351
2018-07-01 19:36:18 -05:00

190 lines
4.6 KiB
YAML

---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This special list brings together all of the package installations into one
# task to save time.
ironic_driver_types:
agent_ilo:
hardware_type: ilo
boot: ilo-virtual-media
deploy: direct
inspect: ilo
management: ilo
power: ilo
agent_ipmitool:
hardware_type: ipmi
boot: pxe
deploy: direct
inspect: inspector
management: ipmitool
power: ipmitool
agent_ipmitool_socat:
hardware_type: ipmi
boot: pxe
deploy: direct
inspect: inspector
management: ipmitool
power: ipmitool
agent_irmc:
hardware_type: irmc
boot: irmc-virtual-media
deploy: direct
inspect: irmc
management: irmc
power: irmc
agent_pxe_oneview:
hardware_type: oneview
boot: pxe
deploy: oneview-direct
inspect: oneview
management: oneview
power: oneview
agent_ucs:
hardware_type: cisco-ucs-managed
boot: pxe
deploy: direct
inspect: inspector
management: ucsm
power: ucsm
iscsi_ilo:
hardware_type: ilo
boot: ilo-virtual-media
deploy: iscsi
inspect: ilo
management: ilo
power: ilo
iscsi_irmc:
hardware_type: irmc
boot: irmc-virtual-media
deploy: iscsi
inspect: irmc
management: irmc
power: irmc
iscsi_pxe_oneview:
hardware_type: oneview
boot: pxe
deploy: oneview-iscsi
inspect: oneview
management: oneview
power: oneview
pxe_agent_cimc:
hardware_type: cisco-ucs-standalone
boot: pxe
deploy: direct
inspect: inspector
management: cimc
power: cimc
pxe_drac:
hardware_type: idrac
boot: pxe
deploy: iscsi
inspect: idrac
management: idrac
power: idrac
pxe_drac_inspector:
hardware_type: idrac
boot: pxe
deploy: iscsi
inspect: inspector
management: idrac
power: idrac
pxe_ilo:
hardware_type: ilo
boot: ilo-pxe
deploy: iscsi
inspect: ilo
management: ilo
power: ilo
pxe_ipmitool:
hardware_type: ipmi
boot: pxe
deploy: iscsi
inspect: inspector
management: ipmitool
power: ipmitool
pxe_ipmitool_socat:
hardware_type: ipmi
boot: pxe
deploy: iscsi
inspect: inspector
management: ipmitool
power: ipmitool
pxe_iscsi_cimc:
hardware_type: cisco-ucs-standalone
boot: pxe
deploy: iscsi
inspect: inspector
management: cimc
power: cimc
pxe_irmc:
hardware_type: irmc
boot: irmc-pxe
deploy: iscsi
inspect: irmc
management: irmc
power: irmc
pxe_snmp:
hardware_type: snmp
boot: pxe
deploy: iscsi
inspect: no-inspect
management: fake
power: snmp
pxe_ucs:
hardware_type: cisco-ucs-managed
boot: pxe
deploy: iscsi
inspect: inspector
management: ucsm
power: ucsm
ironic_packages_list: >
{%- set package_list = [] %}
{%- if ironic_developer_mode | bool %}
{%- set package_list = package_list + ironic_developer_mode_distro_packages %}
{%- endif %}
{%- if ironic_services['ironic-api']['group'] in group_names %}
{%- set package_list = package_list + ironic_api_distro_packages %}
{%- endif %}
{%- if ironic_services['ironic-conductor']['group'] in group_names %}
{%- set package_list = package_list + ironic_conductor_distro_packages %}
{%- if ironic_standalone | bool %}
{%- set package_list = package_list + ironic_conductor_standalone_distro_packages %}
{%- endif %}
{%- endif %}
{{- package_list -}}
filtered_ironic_services: |-
{% set services = [] %}
{% for key, value in ironic_services.items() %}
{% if (value['group'] in group_names) and
(('service_en' not in value) or
('service_en' in value and value['service_en'])) %}
{% set _ = value.update({'service_key': key}) %}
{% set _ = services.append(value) %}
{% endif %}
{% endfor %}
{{ services }}
filtered_ironic_drivers: |-
{% set concat_drivers = {} %}
{% for driver in ironic_drivers_enabled %}
{% if driver in ironic_driver_types.keys() %}
{% set _ = concat_drivers.update(ironic_driver_types[driver]) %}
{% endif %}
{% endfor %}
{{ concat_drivers }}