cfme.utils.ipmi module¶
-
class
cfme.utils.ipmi.
IPMI
(hostname, username, password, interface_type='lan', timeout=30)[source]¶ Bases:
object
Utility to access IPMI via CLI.
The IPMI utility uses the
ipmitool
package to access the remote management card of a server.- Parameters
hostname – The hostname of the remote management console.
username – The username for the remote management console.
password – The password tied to the username.
interface_type – A string giving the
interface_type
to pass to the CLI.timeout – The number of seconds to wait before giving up on a command.
Returns: A
IPMI
instnace.
-
exception
cfme.utils.ipmi.
IPMIException
[source]¶ Bases:
Exception
Raised during
_run_ipmi()
if the error code is non zero.
-
cfme.utils.ipmi.
wait_for
(func, func_args=[], func_kwargs={}, *, logger=<TraceLogger cfme (INFO)>, **kwargs)¶ Waits for a certain amount of time for an action to complete Designed to wait for a certain length of time, either linearly in 1 second steps, or exponentially, up to a maximum. Returns the output from the function once it completes successfully, along with the time taken to complete the command.
It tries to use
time.monotonic()
, if it is not present, falls back totime.time()
, but it then is not resistant against system time changes.- Note: If using the expo keyword, the returned elapsed time will be inaccurate
as wait_for does not know the exact time that the function returned correctly, only that it returned correctly at last check.
- Parameters
func – A function to be run
func_args – A list of function arguments to be passed to func
func_kwargs – A dict of function keyword arguments to be passed to func
num_sec – An int describing the number of seconds to wait before timing out.
timeout – Either an int describing the number of seconds to wait before timing out. Or a
timedelta
object. Or a string formatted like1h 10m 5s
. This then sets thenum_sec
variable.expo – A boolean flag toggling exponential delay growth.
message – A string containing a description of func’s operation. If None, defaults to the function’s name.
fail_condition – An object describing the failure condition that should be tested against the output of func. If func() == fail_condition, wait_for continues to wait. Can be a callable which takes the result and returns boolean whether to fail. You can also specify it as a set, that way it checks whether it is present in the iterable.
handle_exception – A boolean controlling the handling of excepetions during func() invocation. If set to True, in cases where func() results in an exception, clobber the exception and treat it as a fail_condition.
delay – An integer describing the number of seconds to delay before trying func() again.
fail_func – A function to be run after every unsuccessful attempt to run func()
quiet – Do not write time report to the log (default False)
very_quiet – Do not log unless there was an error (default False). Implies quiet.
silent_failure – Even if the entire attempt times out, don’t throw a exception.
log_on_loop – Fire off a log.info message indicating we’re still waiting at each iteration of the wait loop
- Returns
A tuple containing the output from func() and a float detailing the total wait time.
- Raises
TimedOutError – If num_sec is exceeded after an unsuccessful func() invocation.