iRMC: Support ipmitool power interface with irmc hardware
Irmc power interface requires a vendor agent on an instance for enabling soft reboot and soft power off. For a case where the agent is not installed, this patch enables ipmitool power interface with irmc hardware type. Change-Id: I9bbe702645ba2a8ddbc0cf825b00999568f384c5 Story: 2002595 Task: 22206
This commit is contained in:
parent
ce9bdbffb1
commit
aaf17eb5e7
@ -62,8 +62,8 @@ hardware interfaces:
|
||||
Supports only ``irmc``.
|
||||
|
||||
* power
|
||||
Supports only ``irmc``, which enables power control via ServerView Common
|
||||
Command Interface (SCCI).
|
||||
Supports ``irmc``, which enables power control via ServerView Common
|
||||
Command Interface (SCCI), by default. Also supports ``ipmitool``.
|
||||
|
||||
For other hardware interfaces, ``irmc`` hardware type supports the
|
||||
Bare Metal reference interfaces. For more details about the hardware
|
||||
@ -653,7 +653,8 @@ This driver supports FUJITSU PRIMERGY BX S4 or RX S8 servers and above.
|
||||
- PRIMERGY BX924 S4
|
||||
- PRIMERGY RX300 S8
|
||||
|
||||
Soft Reboot (Graceful Reset) and Soft Power Off (Graceful Power Off)
|
||||
are only available if `ServerView agents <http://manuals.ts.fujitsu.com/index.php?id=5406-5873-5925-5945-16159>`_
|
||||
When ``irmc`` power interface is used, Soft Reboot (Graceful Reset) and Soft
|
||||
Power Off (Graceful Power Off) are only available if
|
||||
`ServerView agents <http://manuals.ts.fujitsu.com/index.php?id=5406-5873-5925-5945-16159>`_
|
||||
are installed. See `iRMC S4 Manual <http://manuals.ts.fujitsu.com/index.php?id=5406-5873-5925-5988>`_
|
||||
for more details.
|
||||
|
@ -134,4 +134,4 @@ class IRMCHardware(generic.GenericHardware):
|
||||
@property
|
||||
def supported_power_interfaces(self):
|
||||
"""List of supported power interfaces."""
|
||||
return [power.IRMCPower]
|
||||
return [power.IRMCPower, ipmitool.IPMIPower]
|
||||
|
@ -127,7 +127,7 @@ class IRMCHardwareTestCase(db_base.DbTestCase):
|
||||
enabled_deploy_interfaces=['iscsi', 'direct'],
|
||||
enabled_inspect_interfaces=['irmc'],
|
||||
enabled_management_interfaces=['irmc'],
|
||||
enabled_power_interfaces=['irmc'],
|
||||
enabled_power_interfaces=['irmc', 'ipmitool'],
|
||||
enabled_raid_interfaces=['no-raid', 'agent'],
|
||||
enabled_rescue_interfaces=['no-rescue', 'agent'])
|
||||
|
||||
@ -199,3 +199,24 @@ class IRMCHardwareTestCase(db_base.DbTestCase):
|
||||
agent.AgentRAID)
|
||||
self.assertIsInstance(task.driver.rescue,
|
||||
agent.AgentRescue)
|
||||
|
||||
def test_override_with_ipmitool_power(self):
|
||||
node = obj_utils.create_test_node(
|
||||
self.context, driver='irmc', power_interface='ipmitool')
|
||||
with task_manager.acquire(self.context, node.id) as task:
|
||||
self.assertIsInstance(task.driver.boot,
|
||||
irmc.boot.IRMCVirtualMediaBoot)
|
||||
self.assertIsInstance(task.driver.console,
|
||||
ipmitool.IPMISocatConsole)
|
||||
self.assertIsInstance(task.driver.deploy,
|
||||
iscsi_deploy.ISCSIDeploy)
|
||||
self.assertIsInstance(task.driver.inspect,
|
||||
irmc.inspect.IRMCInspect)
|
||||
self.assertIsInstance(task.driver.management,
|
||||
irmc.management.IRMCManagement)
|
||||
self.assertIsInstance(task.driver.power,
|
||||
ipmitool.IPMIPower)
|
||||
self.assertIsInstance(task.driver.raid,
|
||||
noop.NoRAID)
|
||||
self.assertIsInstance(task.driver.rescue,
|
||||
noop.NoRescue)
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Adds support for ``ipmitool`` power interface to ``irmc`` hardware type.
|
Loading…
x
Reference in New Issue
Block a user