5485f97033576a72820793fc6baf6a9dd9f2a4df
[bottlenecks.git] / vstf / vstf / agent / env / plugins / model.py
1 """
2 Created on 2015-9-15
3
4 @author: y00228926
5 """
6 from abc import ABCMeta
7 from abc import abstractmethod
8
9
10 class EnvBuilderPlugin:
11     __metaclass__ = ABCMeta
12
13     def __init__(self):
14         self.host_cfg = None
15         pass
16
17     @abstractmethod
18     def clean(self):
19         pass
20
21     @abstractmethod
22     def load_drivers(self):
23         pass
24
25     @abstractmethod
26     def create_brs(self):
27         pass
28
29     @abstractmethod
30     def config_br_ports(self):
31         pass
32
33     @abstractmethod
34     def create_vms(self):
35         pass
36
37     @abstractmethod
38     def wait_vms(self):
39         pass
40
41     @abstractmethod
42     def check_vm_connectivity(self):
43         pass
44
45     def build(self, cfg_intent):
46         self.host_cfg = cfg_intent
47         self.clean()
48         self.load_drivers()
49         self.create_brs()
50         self.create_vms()
51         self.wait_vms()
52         self.config_br_ports()
53         self.check_vm_connectivity()
54         return True