launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #13324
[Merge] lp:~smoser/maas/ipmi-locate-fallback into lp:maas
Scott Moser has proposed merging lp:~smoser/maas/ipmi-locate-fallback into lp:maas.
Commit message:
if ipmi-locate fails, but /dev/ipmi[0-9] exists continue down ipmi path
on quantal, the version of ipmi-locate in freeipmi (1.1.5-3ubuntu2) was
failing to locate ipmi on armhf boards. ipmi-locate did produce a postive
result on precise (0.8.12-3ubuntu1).
This works around that, and continues down the path if the /dev/ipmi
device is present.
Also, added here is a 'udevadm settle', which is really required any time
you load a module to prevent a race condition before attempting to access
the named device.
It would seem likelyhood of false positive here is very small, and at
this point it would seem that the end result would be a node enlisted
with empty power settings.
Requested reviews:
MAAS Maintainers (maas-maintainers)
Related bugs:
Bug #1065499 in MAAS: "Power parameters fail to get set when using Quantal ephemerals"
https://bugs.launchpad.net/maas/+bug/1065499
For more details, see:
https://code.launchpad.net/~smoser/maas/ipmi-locate-fallback/+merge/129202
if ipmi-locate fails, but /dev/ipmi[0-9] exists continue down ipmi path
on quantal, the version of ipmi-locate in freeipmi (1.1.5-3ubuntu2) was
failing to locate ipmi on armhf boards. ipmi-locate did produce a postive
result on precise (0.8.12-3ubuntu1).
This works around that, and continues down the path if the /dev/ipmi
device is present.
Also, added here is a 'udevadm settle', which is really required any time
you load a module to prevent a race condition before attempting to access
the named device.
It would seem likelyhood of false positive here is very small, and at
this point it would seem that the end result would be a node enlisted
with empty power settings.
--
https://code.launchpad.net/~smoser/maas/ipmi-locate-fallback/+merge/129202
Your team MAAS Maintainers is requested to review the proposed merge of lp:~smoser/maas/ipmi-locate-fallback into lp:maas.
=== modified file 'contrib/preseeds_v2/enlist_userdata'
--- contrib/preseeds_v2/enlist_userdata 2012-10-11 08:58:04 +0000
+++ contrib/preseeds_v2/enlist_userdata 2012-10-11 14:01:22 +0000
@@ -28,6 +28,7 @@
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si ${IPMI_SI_PARAMS}
+ udevadm settle
}
add_bin() {
@@ -62,6 +63,7 @@
#!/usr/bin/python
import os
import commands
+ import glob
import re
import string
import random
@@ -74,6 +76,9 @@
show_re = re.compile('(IPMI\ Version:) (\d\.\d)')
res = show_re.search(output)
if res == None:
+ found = glob.glob("/dev/ipmi[0-9]")
+ if len(found):
+ return (True, "UNKNOWN: %s" % " ".join(found))
return (False, "")
return (True, res.group(2))
=== modified file 'etc/maas/commissioning-user-data'
--- etc/maas/commissioning-user-data 2012-10-10 14:05:51 +0000
+++ etc/maas/commissioning-user-data 2012-10-11 14:01:22 +0000
@@ -189,6 +189,7 @@
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si ${IPMI_SI_PARAMS}
+ udevadm settle
}
### begin writing files ###
@@ -220,6 +221,7 @@
#!/usr/bin/python
import os
import commands
+import glob
import re
import string
import random
@@ -231,6 +233,9 @@
show_re = re.compile('(IPMI\ Version:) (\d\.\d)')
res = show_re.search(output)
if res == None:
+ found = glob.glob("/dev/ipmi[0-9]")
+ if len(found):
+ return (True, "UNKNOWN: %s" % " ".join(found))
return (False, "")
return (True, res.group(2))
Follow ups