Source code for labgrid.driver.xenadriver

from importlib import import_module
import attr

from ..factory import target_factory
from .common import Driver


[docs] @target_factory.reg_driver @attr.s(eq=False) class XenaDriver(Driver): """ Xena Driver """ bindings = {"xena_manager": "XenaManager"}
[docs] def __attrs_post_init__(self): super().__attrs_post_init__() self._xena_app = import_module("xenavalkyrie.xena_app") self._tgn_utils = import_module("trafficgenerator.tgn_utils") self._xm = None
[docs] def on_activate(self): self._xm = self._xena_app.init_xena(self._tgn_utils.ApiType.socket, self.logger, "labgrid") self._xm.session.add_chassis(self.xena_manager.hostname)
[docs] def on_deactivate(self): if self._xm: self._xm.session.disconnect() self._xm = None
[docs] @Driver.check_active def get_session(self): return self._xm.session