Unable to update the driver list in undercloud Environment: python2-ironic-neutron-agent-1.0.0-1.el7ost.noarch openstack-ironic-conductor-10.1.7-1.el7ost.noarch puppet-ironic-12.4.0-4.el7ost.noarch instack-undercloud-8.4.6-6.el7ost.noarch python2-ironicclient-2.2.1-1.el7ost.noarch openstack-ironic-common-10.1.7-1.el7ost.noarch openstack-ironic-staging-drivers-0.9.1-1.el7ost.noarch python-ironic-lib-2.12.1-2.el7ost.noarch openstack-ironic-api-10.1.7-1.el7ost.noarch openstack-ironic-inspector-7.2.1-5.el7ost.noarch python-ironic-inspector-client-3.1.1-2.el7ost.noarch Steps to reproduce: 1. Attempting to modify the list of enabled drivers. The enabled_drivers option is deprecated (see below), so using the enabled_hardware_types one: # DEPRECATED: List of enabled bare metal drivers. (list value) # This option is deprecated for removal. # Its value may be silently ignored in the future. # Reason: Please switch to hardware types and the # enabled_hardware_types option. (undercloud) [stack@undercloud ~]$ openstack baremetal driver list +---------------------+-----------------------+ | Supported driver(s) | Active host(s) | +---------------------+-----------------------+ | idrac | localhost.localdomain | | ilo | localhost.localdomain | | ipmi | localhost.localdomain | | pxe_drac | localhost.localdomain | | pxe_ilo | localhost.localdomain | | pxe_ipmitool | localhost.localdomain | | redfish | localhost.localdomain | +---------------------+-----------------------+ 2. Configure undercloud.conf to exclude pxe_ drivers: (undercloud) [stack@undercloud ~]$ crudini --get /home/stack/undercloud.conf DEFAULT enabled_hardware_types ipmi,redfish,ilo,idrac 3. Re-run 'openstack undercloud install' 4. Check the driver list (undercloud) [stack@undercloud ~]$ openstack baremetal driver list +---------------------+-----------------------+ | Supported driver(s) | Active host(s) | +---------------------+-----------------------+ | idrac | localhost.localdomain | | ilo | localhost.localdomain | | ipmi | localhost.localdomain | | pxe_drac | localhost.localdomain | | pxe_ilo | localhost.localdomain | | pxe_ipmitool | localhost.localdomain | | redfish | localhost.localdomain | +---------------------+-----------------------+ Expected result: the pxe_ drivers are NOT on the list.
Note that ironic.conf got updated: [root@undercloud ~]# crudini --get /etc/ironic/ironic.conf DEFAULT enabled_hardware_types redfish,ipmi,idrac,ilo (undercloud) [stack@undercloud ~]$ sudo systemctl restart openstack-ironi* (undercloud) [stack@undercloud ~]$ openstack baremetal driver list +---------------------+-----------------------+ | Supported driver(s) | Active host(s) | +---------------------+-----------------------+ | idrac | localhost.localdomain | | ilo | localhost.localdomain | | ipmi | localhost.localdomain | | pxe_drac | localhost.localdomain | | pxe_ilo | localhost.localdomain | | pxe_ipmitool | localhost.localdomain | | redfish | localhost.localdomain | +---------------------+-----------------------+
Created attachment 1541586 [details] undercloud.conf
The w/a was to manually hack the ironic.conf file and bounce ironic-conductor.
Hi, The pxe_* stuff are old-style drivers, they're updated via enabled_drivers, not via enabled_hardware_types. Please check with enabled_drivers instead.
Ack, so having the following in undercloud.conf: [DEFAULT] enabled_hardware_types = ipmi,redfish,ilo,idrac enabled_drivers = pxe_ipmitool,pxe_drac,pxe_ilo Resulted in: +---------------------+-----------------------+ | Supported driver(s) | Active host(s) | +---------------------+-----------------------+ | idrac | localhost.localdomain | | ilo | localhost.localdomain | | ipmi | localhost.localdomain | | pxe_drac | localhost.localdomain | | pxe_ilo | localhost.localdomain | | pxe_ipmitool | localhost.localdomain | | redfish | localhost.localdomain | +---------------------+-----------------------+ Changing to: [DEFAULT] enabled_hardware_types = ipmi,redfish,ilo,idrac enabled_drivers = and re-running 'openstack undercloud install' resulted in: (undercloud) [stack@undercloud ~]$ openstack baremetal driver list +---------------------+-----------------------+ | Supported driver(s) | Active host(s) | +---------------------+-----------------------+ | idrac | localhost.localdomain | | ilo | localhost.localdomain | | ipmi | localhost.localdomain | | redfish | localhost.localdomain | +---------------------+-----------------------+ Switching it to doc bug. We need to make it clear in the downstream doc, that removing old style drivers needs 2 entries: 1. new style drivers with enabled_hardware_types 2. old style drivers with enabled_drivers (should be empty)
Closing out as this is a stale item and the underlying change went into effect some time ago.