Bug 1255073 - Multiple nodes sharing an IPMI IP cannot be imported or discovered in parallel [NEEDINFO]
Multiple nodes sharing an IPMI IP cannot be imported or discovered in parallel
Status: CLOSED CURRENTRELEASE
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic-inspector (Show other bugs)
7.0 (Kilo)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: 8.0 (Liberty)
Assigned To: Dmitry Tantsur
Raviv Bar-Tal
: ZStream
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-19 10:29 EDT by Ryan Brown
Modified: 2016-08-17 06:07 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-08-17 06:07:02 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
dtantsur: needinfo?


Attachments (Terms of Use)

  None (edit)
Description Ryan Brown 2015-08-19 10:29:33 EDT
Description of problem:
The HP moonshot is a cartridge-based host that has a single IPMI controller that manages all the cartridges. To turn individual cartridges on and off 

Version-Release number of selected component (if applicable):


How reproducible:
100% of moonshots, and presumably any other shared-ipmi-controller system.

Steps to Reproduce:
1. Get an HP Moonshot (which shares a single IPMI IP across all 20+ cartridges)
2. Create an instackenv.json with the MAC/IPMI IP of moonshot nodes
3. Run openstack baremetal configure boot
4. Add IPMI bridging information (see Additional Info for details) 
5. Run openstack baremetal introspection bulk start

Actual results:
Introspection halts because there is already an introspection process running on the moonshot's IPMI controller IP. 

To introspect the moonshot, you need to manually introspect each node individually, then set it to available manually as well. 

openstack baremetal introspection start <UUID>
ironic node-update <UUID> replace node_status=active

Expected results:
After import, we should be able to successfully run "openstack baremetal introspection bulk start" in parallel 

Additional info:
For each node, you need to add the IPMI bridging address and the cartridge address as below. CHAN is the cartridge hex address, and the target address is the node ID which, for one-node cartridges, is always 0x72: 
NODE=<UUID>
CHAN=0xaa
ironic node-update $NODE add 'driver_info/ipmi_bridging="dual"'
ironic node-update $NODE add "driver_info/ipmi_transit_address=${CHAN}"
ironic node-update $NODE add driver_info/ipmi_transit_channel=0
ironic node-update $NODE add driver_info/ipmi_target_address=0x72
ironic node-update $NODE add driver_info/ipmi_target_channel=7
Comment 3 Ryan Brown 2015-08-25 07:40:24 EDT
Met with Dmitry & Lucas this morning to discuss a solution. One avenue would be to use MAC addresses when IPMI dual bridging is enabled. This would mean users need to provide MAC addresses in instackenv.json when doing double bridging.

Having the MAC addresses, it would be possible to do parallel discovery of all the nodes in a moonshot or other shared-IPMI hardware.
Comment 4 Dmitry Tantsur 2016-07-08 08:42:28 EDT
Hi all. Is it still possible to reproduce this bug? I thought we fixed it either in Liberty or Mitaka.
Comment 5 Dmitry Tantsur 2016-08-17 06:07:02 EDT
I believe we fixed this bug long ago.

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