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 ##############################################################################
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
17 INSTALLERS = ["fuel", "apex", "compass", "joid", "daisy"]
20 class InstallerHandler:
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
34 if self.installer == INSTALLERS[0]:
35 self.InstallerAdapter = FuelAdapter(self.installer_ip,
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)
49 print("Installer %s is not valid. "
50 "Please use one of the followings: %s"
51 % (self.installer, INSTALLERS))
54 def get_deployment_info(self):
55 return self.InstallerAdapter.get_deployment_info()
57 def get_nodes(self, options=None):
58 return self.InstallerAdapter.get_nodes(options=options)
60 def get_controller_ips(self, options=None):
61 return self.InstallerAdapter.get_controller_ips(options=options)
63 def get_compute_ips(self, options=None):
64 return self.InstallerAdapter.get_compute_ips(options=options)
66 def get_file_from_installer(self,
70 return self.InstallerAdapter.get_file_from_installer(remote_path,
74 def get_file_from_controller(self,
79 return self.InstallerAdapter.get_file_from_controller(remote_path,