Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1598437

Summary: Changing ironic driver for a node is cumbersome
Product: Red Hat OpenStack Reporter: Dmitry Tantsur <dtantsur>
Component: python-ironicclientAssignee: Dmitry Tantsur <dtantsur>
Status: CLOSED ERRATA QA Contact: Alexander Chuzhoy <sasha>
Severity: medium Docs Contact:
Priority: medium    
Version: 14.0 (Rocky)CC: apevec, bfournie, lhh, mburns, sasha, srevivo
Target Milestone: Upstream M3Keywords: Triaged
Target Release: 14.0 (Rocky)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-ironicclient-2.5.0-0.20180810135843.fb94fb8.el7ost openstack-ironic-11.1.1-0.20180827214805.65ab326.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-11 11:50:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1620232    
Bug Blocks:    

Description Dmitry Tantsur 2018-07-05 13:18:35 UTC
Take this example:

$ openstack baremetal node create --name test --driver fake-hardware
$ openstack baremetal node set --driver ipmi test
management interface implementation '<ironic.drivers.modules.fake.FakeManagement object at 0x7f171f63e950>' is not supported by hardware type IPMIHardware. (HTTP 400)

We should allow a user to reset all interfaces to their defaults.

Comment 4 mlammon 2018-09-20 17:07:06 UTC
This depends on https://bugzilla.redhat.com/show_bug.cgi?id=1620232 currently in POST state.  The workaround is to unset OS_BAREMETAL_API_VERSION

Comment 5 Alexander Chuzhoy 2018-10-16 23:17:29 UTC
failed_qa:
Environment:
python2-ironicclient-2.5.0-0.20180810135843.fb94fb8.el7ost.noarch
openstack-ironic-api-11.1.1-0.20181001152939.4167083.el7ost.noarch
openstack-ironic-common-11.1.1-0.20181001152939.4167083.el7ost.noarch



(undercloud) [stack@undercloud-0 ~]$ openstack baremetal driver list
+---------------------+---------------------------+
| Supported driver(s) | Active host(s)            |
+---------------------+---------------------------+
| idrac               | undercloud-0.redhat.local |
| ilo                 | undercloud-0.redhat.local |
| ipmi                | undercloud-0.redhat.local |
| redfish             | undercloud-0.redhat.local |
+---------------------+---------------------------+
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node show compute-0 -f value -c driver
ipmi
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node set --driver idrac compute-0
management interface implementation '<ironic.drivers.modules.ipmitool.IPMIManagement object at 0x7fd770aba290>' is not supported by hardware type IDRACHardware. (HTTP 400)
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node set --driver ilo compute-0
management interface implementation '<ironic.drivers.modules.ipmitool.IPMIManagement object at 0x7fd770aba290>' is not supported by hardware type IloHardware. (HTTP 400)
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node set --driver redfish compute-0
management interface implementation '<ironic.drivers.modules.ipmitool.IPMIManagement object at 0x7fd770aba290>' is not supported by hardware type RedfishHardware. (HTTP 400)

Comment 6 Dmitry Tantsur 2018-10-17 09:21:59 UTC
You did not use either of the new arguments, it was not expected to work. Try

 openstack baremetal node set --driver idrac --reset-interfaces compute-0

or try listing each failing interface:

 openstack baremetal node set --driver idrac --reset-management-interface --reset...interface compute-0

Comment 7 Alexander Chuzhoy 2018-10-17 14:35:43 UTC
Verified:
Environment:
python2-ironicclient-2.5.0-0.20180810135843.fb94fb8.el7ost.noarch
openstack-ironic-api-11.1.1-0.20181001152939.4167083.el7ost.noarch
openstack-ironic-common-11.1.1-0.20181001152939.4167083.el7ost.noarch

The usage is:
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node show compute-0 -f value -c driver
ilo

(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node set --driver idrac --reset-interfaces compute-0
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node show compute-0 -f value -c driver
idrac

(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node set --driver ipmi --reset-interfaces compute-0
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node show compute-0 -f value -c driver
ipmi

Comment 9 errata-xmlrpc 2019-01-11 11:50:23 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:0045