def setUp(self):
     super(TestConfigManager, self).setUp()
     self.adapter_test_info = config_data.adapter_test_config
     self.cluster_test_info = config_data.cluster_test_config
     self.hosts_test_info = config_data.hosts_test_config
     self.test_config_manager = BaseConfigManager(self.adapter_test_info,
                                                  self.cluster_test_info,
                                                  self.hosts_test_info)
示例#2
0
    def get_installer(cls, name, path, adapter_info, cluster_info, hosts_info):
        try:
            mod_file, path, descr = imp.find_module(name, [path])
            if mod_file:
                mod = imp.load_module(name, mod_file, path, descr)
                config_manager = BaseConfigManager(adapter_info, cluster_info,
                                                   hosts_info)
                return getattr(mod, mod.NAME)(config_manager)

        except ImportError as exc:
            logging.error('No such module found: %s', name)
            logging.exception(exc)

        return None
示例#3
0
    def _get_chef_installer(self):
        adapter_info = config_data.adapter_test_config
        cluster_info = config_data.cluster_test_config
        hosts_info = config_data.hosts_test_config

        config_manager = BaseConfigManager(adapter_info, cluster_info,
                                           hosts_info)

        ChefInstaller.get_tmpl_path = Mock()
        test_tmpl_dir = os.path.join(os.path.join(config_data.test_tmpl_dir,
                                                  'chef_installer'),
                                     'openstack_icehouse')
        ChefInstaller.get_tmpl_path.return_value = test_tmpl_dir

        ChefInstaller._get_chef_api = Mock()
        ChefInstaller._get_chef_api.return_value = self.chef_test_api
        chef_installer = ChefInstaller(config_manager)
        return chef_installer
示例#4
0
    def _get_cobbler_installer(self):
        adapter_info = config_data.adapter_test_config
        cluster_info = config_data.cluster_test_config
        hosts_info = deepcopy(config_data.hosts_test_config)
        # In config_data, only hosts with ID 1 and 2 needs to install OS.
        del hosts_info[3]

        config_manager = BaseConfigManager(adapter_info, cluster_info,
                                           hosts_info)

        CobblerInstaller._get_cobbler_server = Mock()
        CobblerInstaller._get_cobbler_server.return_value = "mock_server"
        CobblerInstaller._get_token = Mock()
        CobblerInstaller._get_token.return_value = "mock_token"

        CobblerInstaller.get_tmpl_path = Mock()
        test_tmpl_dir = os.path.join(config_data.test_tmpl_dir, 'cobbler')
        CobblerInstaller.get_tmpl_path.return_value = test_tmpl_dir
        return CobblerInstaller(config_manager)
示例#5
0
    def _get_chef_installer(self):
        adapter_info = config_data.adapter_test_config
        cluster_info = config_data.cluster_test_config
        hosts_info = config_data.hosts_test_config

        config_manager = BaseConfigManager(adapter_info, cluster_info,
                                           hosts_info)

        ChefInstaller.get_tmpl_path = Mock()
        test_tmpl_dir = os.path.join(
            os.path.join(config_data.test_plugins_dir, 'templates'),
            'openstack_icehouse')
        ChefInstaller.get_tmpl_path.return_value = test_tmpl_dir

        ChefInstaller._get_chef_api = Mock()
        ChefInstaller._get_chef_api.return_value = 'mock_server'
        ChefInstaller.get_all_roles = Mock()
        ChefInstaller.get_all_roles.return_value = []
        ChefInstaller.validate_roles = Mock()
        ChefInstaller.validate_roles.return_value = True
        chef_installer = ChefInstaller(config_manager)
        return chef_installer