Unable to control power using SNMP on APC AP8941
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
Medium
|
Mathieu Mitchell |
Bug Description
It is not possible to control a node's power state using SNMP driver on APC AP8941.
~$ ./ironic.sh node-set-
~$ ./ironic.sh node-show 91857852-
+------
| Property | Value |
+------
| target_power_state | None |
| extra | {u'vif_port_ids': u'["699edfb5-
| | "48845978-
| last_error | Failed to change power state to 'power on'. Error: SNMP operation 'SET' |
| | failed: 'genErr' |
The power state is affected (it it brought on/off) but Ironic is unhappy with the response. snmpset gives similar results:
# snmpset -Os -c write -v1 pdu_ip_address 1.3.6.1.
Error in packet.
Reason: (genError) A general failure occured
Failed object: iso.3.6.
# snmpset -Os -c write -v1 pdu_ip_address 1.3.6.1.
Error in packet.
Reason: (genError) A general failure occured
Failed object: iso.3.6.
Using rPDUOutletContr
sPDU appears to be related to APC's older devices, the MasterSwitch series. APC's current line is called APC Switched Rack PDU (rPDU).
snmpset is happy when using rPDUOutletContr
(USER:ironic/
iso.3.6.
After changing the OID in snmp.py, Ironic is happy to change the power state:
~$ ./ironic.sh node-set-
~$ ./ironic.sh node-show co-r031-140
+------
| Property | Value |
+------
| target_power_state | None |
| extra | {u'vif_port_ids': u'["ba6cfe6f-
| | -7c7e-443e-
| last_error | None | power_state | power on
description: | updated |
Changed in ironic: | |
assignee: | nobody → Mathieu Mitchell (mat128) |
status: | New → In Progress |
Changed in ironic: | |
importance: | Undecided → Medium |
Changed in ironic: | |
milestone: | none → 4.0.0 |
status: | Fix Committed → Fix Released |
Reviewed: https:/ /review. openstack. org/198149 /git.openstack. org/cgit/ openstack/ ironic/ commit/ ?id=61f2f075694 b88f1f5dd8cc8f0 55d868640ab3d3
Committed: https:/
Submitter: Jenkins
Branch: master
commit 61f2f075694b88f 1f5dd8cc8f055d8 68640ab3d3
Author: Mathieu Mitchell <email address hidden>
Date: Thu Jul 2 17:59:39 2015 -0400
Introduce support for APC MasterSwitchPlus and Rack PDU
Provide 3 new snmp_driver values for different APC product families: hplus
- apc_masterswitch
- apc_masterswitc
- apc_rackpdu
The "apc" snmp_driver is still supported and maps to the MasterSwitch driver
to avoid breaking backwards compatibility.
Different APC product families support different OIDs for power control. olMSPOutletComm and olOutletCommand
- APC MasterSwitch uses sPDUOutletCtl
- APC MasterSwitchPlus uses sPDUOutletContr
- APC Rack PDU uses rPDUOutletContr
Change-Id: I9d8724543d7da7 b1c9cdc180c3396 d131ed52615
Closes-Bug: #1471025