3 from vstf.agent.env.basic.image_manager import ImageManager
4 from vstf.agent.env.basic.source_manager import SourceCodeManager
5 from vstf.agent.env.basic import commandline
6 from vstf.agent.env.basic.device_manager import DeviceManager
7 from vstf.agent.env.basic import collect as coll
8 from vstf.agent.perf import netns, vnstat, vstfperf, sar, ethtool, affctl
9 from vstf.agent.env import builder
10 from vstf.agent.equalizer.get_info import GetPhyInfo
11 from vstf.agent.equalizer.optimize import Optimize
12 from vstf.agent.env.driver_plugins.manager import DriverPluginManager
14 LOG = logging.getLogger(__name__)
19 super(ENV, self).__init__()
20 self.builder = builder.PluginManager()
22 def build_env(self, cfg_intent):
23 return self.builder.build(cfg_intent)
26 return self.builder.clean()
29 def create_images(cfg):
30 return ImageManager(cfg).create_all()
33 def clean_images(cfg):
34 return ImageManager(cfg).clean_all()
37 class Drivers(object):
39 super(Drivers, self).__init__()
40 self.dr_mgr = DriverPluginManager()
42 def install_drivers(self, drivers):
43 LOG.info("install drivers:%s", drivers)
45 ret = self.dr_mgr.load(drivers)
48 def clean_drivers(self):
49 return self.dr_mgr.clean()
51 def autoneg_on(self, iface, nspace):
52 return ethtool.autoneg_on(iface, nspace)
54 def autoneg_off(self, iface, nspace):
55 return ethtool.autoneg_off(iface, nspace)
57 def autoneg_query(self, iface, nspace):
58 return ethtool.autoneg_query(iface, nspace)
62 def affctl_load(self, policy):
63 return affctl.affctl_load(policy)
65 def affctl_list(self):
66 return affctl.affctl_list()
71 super(Perf, self).__init__()
72 self._vnstat = vnstat.VnStat()
73 self._vstfperf = vstfperf.Vstfperf()
76 def run_vnstat(self, device, namespace=None):
77 return self._vnstat.run_vnstat(device, namespace)
79 def kill_vnstat(self, pid, namespace=None):
80 return self._vnstat.kill_vnstat(pid, namespace)
82 def perf_run(self, **kwargs):
83 return self._vstfperf.run(**kwargs)
85 def run_cpuwatch(self, interval = 2):
86 return self._sar.start(interval)
88 def kill_cpuwatch(self, pid):
89 return self._sar.stop(pid)
91 def force_clean(self):
92 self._vstfperf.force_clean()
93 self._sar.force_clean()
94 self._vnstat.force_clean()
98 class EqualizerOps(GetPhyInfo, Optimize):
100 super(EqualizerOps, self).__init__()
103 class BaseAgent(coll.Collect,
108 commandline.CommandLine,
113 super(BaseAgent, self).__init__()
116 class softAgent(BaseAgent, Perf, EqualizerOps):
118 super(softAgent, self).__init__()
121 if __name__ == '__main__':