def get_pips(c, distro): cls = common.get_action_cls(settings.INSTALL, c) dummy_config = common.get_config() dummy_root = tempfile.gettempdir() instance = cls(instances=set(), distro=distro, packager=None, config=dummy_config, root=dummy_root, opts=list(), keep_old=False) if not isinstance(instance, component.PkgInstallComponent): return None else: return instance._get_pkgs_expanded()
def _instanciate_components(action_name, components, distro, pkg_manager, config, root_dir): all_instances = {} prerequisite_instances = {} for component in components.keys(): action_cls = common.get_action_cls(action_name, component) instance = action_cls(instances=all_instances, distro=distro, packager=pkg_manager, config=config, root=root_dir, opts=components.get(component, list())) all_instances[component] = instance if action_name == settings.START: if not instance.is_installed(): install_cls = common.get_action_cls(settings.INSTALL, component) install_instance = install_cls(instances=dict(), distro=distro, packager=pkg_manager, config=config, root=root_dir, opts=components.get(component, list())) prerequisite_instances[component] = install_instance elif action_name == settings.UNINSTALL: if component not in _NO_AUTO_STOP: # stop the component if started if instance.is_started(): stop_cls = common.get_action_cls(settings.STOP, component) stop_instance = stop_cls(instances=dict(), distro=distro, packager=pkg_manager, config=config, root=root_dir, opts=components.get(component, list())) prerequisite_instances[component] = stop_instance return (all_instances, prerequisite_instances)
def _instanciate_components(self, components): all_instances = dict() for component in components.keys(): cls = common.get_action_cls(self.action, component, self.distro) instance = cls(instances=all_instances, distro=self.distro, packager=self.pkg_manager, config=self.cfg, root=self.directory, opts=components.get(component, list()), keep_old=self.kargs.get("keep_old") ) all_instances[component] = instance return all_instances
def get_epels(c, distro): cls = common.get_action_cls(settings.INSTALL, c) dummy_config = common.get_config() dummy_root = tempfile.gettempdir() instance = cls(instances=set(), distro=distro, packager=None, config=dummy_config, root=dummy_root, opts=list(), keep_old=False) if not isinstance(instance, component.PkgInstallComponent): return None else: pkgs = instance._get_pkgs_expanded() epel_pkgs = dict() for (name, info) in pkgs.items(): meta = info.get("meta") or dict() if meta and meta.get("epel"): epel_pkgs[name] = info return epel_pkgs
distro = settings.RHEL6 comps = common.get_default_components() def filter_c(c): if not inspect.isclass(c): return False if c is object: return False return True actions = settings.ACTIONS for action in actions: klss = list() for c in comps.keys(): kls = common.get_action_cls(action, c, distro) klss.append(kls) max_depth = 5 fn = "%s.png" % (action) objgraph.show_refs( klss, filename=fn, max_depth=max_depth, highlight=inspect.isclass, filter=filter_c, extra_ignore=[id(locals())])