Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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: NEW
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: 2019-03-07 15:35 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:


Attachments (Terms of Use)
undercloud.conf (deleted)
2019-03-06 19:34 UTC, Alexander Chuzhoy
no flags Details

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)


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