Enabled hardware type 'ucs' does not exist

During classic driver deprecation [1], the ucs hardware type was added
to the list of default enabled hardware types. This hardware type does
not exist - the Cisco UCS hardware types are cisco-ucs-managed and
cisco-ucs-standalone. This causes conductor to fail to start.

This was not caught during testing as only the ipmi ironic hardware type
is configured when testing. Now that VBMC is in use, it is no
longer necessary to use a different set of drivers for testing.

This change enables the cisco-ucs-managed hardware type by default, and
uses the default set of drivers and hardware types for testing. It also
adds configuration options for setting the enabled boot, power and
management interfaces, with default values including interfaces required
by the ilo and ucs hardware types.

[1]
46453661ba

Change-Id: Icfa89a2555966c6fbfd06186fdd17d852bc5ae7a
Closes-Bug: #1752975
This commit is contained in:
Mark Goddard 2018-03-02 20:16:34 +00:00
parent 3e9e93e0f2
commit cf8ac8216c
4 changed files with 15 additions and 13 deletions

View File

@ -84,9 +84,11 @@ In case your HW needs a kernel option to boot, set the following variable:
extra_kernel_options: Default undefined.
When testing, the default ironic conductor hardware type is "ipmi". When
testing mode has not been engaged, hardware types can be enabled using
the "enabled_hardware_types" variable, which defaults to "ipmi, ilo, ucs".
Hardware types can be enabled using the "enabled_hardware_types" variable,
which defaults to "ipmi, ilo, cisco-ucs-managed, cisco-ucs-standalone".
Enabled interfaces can be set via the "enabled_boot_interfaces",
"enabled_management_interfaces", and "enabled_power_interfaces" variables.
By default, PXE driver baseline support, in terms of installation of the
iSCSI client and configuration of sudoers and rootwrap configuration is

View File

@ -84,8 +84,11 @@ ironicinspectorclient_git_folder: /opt/stack/python-ironic-inspector-client
staging_drivers_git_url: http://git.openstack.org/cgit/openstack/ironic-staging-drivers
# TODO(TheJulia): Add redfish to this list.
enabled_hardware_types: "ipmi,ilo,ucs"
enabled_hardware_types: "ipmi,ilo,cisco-ucs-managed"
default_deploy_interface: "direct"
enabled_boot_interfaces: "ilo-virtual-media,pxe"
enabled_management_interfaces: "ilo,ipmitool,ucsm"
enabled_power_interfaces: "ilo,ipmitool,ucsm"
# DEPRECATED: Ironic is removing classic drivers in Rocky. Please see
# enabled_hardware_types.

View File

@ -52,14 +52,14 @@
package=proliantutils
state=present
extra_args="-c {{ upper_constraints_file }}"
when: skip_install is not defined and testing | bool != true
when: skip_install is not defined
- name: "UcsSdk - Install from pip"
include: pip_install.yml
package=UcsSdk
version=0.8.1.9
extra_args="-c {{ upper_constraints_file }}"
when: skip_install is not defined and testing | bool != true
when: skip_install is not defined
- name: "Install iSCSI client if PXE driver support is enabled"
action: "{{ ansible_pkg_mgr }} name={{ iscsi_client_package }} state=present"

View File

@ -5,6 +5,7 @@
[DEFAULT]
debug = {{ testing | bool }}
# NOTE(TheJulia): Until Bifrost supports neutron or some other network
# configuration besides a flat network where bifrost orchustrates the
# control instead of ironic, noop is the only available network driver.
@ -14,16 +15,12 @@ default_deploy_interface = {{ default_deploy_interface }}
enabled_inspect_interfaces = no-inspect,inspector
default_inspect_interface = inspector
{% endif %}
enabled_boot_interfaces = {{ enabled_boot_interfaces }}
enabled_management_interfaces = {{ enabled_management_interfaces }}
enabled_power_interfaces = {{ enabled_power_interfaces }}
{% if testing | bool == true %}
debug = true
# Default enable ipmi for CI testing
enabled_hardware_types = ipmi
{% else %}
enabled_hardware_types = {{ enabled_hardware_types }}
enabled_drivers = {{ enabled_drivers }}
debug = false
{% endif %}
rabbit_userid = ironic
rabbit_password = {{ ironic_db_password }}