def db(ctx_config, db_connect, db_use_ssl, db_retries, db_timeout, db_connect_timeout): global config, module config = ctx_config try: # do some DB connection/pre-checks here try: log_level = 'INFO' if config['debug']: log_level = 'DEBUG' logger.set_log_level(log_level, log_to_stdout=True) db_params = anchore_manager.cli.utils.make_db_params( db_connect=db_connect, db_use_ssl=db_use_ssl, db_timeout=db_timeout, db_connect_timeout=db_connect_timeout) db_params = anchore_manager.cli.utils.connect_database( config, db_params, db_retries=db_retries) except Exception as err: raise err except Exception as err: logger.error( anchore_manager.cli.utils.format_error_output( config, 'db', {}, err)) sys.exit(2)
def makeService(self, options): # this works, consider better logging in non-twistd way: https://docs.python.org/2/howto/logging.html#logging-advanced-tutorial #logging.basicConfig(format='%(asctime)-15s %(levelname)s %(filename)s:%(funcName)s %(message)s', filename="/tmp/"+self.tapname+".log", level='DEBUG') #_logger = logging.getLogger(__name__) #_logger.info("MEHINFO") #_logger.debug("MEHDEBUG") slist = [] try: configfile = os.path.join(options['config'], 'config.yaml') config = localconfig.read_config(configfile=configfile) except Exception as err: log.err("cannot load local configuration: " + str(err)) raise err log_level = 'INFO' log_to_db = False if 'log_level' in config: log_level = config['log_level'] if 'log_to_db' in config: log_to_db = config['log_to_db'] try: logger.set_log_level(log_level, log_to_db=log_to_db) except Exception as err: log.err("exception while initializing logger - exception: " + str(err)) logger.set_log_level('INFO') slist = self.servicenames try: config_services = config['services'] isEnabled = False for sname in slist: if config_services[sname]['enabled']: isEnabled = True break if not isEnabled: log.err("no services in list (" + str(self.servicenames) + ") are enabled in configuration file: shutting down") sys.exit(0) except Exception as err: log.err( "error checking for enabled services, check config file - exception: " + str(err)) raise Exception( "error checking for enabled services, check config file - exception: " + str(err)) r = anchore_engine.services.common.makeService(slist, options) #observer = log.PythonLoggingObserver(loggerName=__name__) #observer.start() #_logger = logging.getLogger() #_logger.debug("GARGLE") return (r)
def objectstorage(ctx_config, db_connect, db_use_ssl, db_retries, db_timeout, db_connect_timeout): global config config = ctx_config try: # do some DB connection/pre-checks here try: log_level = 'INFO' if config['debug']: log_level = 'DEBUG' logger.set_log_level(log_level, log_to_stdout=True) # Use db connection from the config file db_params = utils.make_db_params( db_connect=db_connect, db_use_ssl=db_use_ssl, db_timeout=db_timeout, db_connect_timeout=db_connect_timeout) db_params = utils.connect_database(config, db_params, db_retries=db_retries) except Exception as err: raise err except Exception as err: logger.error( utils.format_error_output(config, 'objectstorage', {}, err)) sys.exit(2)
def archivestorage(ctx_config , configfile, db_connect, db_use_ssl, db_retries, db_timeout, db_connect_timeout): global config, localconfig config = ctx_config try: # do some DB connection/pre-checks here try: localconfig = { 'services': { 'catalog': { 'use_db': True, 'archive_driver': 'db', 'archive_data_dir': None } } } log_level = 'INFO' if config['debug']: log_level = 'DEBUG' logger.set_log_level(log_level, log_to_stdout=True) # Use db connection from the config file db_params = utils.make_db_params(db_connect=db_connect, db_use_ssl=db_use_ssl, db_timeout=db_timeout, db_connect_timeout=db_connect_timeout) db_params = utils.connect_database(config, db_params, db_retries=db_retries) except Exception as err: raise err except Exception as err: logger.error(utils.format_error_output(config, 'archivestorage', {}, err)) sys.exit(2)
def log_config(config: dict): """ Initialize some logging for the cli ops :param config: :return: """ global _log_config if config['debug']: logging.basicConfig(level=logging.DEBUG) _log_config.update(config) try: log_level = 'INFO' if config['debug']: log_level = 'DEBUG' logger.set_log_level(log_level, log_to_stdout=True) except Exception as err: logger.error(format_error_output(config, 'service', {}, err)) sys.exit(ExitCode.failed.value)
def makeService(self, options): slist = [] try: configfile = os.path.join(options['config'], 'config.yaml') config = localconfig.read_config(configfile=configfile) except Exception as err: log.err("cannot load local configuration: " + str(err)) raise err log_level = 'INFO' log_to_db = False if 'log_level' in config: log_level = config['log_level'] if 'log_to_db' in config: log_to_db = config['log_to_db'] slist = self.servicenames try: config_services = config['services'] isEnabled = False for sname in slist: if 'log_level' in config_services[sname]: log_level = config_services[sname]['log_level'] if config_services[sname]['enabled']: isEnabled = True break if not isEnabled: log.err("no services in list (" + str(self.servicenames) + ") are enabled in configuration file: shutting down") sys.exit(0) except Exception as err: log.err( "error checking for enabled services, check config file - exception: " + str(err)) raise Exception( "error checking for enabled services, check config file - exception: " + str(err)) try: logger.set_log_level(log_level, log_to_db=log_to_db) except Exception as err: log.err("exception while initializing logger - exception: " + str(err)) logger.set_log_level('INFO') r = anchore_engine.services.common.makeService(slist, options, bootstrap_db=True, bootstrap_users=True) return (r)
def _init_logging(self): if self.configuration is None: log.err('No configuration found to initialize logging for. Expecting other errors, so setting log level to DEBUG') log_level = 'DEBUG' log_to_db = False else: try: service_config = self.configuration['services'][self.service_cls.__service_name__] log_level = service_config.get('log_level', self.configuration.get('log_level', 'INFO')) log_to_db = self.configuration.get('log_to_db', False) except Exception as err: log.err("error checking for enabled services, check config file - exception: " + str(err)) raise Exception("error checking for enabled services, check config file - exception: " + str(err)) logger.set_log_level(log_level, log_to_db=log_to_db)
def analyzers(ctx_config): global config, module config = localconfig.load_config(configdir=ctx_config['configdir']) try: # do some DB connection/pre-checks here try: log_level = 'INFO' if ctx_config['debug']: log_level = 'DEBUG' logger.set_log_level(log_level, log_to_stdout=True) except Exception as err: raise err except Exception as err: logger.error(anchore_manager.cli.utils.format_error_output(ctx_config, 'db', {}, err)) sys.exit(2)
def service(ctx_config): global config, module config = ctx_config try: # do some DB connection/pre-checks here try: log_level = 'INFO' if config['debug']: log_level = 'DEBUG' logger.set_log_level(log_level, log_to_stdout=True) except Exception as err: raise err except Exception as err: print anchore_manager.cli.utils.format_error_output( config, 'service', {}, err) sys.exit(2)
def _init_logging(self): if self.global_configuration is None: log.err( "No configuration found to initialize logging for. Expecting other errors, so setting log level to DEBUG" ) log_level = "DEBUG" log_to_db = False else: try: service_config = self.global_configuration["services"][ self.service_cls.__service_name__] log_level = service_config.get( "log_level", self.global_configuration.get("log_level", "INFO")) log_to_db = self.global_configuration.get("log_to_db", False) except Exception as err: log.err( "error checking for enabled services, check config file - exception: " + str(err)) raise Exception( "error checking for enabled services, check config file - exception: " + str(err)) logger.set_log_level(log_level, log_to_db=log_to_db)
""" Tests for the archive subsystem. Tests for each driver are here. """ import unittest import os from anchore_engine.subsys.object_store.drivers.filesystem import FilesystemObjectStorageDriver from anchore_engine.subsys.object_store.drivers.rdbms import DbDriver from anchore_engine.subsys.object_store.drivers.s3 import S3ObjectStorageDriver from anchore_engine.subsys.object_store.drivers.swift import SwiftObjectStorageDriver from anchore_engine.subsys import logger logger.set_log_level('INFO') logger.enable_bootstrap_logging() test_s3_key = os.getenv('TEST_ACCESS_KEY') test_s3_secret_key = os.getenv('TEST_SECRET_KEY') class TestArchiveDriverMixin(object): """ Expected to be mixed into a unittest.TestCase object """ driver_cls = None driver_config = None test_obj1 = 'testingdata123' test_json_obj1 = {'key1': 'value1'} test_user1 = 'testuser1' test_user2 = 'testuser2' test_bucket1 = 'testbucket1'