Description of problem: In Power Management I cannot get IPMI power status WebUI shows: An error prevented retrieving the system's power status. Please check parameters and Cobbler log. - When it is ON: /var/log/cobbler/cobbler.log: Wed May 31 05:07:22 2017 - INFO | cobbler power configuration is: Wed May 31 05:07:22 2017 - INFO | type : ipmilan Wed May 31 05:07:22 2017 - INFO | address: client-address-imm.redhat.com Wed May 31 05:07:22 2017 - INFO | user : username Wed May 31 05:07:22 2017 - INFO | id : -v Wed May 31 05:07:22 2017 - INFO | running: ['fence_ipmilan', '-a', 'client-address-imm.redhat.com', '-v', '-l', 'username', '-p', 'password', '-o', 'status'] Wed May 31 05:07:24 2017 - INFO | received: Status: ON Wed May 31 05:07:24 2017 - INFO | Exception occured: <type 'exceptions.IndexError'> Wed May 31 05:07:24 2017 - INFO | Exception value: tuple index out of range Wed May 31 05:07:24 2017 - INFO | Exception Info: File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1762, in _dispatch return method_handle(*params) File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1719, in power_system rc=self.api.power_status(obj, user=None, password=None, logger=logger) File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 825, in power_status return action_power.PowerTool(self._config, system, self, user, password, logger = logger).power("status") File "/usr/lib/python2.6/site-packages/cobbler/action_power.py", line 115, in power power_status = match.groups()[2] /usr/lib/python2.6/site-packages/cobbler/action_power.py: match = re.match('(^Status:\s)(ON|OFF)', output) matches only 2 groups so power_status = match.groups()[2] is out of range - When it is OFF: Wed May 31 07:01:50 2017 - INFO | cobbler power configuration is: Wed May 31 07:01:50 2017 - INFO | type : ipmilan Wed May 31 07:01:50 2017 - INFO | address: client-address-imm.redhat.com Wed May 31 07:01:50 2017 - INFO | user : username Wed May 31 07:01:50 2017 - INFO | id : Wed May 31 07:01:50 2017 - INFO | running: ['fence_ipmilan', '-a', 'client-address-imm.redhat.com', '-l', 'username', '-p', 'password', '-o', 'status'] Wed May 31 07:01:51 2017 - INFO | received: Status: OFF Wed May 31 07:01:53 2017 - INFO | running: ['fence_ipmilan', '-a', 'client-address-imm.redhat.com', '-l', 'username', '-p', 'password', '-o', 'status'] Wed May 31 07:01:55 2017 - INFO | received: Status: OFF Wed May 31 07:01:57 2017 - INFO | running: ['fence_ipmilan', '-a', 'client-address-imm.redhat.com', '-l', 'username', '-p', 'password', '-o', 'status'] Wed May 31 07:01:58 2017 - INFO | received: Status: OFF Wed May 31 07:02:00 2017 - DEBUG | REMOTE expiring token; user(<DIRECT>) Wed May 31 07:02:00 2017 - DEBUG | get_items; ['distro'] Wed May 31 07:02:00 2017 - DEBUG | get_items; ['profile'] Wed May 31 07:02:00 2017 - INFO | running: ['fence_ipmilan', '-a', 'client-address-imm.redhat.com', '-l', 'username', '-p', 'password', '-o', 'status'] Wed May 31 07:02:01 2017 - INFO | received: Status: OFF Wed May 31 07:02:03 2017 - INFO | running: ['fence_ipmilan', '-a', 'client-address-imm.redhat.com', '-l', 'username', '-p', 'password', '-o', 'status'] Wed May 31 07:02:05 2017 - INFO | received: Status: OFF Wed May 31 07:02:07 2017 - INFO | Exception occured: <class 'cobbler.cexceptions.CX'> Wed May 31 07:02:07 2017 - INFO | Exception value: 'command failed (rc=2), please validate the physical setup and cobbler config' Wed May 31 07:02:07 2017 - INFO | Exception Info: File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 123, in die raise CX(msg) Wed May 31 07:02:07 2017 - INFO | Exception occured: <class 'cobbler.cexceptions.CX'> Wed May 31 07:02:07 2017 - INFO | Exception value: 'command failed (rc=2), please validate the physical setup and cobbler config' Wed May 31 07:02:07 2017 - INFO | Exception Info: File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1762, in _dispatch return method_handle(*params) File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1719, in power_system rc=self.api.power_status(obj, user=None, password=None, logger=logger) File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 825, in power_status return action_power.PowerTool(self._config, system, self, user, password, logger = logger).power("status") File "/usr/lib/python2.6/site-packages/cobbler/action_power.py", line 127, in power utils.die(self.logger,"command failed (rc=%s), please validate the physical setup and cobbler config" % rc) File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 131, in die raise CX(msg) It looks like it does not expect 'Status: OFF' so it reruns the command several times Version-Release number of selected component (if applicable): cobbler-2.0.7-66.el6sat.noarch spacewalk-java-2.5.14-88.el6sat.noarch How reproducible: always Steps to Reproduce: 1. setup IPMI power management for a client 2. Provisioning > Power Management > Get Status (/rhn/systems/details/kickstart/PowerManagement.do?sid=1000010004&) 3. or cobbler system powerstatus --name <profilename>
This is a regression introduced by spacewalk.git(master): 4569ac912cf597273ca7a75d6e51a15ecdd45817 in 1169741
First indexing error fixed in spacewalk.git(master): ec89a3eb61f6f567fdec3ea20359201910191492 it now extracts the value from both output string types - e.g. "Status: ON" and "Chassis power is on" - however I don't know how to get the second output text when using default type ipmilan. Second failure when "Status: OFF" is not understood is caused by return code 2 of fence_ipmilan command while cobbler code expects return code 0 to evaluate command as successful, fixed (workarounded) in spacewalk.git(master): 694dc8060060ef82402ad5b7c52109368ed3543f
It doesn't work cobbler-2.0.7-71.el6sat.noarch Thu Jan 18 05:58:25 2018 - INFO | received: Thu Jan 18 05:58:27 2018 - INFO | Exception Info: File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1762, in _dispatch return method_handle(*params) File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1719, in power_system rc=self.api.power_status(obj, user=None, password=None, logger=logger) File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 825, in power_status return action_power.PowerTool(self._config, system, self, user, password, logger = logger).power("status") File "/usr/lib/python2.6/site-packages/cobbler/action_power.py", line 129, in power utils.die(self.logger,"command failed (rc=%s), please validate the physical setup and cobbler config" % rc) File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 131, in die raise CX(msg)
Verified with cobbler-2.0.7-72.el6sat.noarch
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0274