Source code for lwr.mesos

""" This module and submodules contain code for interfacing the Apache Mesos framework.

:mod:`lwr.mesos.framework` Module
-------------------------------

.. automodule:: lwr.mesos.framework
    :members:
    :undoc-members:
    :show-inheritance:

"""
try:
    from mesos import (
        Scheduler,
        Executor,
        MesosSchedulerDriver,
        MesosExecutorDriver,
    )
except ImportError:
    Scheduler = object
    Executor = object
    MesosSchedulerDriver = None
    MesosExecutorDriver = None
try:
    import mesos_pb2
except ImportError:
    mesos_pb2 = None

NO_MESOS_EXCEPTION = "Failed to import mesos module, please install mesos properly."
NO_MESOS_PROTO_EXCEPTION = "Failed to import mesos_pbs module, please install mesos properly."


[docs]def ensure_mesos_libs(): """ Raise import error if mesos is not actually available. Original import errors above supressed because mesos is meant as an optional dependency for the LWR. """ if MesosSchedulerDriver is None: raise Exception(NO_MESOS_EXCEPTION) if mesos_pb2 is None: raise Exception(NO_MESOS_PROTO_EXCEPTION)