Errorhandling in BMC/IMPI module

[this message from earlier today, was eaten by google groups]

Hi,

While I do understand that there are local problems I have to fix, the
reporting of those errors in the foreman has potential to improvement to
help admins understand their situation:

This is the actual problem:

 [root@puppet ~]# ipmitool -H 10.0.0.1 -U admin -P s3cr3t power status
 Error: Unable to establish LAN session
 Unable to get Chassis Power Status
 [root@puppet ~]# ping -c 3 10.0.0.1
 PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.

 --- 10.0.0.1 ping statistics ---
 3 packets transmitted, 0 received, 100% packet loss, time 12001ms

This is what the smart proxy's API says:
[root@puppet ~]# wget --auth-no-challenge --header "Accept:
application/json" --ca-certificate=/var/lib/puppet/ssl/certs/ca.pem
–private-key=/var/lib/puppet/ssl/private_keys/puppet.example.com.pem
–certificate=/var/lib/puppet/ssl/certs/puppet.example.com.pem -O - -S
https://puppet.example.com:8443/bmc/10.0.0.1/chassis/power/status -nv
–user=admin --password=s3cr3t
HTTP/1.1 200 OK
Content-Length: 33
Server: WEBrick/1.3.1 (Ruby/1.8.7/2011-06-30) OpenSSL/1.0.1e
Content-Type: text/html
Connection: Keep-Alive
{"action":"status","result":null}2015-02-11 14:55:21
URL:https://puppet.example.com:8443/bmc/10.0.0.1/chassis/power/status
[33/33] -> "-" [1]
[root@puppet ~]#

This is what the BMC tab on the foreman's host page for the host in
question says:

 Failure: undefined method `downcase' for nil:NilClass

This is happening on foreman{,-proxy}-1.6.2-1.el6 from the 1.6 repo
running on Scientific Linux release 6.5 (Carbon).

Regards, David

··· Date: Wed, 11 Feb 2015 13:55:21 GMT

This looks like Bug #2749: Failed to fetch bmc information: undefined method `downcase' for nil:NilClass - Foreman &
Bug #7543: allow additional rubyipmi connection options to be passed through - Smart Proxy - Foreman.

··· On 11/02/15 21:14, David Schmitt wrote: > [this message from earlier today, was eaten by google groups] > > Hi, > > While I do understand that there are local problems I have to fix, the > reporting of those errors in the foreman has potential to improvement to > help admins understand their situation: > > > This is the *actual* problem: > > [root@puppet ~]# ipmitool -H 10.0.0.1 -U admin -P s3cr3t power status > Error: Unable to establish LAN session > Unable to get Chassis Power Status > [root@puppet ~]# ping -c 3 10.0.0.1 > PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. > > --- 10.0.0.1 ping statistics --- > 3 packets transmitted, 0 received, 100% packet loss, time 12001ms > > > This is what the smart proxy's API says: > [root@puppet ~]# wget --auth-no-challenge --header "Accept: > application/json" --ca-certificate=/var/lib/puppet/ssl/certs/ca.pem > --private-key=/var/lib/puppet/ssl/private_keys/puppet.example.com.pem > --certificate=/var/lib/puppet/ssl/certs/puppet.example.com.pem -O - -S > https://puppet.example.com:8443/bmc/10.0.0.1/chassis/power/status -nv > --user=admin --password=s3cr3t > HTTP/1.1 200 OK > Date: Wed, 11 Feb 2015 13:55:21 GMT > Content-Length: 33 > Server: WEBrick/1.3.1 (Ruby/1.8.7/2011-06-30) OpenSSL/1.0.1e > Content-Type: text/html > Connection: Keep-Alive > {"action":"status","result":null}2015-02-11 14:55:21 > URL:https://puppet.example.com:8443/bmc/10.0.0.1/chassis/power/status > [33/33] -> "-" [1] > [root@puppet ~]# > > > This is what the BMC tab on the foreman's host page for the host in > question says: > > Failure: undefined method `downcase' for nil:NilClass


Dominic Cleal
Red Hat Engineering

Could you try to apply https://github.com/theforeman/foreman/pull/2154
?

··· -- Marek

On Thursday 12 of February 2015 08:59:02 Dominic Cleal wrote:

On 11/02/15 21:14, David Schmitt wrote:

[this message from earlier today, was eaten by google groups]

Hi,

While I do understand that there are local problems I have to fix, the
reporting of those errors in the foreman has potential to improvement to
help admins understand their situation:

This is the actual problem:
[root@puppet ~]# ipmitool -H 10.0.0.1 -U admin -P s3cr3t power status
Error: Unable to establish LAN session
Unable to get Chassis Power Status
[root@puppet ~]# ping -c 3 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.

 --- 10.0.0.1 ping statistics ---
 3 packets transmitted, 0 received, 100% packet loss, time 12001ms

This is what the smart proxy’s API says:
[root@puppet ~]# wget --auth-no-challenge --header “Accept:
application/json” --ca-certificate=/var/lib/puppet/ssl/certs/ca.pem
–private-key=/var/lib/puppet/ssl/private_keys/puppet.example.com.pem
–certificate=/var/lib/puppet/ssl/certs/puppet.example.com.pem -O - -S
https://puppet.example.com:8443/bmc/10.0.0.1/chassis/power/status -nv
–user=admin --password=s3cr3t

   HTTP/1.1 200 OK
   Date: Wed, 11 Feb 2015 13:55:21 GMT
   Content-Length: 33
   Server: WEBrick/1.3.1 (Ruby/1.8.7/2011-06-30) OpenSSL/1.0.1e
   Content-Type: text/html
   Connection: Keep-Alive
 
 {"action":"status","result":null}2015-02-11 14:55:21

URL:https://puppet.example.com:8443/bmc/10.0.0.1/chassis/power/status
[33/33] -> “-” [1]

 [root@puppet ~]#

This is what the BMC tab on the foreman’s host page for the host in

question says:
Failure: undefined method `downcase’ for nil:NilClass

This looks like Bug #2749: Failed to fetch bmc information: undefined method `downcase' for nil:NilClass - Foreman &
Bug #7543: allow additional rubyipmi connection options to be passed through - Smart Proxy - Foreman.


Marek