コード例 #1
0
ファイル: db.py プロジェクト: bjwschaap/anchore-engine
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)
コード例 #2
0
    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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
    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)
コード例 #7
0
ファイル: twisted.py プロジェクト: bakalor/anchore-engine
    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)
コード例 #8
0
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)
コード例 #9
0
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)
コード例 #10
0
ファイル: twisted.py プロジェクト: erpujabaidya/AnchreScript
    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)
コード例 #11
0
"""
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'