Bug 1686128 - Need to document the proper way to replace old style drivers ironic with new-style drivers.
Summary: Need to document the proper way to replace old style drivers ironic with new-...
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: documentation
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: RHOS Documentation Team
QA Contact: RHOS Documentation Team
URL:
Whiteboard:
Depends On:
Blocks: 1665032
TreeView+ depends on / blocked
 
Reported: 2019-03-06 19:10 UTC by Alexander Chuzhoy
Modified: 2022-01-19 21:41 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-01-19 21:35:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
undercloud.conf (4.00 KB, application/gzip)
2019-03-06 19:34 UTC, Alexander Chuzhoy
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-2517 0 None None None 2022-01-19 21:41:15 UTC

Description Alexander Chuzhoy 2019-03-06 19:10:55 UTC
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.

Comment 1 Alexander Chuzhoy 2019-03-06 19:16:07 UTC
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 |
+---------------------+-----------------------+

Comment 2 Alexander Chuzhoy 2019-03-06 19:34:52 UTC
Created attachment 1541586 [details]
undercloud.conf

Comment 3 Alexander Chuzhoy 2019-03-06 19:35:28 UTC
The w/a was to manually hack the ironic.conf file and bounce ironic-conductor.

Comment 4 Dmitry Tantsur 2019-03-07 08:08:08 UTC
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.

Comment 5 Alexander Chuzhoy 2019-03-07 15:34:30 UTC
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)

Comment 8 Julia Kreger 2022-01-19 21:35:29 UTC
Closing out as this is a stale item and the underlying change went into effect some time ago.


Note You need to log in before you can comment on or make changes to this bug.