Bug 1255073 - Multiple nodes sharing an IPMI IP cannot be imported or discovered in parallel [NEEDINFO]
Summary: Multiple nodes sharing an IPMI IP cannot be imported or discovered in parallel
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic-inspector
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 8.0 (Liberty)
Assignee: Dmitry Tantsur
QA Contact: Raviv Bar-Tal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-19 14:29 UTC by Ryan Brown
Modified: 2016-08-17 10:07 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-08-17 10:07:02 UTC
Target Upstream Version:
Embargoed:
dtantsur: needinfo?


Attachments (Terms of Use)

Description Ryan Brown 2015-08-19 14:29:33 UTC
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 11:40:24 UTC
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 12:42:28 UTC
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 10:07:02 UTC
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.