Enabling IPMI double bridge support

Registered by Mahalakshmi

This blueprint proposes IPMI double bridging support in ironic. Currently, IPMI power driver in ironic does not support bridging.
Many of the recent server architecture is based on distributed management. For a chassis that has “n” number of servers, the management is delegated from the core controller to many satellite controllers, which mandates the need for bridging.

Bridging provides a mechanism for routing IPMI Messages between different channels. The double bridge option is used to send a IPMI message to a management controller that is not directly connected to the BMC/IPMC i.e. double bridging is required when the IPMI message should be routed through a transit address to reach target address.

For example: Below is the ipmitool command that uses double bridging to power on the target node (0x72) through a satellite controller (0x82)

# ipmitool -I lanplus -H xx.xx.xx.xx -U xxxx -P xxxxx -B 0 –T 0x82 –b 7 –t 0x72 -m 0x20 chassis power on
where:
• –B <transit channel for bridged request (dual bridge)>
• –T <transit address for bridge request (dual bridge)>
• -b <ipmi channel number>
• -t <target slave address>
• -m <source slave address>

Blueprint information

Status:
Complete
Approver:
aeva black
Priority:
Medium
Drafter:
Mahalakshmi
Direction:
Needs approval
Assignee:
Rakesh H S
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
Mahalakshmi
Completed by
Mahalakshmi

Related branches

Sprints

Whiteboard

Spec available at https://review.openstack.org/#/c/98208/

Gerrit topic: https://review.openstack.org/#q,topic:bp/enabling-ipmi-double-bridge-support,n,z

Addressed by: https://review.openstack.org/95775
    ipmi double bridging functionality

Addressed by: https://review.openstack.org/108455
    Raise MissingParameterValue instead of Invalid

(?)

Work Items

Work items:
- Include functionality to IPMI driver(ipmitool) to check if the underlying ipmitool utility supports bridging : INPROGRESS
- Changes to IPMI driver to parse the bridging parameters : INPROGRESS
- When a node being provisioned has bridging configuration specified, perform all ipmi operations with appropriate parameters : INPROGRESS

This blueprint contains Public information 
Everyone can see this information.