File: //lib/python2.7/site-packages/leapp/utils/__init__.py
import subprocess
def reboot_system():
# NOTE(ivasilev) Maybe we could use run? We still can't rely on any code to be finished after workflow calls this
# method.
subprocess.Popen(['/sbin/shutdown', '-r', 'now']) # noqa; pylint: disable=consider-using-with
def get_api_models(actor, what):
"""
Used to retrieve the full list of models including the ones defined by WorkflowAPIs used by the actor.
:param what: A string which either is 'consumes' or 'produces'
:type what: str
:param actor: type/instance or ActorDefinition instance to retrieve the information from
:type actor: leapp.actors.Actor or ActorDefinition
:return: Tuple of all produced or consumed models as specified by actor and APIs used by the actor.
"""
def _enforce_tuple(x):
if not isinstance(x, tuple):
return (x,)
return x
def _do_get(api):
result = _enforce_tuple(getattr(api, what, ()))
for a in _enforce_tuple(api.apis or ()):
result = result + _do_get(a)
return result
return tuple(set(_do_get(actor)))