Merge "adjust parameters setting"
[releng.git] / modules / opnfv / installer_adapters / InstallerHandler.py
1 ##############################################################################
2 # Copyright (c) 2017 Ericsson AB and others.
3 # Author: Jose Lausuch (jose.lausuch@ericsson.com)
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10 from opnfv.installer_adapters.fuel.FuelAdapter import FuelAdapter
11 from opnfv.installer_adapters.apex.ApexAdapter import ApexAdapter
12 from opnfv.installer_adapters.compass.CompassAdapter import CompassAdapter
13 from opnfv.installer_adapters.joid.JoidAdapter import JoidAdapter
14 from opnfv.installer_adapters.daisy.DaisyAdapter import DaisyAdapter
15
16
17 INSTALLERS = ["fuel", "apex", "compass", "joid", "daisy"]
18
19
20 class InstallerHandler:
21
22     def __init__(self,
23                  installer,
24                  installer_ip,
25                  installer_user,
26                  installer_pwd=None,
27                  private_key_file=None):
28         self.installer = installer.lower()
29         self.installer_ip = installer_ip
30         self.installer_user = installer_user
31         self.installer_pwd = installer_pwd
32         self.private_key_file = private_key_file
33
34         if self.installer == INSTALLERS[0]:
35             self.InstallerAdapter = FuelAdapter(self.installer_ip,
36                                                 self.installer_user,
37                                                 self.installer_pwd)
38         elif self.installer == INSTALLERS[1]:
39             self.InstallerAdapter = ApexAdapter(installer_ip=self.installer_ip,
40                                                 user=self.installer_user,
41                                                 pkey_file=self.private_key_file)
42         elif self.installer == INSTALLERS[2]:
43             self.InstallerAdapter = CompassAdapter(self.installer_ip)
44         elif self.installer == INSTALLERS[3]:
45             self.InstallerAdapter = JoidAdapter(self.installer_ip)
46         elif self.installer == INSTALLERS[4]:
47             self.InstallerAdapter = DaisyAdapter(self.installer_ip)
48         else:
49             print("Installer %s is  not valid. "
50                   "Please use one of the followings: %s"
51                   % (self.installer, INSTALLERS))
52             exit(1)
53
54     def get_deployment_info(self):
55         return self.InstallerAdapter.get_deployment_info()
56
57     def get_nodes(self, options=None):
58         return self.InstallerAdapter.get_nodes(options=options)
59
60     def get_controller_ips(self, options=None):
61         return self.InstallerAdapter.get_controller_ips(options=options)
62
63     def get_compute_ips(self, options=None):
64         return self.InstallerAdapter.get_compute_ips(options=options)
65
66     def get_file_from_installer(self,
67                                 remote_path,
68                                 local_path,
69                                 options=None):
70         return self.InstallerAdapter.get_file_from_installer(remote_path,
71                                                              local_path,
72                                                              options=options)
73
74     def get_file_from_controller(self,
75                                  remote_path,
76                                  local_path,
77                                  ip=None,
78                                  options=None):
79         return self.InstallerAdapter.get_file_from_controller(remote_path,
80                                                               local_path,
81                                                               ip=ip,
82                                                               options=options)
83
84     def get_all(self):
85         pass