예제 #1
0
def log_slow_calls(f):
    """
    Wrapper to print duration when call takes > 1s
    :param f: Function to wrap
    :return: Wrapped function
    """
    logger = LogHandler.get('extensions', name='etcdconfiguration')

    def new_function(*args, **kwargs):
        """
        Execute function
        :return: Function output
        """
        start = time.time()
        try:
            return f(*args, **kwargs)
        finally:
            key_info = ''
            if 'key' in kwargs:
                key_info = ' (key: {0})'.format(kwargs['key'])
            elif len(args) > 0:
                key_info = ' (key: {0})'.format(args[0])
            duration = time.time() - start
            if duration > 1:
                logger.warning('Call to {0}{1} took {2}s'.format(f.__name__, key_info, duration))
    new_function.__name__ = f.__name__
    new_function.__module__ = f.__module__
    return new_function
예제 #2
0
 def setup_logging():
     """
     Configure logging
     :return: None
     """
     if app.debug is False:
         _logger = LogHandler.get('asd-manager', name='flask')
         app.logger.handlers = []
         app.logger.addHandler(_logger.handler)
         app.logger.propagate = False
         wz_logger = logging.getLogger('werkzeug')
         wz_logger.handlers = []
         wz_logger.addHandler(_logger.handler)
         wz_logger.propagate = False
예제 #3
0
'''Arakoon Nursery support'''

#pylint: disable=R0903
# R0903: Too few public methods

import operator

try:
    import cStringIO as StringIO
except ImportError:
    import StringIO

from source.tools.pyrakoon.pyrakoon import protocol, utils
from source.tools.log_handler import LogHandler

LOGGER = LogHandler.get('arakoon_client', 'pyrakoon')

class NurseryConfigType(protocol.Type):
    '''NurseryConfig type'''

    def check(self, value):
        raise NotImplementedError('NurseryConfig can\'t be checked')

    def serialize(self, value):
        raise NotImplementedError('NurseryConfig can\'t be serialized')

    def receive(self):
        buffer_receiver = protocol.STRING.receive()
        request = buffer_receiver.next() #pylint: disable=E1101

        while isinstance(request, protocol.Request):
예제 #4
0
    import json
    from source.tools.configuration.configuration import Configuration
    from source.tools.filemutex import file_mutex
    from source.tools.localclient import LocalClient
    from source.tools.log_handler import LogHandler
    from source.tools.services.service import ServiceManager
    from source.tools.toolbox import Toolbox

    with open(Toolbox.BOOTSTRAP_FILE, 'r') as bootstrap_file:
        NODE_ID = json.load(bootstrap_file)['node_id']
        os.environ['ASD_NODE_ID'] = NODE_ID

    CONFIG_ROOT = '/ovs/alba/asdnodes/{0}/config'.format(NODE_ID)
    CURRENT_VERSION = 1

    _logger = LogHandler.get('asd-manager', name='post-update')

    _logger.info('Executing post-update logic of package openvstorage-sdm')
    with file_mutex('package_update_pu'):
        client = LocalClient('127.0.0.1', username='******')

        key = '{0}/versions'.format(CONFIG_ROOT)
        version = Configuration.get(key) if Configuration.exists(key) else 0

        service_name = 'asd-manager'
        if ServiceManager.has_service(service_name, client) and ServiceManager.get_service_status(service_name, client)[0] is True:
            _logger.info('Stopping asd-manager service')
            ServiceManager.stop_service(service_name, client)

        if version < CURRENT_VERSION:
            try:
예제 #5
0
 def __init__(self):
     """
     Dummy init method
     """
     self._logger = LogHandler.get('extensions', name='watcher')