def get_rule_hit_info(archive, rule_name, timeout=None, tmp_dir=None): # We have to load everything again for multiprocessing or clustering to # work. Even though imports are cached internally after the first call, we # can still optimize a bit with this LOADED hack. rule_func = dr.get_component(rule_name) if not LOADED[0]: load_default_plugins() LOADED[0] = True # this is also cached behind get_deps after the first call. graph, bool_deps = get_deps(rule_func) with extract(archive, timeout=timeout, extract_dir=tmp_dir) as arc: ctx = create_context(arc.tmp_dir, None) broker = dr.Broker() broker[ctx.__class__] = ctx results = dr.run(graph, broker=broker) rule_result = results.get(rule_func) rhr = results.get(RedHatRelease) result = extract_hits(bool_deps, results) result["archive"] = archive result["key"] = rule_result.get_key() if rule_result else None result["type"] = rule_result.__class__.__name__ if rule_result else None result["make_fail"] = True if rule_result and isinstance(rule_result, make_response) else False result["major"] = rhr.major if rhr else -1 result["minor"] = rhr.minor if rhr else -1 return result
def main(): args = parse_args() configure_logging(args.debug) configure(args.config) load_default_plugins() component = get_component(args.component[0]) if not component: print("Component not found: %s" % args.component[0], file=sys.stderr) sys.exit(1) run(component, archive=args.archive)
def main(): args = parse_args() configure_logging(args.debug) load_default_plugins() load_plugins(args.plugins) configure(args.config) spec = get_spec(args.spec[0]) if not spec: print("Spec not found: %s" % args.spec[0], file=sys.stderr) sys.exit(1) run(spec, archive=args.archive, quiet=args.quiet, no_header=args.no_header)
def main(): args = _parse_args() logging.basicConfig(level=logging.DEBUG if args.verbose else logging.ERROR) cov = None if not args.no_coverage: from coverage import Coverage cov = Coverage(cover_pylib=False) cov.start() if not args.no_defaults: load_default_plugins() dr.load_components("insights.parsers", "insights.combiners") load_packages(parse_plugins(args.plugins)) _handle_config(args.config) start_session(args.paths, args.cd, __coverage=cov, kernel=args.kernel) if cov: cov.stop() cov.erase()
def __init__( self, packages=None, format=JsonFormat, include_timings=False, include_tracebacks=False, target_components=None, component_config=None, ): load_default_plugins() load_packages(packages or []) config = component_config or {} apply_default_enabled(config) apply_configs(config) target_components = [ dr.get_component(c) for c in target_components or [] ] self._Format = format self._include_timings = include_timings self._include_tracebacks = include_tracebacks self._target_components = target_components or None