Merge "Automatic Deployment - Deployment Hardware Adapter - Deployment Environment...
[genesis.git] / fuel / deploy / dha.py
1
2 class DeploymentHardwareAdapter(object):
3     def __new__(cls, server_type):
4         if cls is DeploymentHardwareAdapter:
5             if server_type == 'esxi':  return EsxiAdapter()
6             if server_type == 'hp': return HpAdapter()
7             if server_type == 'dell': return DellAdapter()
8             if server_type == 'libvirt': return LibvirtAdapter()
9         return super(DeploymentHardwareAdapter, cls).__new__(cls)
10
11
12 class HardwareAdapter(object):
13
14     def power_off_blades(self):
15         raise NotImplementedError
16
17     def power_on_blades(self):
18         raise NotImplementedError
19
20     def power_cycle_blade(self):
21         raise NotImplementedError
22
23     def set_boot_order(self):
24         raise NotImplementedError
25
26     def reset_to_factory_defaults(self):
27         raise NotImplementedError
28
29     def configure_networking(self):
30         raise NotImplementedError
31
32     def get_blade_mac_addresses(self, shelf_id, blade_id):
33         raise NotImplementedError
34
35     def get_blade_hardware_info(self, shelf_id, blade_id):
36         raise NotImplementedError
37
38
39 class EsxiAdapter(HardwareAdapter):
40     pass
41
42 class LibvirtAdapter(HardwareAdapter):
43     pass
44
45 class HpAdapter(HardwareAdapter):
46     pass
47
48 class DellAdapter(HardwareAdapter):
49     pass