cleanup openstack-common.conf and sync updated files

Periodic update of latest files from oslo-incubator

Change-Id: Ie7eb02e4e9277c18abfb438b6cf710e0aa426b15
This commit is contained in:
Davanum Srinivas 2015-06-07 10:10:18 -04:00 committed by Davanum Srinivas (dims)
parent f0a409f168
commit 0e48d9d203
9 changed files with 32 additions and 39 deletions

View File

@ -39,7 +39,7 @@ from stevedore import driver
def _get_oslo_configs(): def _get_oslo_configs():
"""Returns the oslo.config options to register.""" """Returns the oslo config options to register."""
# NOTE(flaper87): Oslo config should be # NOTE(flaper87): Oslo config should be
# optional. Instead of doing try / except # optional. Instead of doing try / except
# at the top of this file, lets import cfg # at the top of this file, lets import cfg

View File

@ -143,7 +143,7 @@ def initialize_if_enabled():
# listen(). In any case, pull the port number out here. # listen(). In any case, pull the port number out here.
port = sock.getsockname()[1] port = sock.getsockname()[1]
LOG.info( LOG.info(
_LI('Eventlet backdoor listening on %(port)s for process %(pid)d') % _LI('Eventlet backdoor listening on %(port)s for process %(pid)d'),
{'port': port, 'pid': os.getpid()} {'port': port, 'pid': os.getpid()}
) )
eventlet.spawn_n(eventlet.backdoor.backdoor_server, sock, eventlet.spawn_n(eventlet.backdoor.backdoor_server, sock,

View File

@ -61,7 +61,7 @@ def read_cached_file(filename, force_reload=False):
cache_info = _FILE_CACHE.setdefault(filename, {}) cache_info = _FILE_CACHE.setdefault(filename, {})
if not cache_info or mtime > cache_info.get('mtime', 0): if not cache_info or mtime > cache_info.get('mtime', 0):
LOG.debug("Reloading cached file %s" % filename) LOG.debug("Reloading cached file %s", filename)
with open(filename) as fap: with open(filename) as fap:
cache_info['data'] = fap.read() cache_info['data'] = fap.read()
cache_info['mtime'] = mtime cache_info['mtime'] = mtime

View File

@ -84,9 +84,9 @@ class FixedIntervalLoopingCall(LoopingCallBase):
break break
delay = end - start - interval delay = end - start - interval
if delay > 0: if delay > 0:
LOG.warn(_LW('task %(func_name)r run outlasted ' LOG.warning(_LW('task %(func_name)r run outlasted '
'interval by %(delay).2f sec'), 'interval by %(delay).2f sec'),
{'func_name': self.f, 'delay': delay}) {'func_name': self.f, 'delay': delay})
greenthread.sleep(-delay if delay < 0 else 0) greenthread.sleep(-delay if delay < 0 else 0)
except LoopingCallDone as e: except LoopingCallDone as e:
self.stop() self.stop()

View File

@ -222,11 +222,11 @@ class PeriodicTasks(object):
try: try:
task(self, context) task(self, context)
except Exception as e: except Exception:
if raise_on_error: if raise_on_error:
raise raise
LOG.exception(_LE("Error during %(full_task_name)s: %(e)s"), LOG.exception(_LE("Error during %(full_task_name)s"),
{"full_task_name": full_task_name, "e": e}) {"full_task_name": full_task_name})
time.sleep(0) time.sleep(0)
return idle_for return idle_for

View File

@ -18,6 +18,7 @@
"""Generic Node base class for all workers that run on hosts.""" """Generic Node base class for all workers that run on hosts."""
import errno import errno
import io
import logging import logging
import os import os
import random import random
@ -25,14 +26,6 @@ import signal
import sys import sys
import time import time
try:
# Importing just the symbol here because the io module does not
# exist in Python 2.6.
from io import UnsupportedOperation # noqa
except ImportError:
# Python 2.6
UnsupportedOperation = None
import eventlet import eventlet
from eventlet import event from eventlet import event
from oslo_config import cfg from oslo_config import cfg
@ -59,15 +52,15 @@ def _is_daemon():
# http://www.gnu.org/software/bash/manual/bashref.html#Job-Control-Basics # http://www.gnu.org/software/bash/manual/bashref.html#Job-Control-Basics
try: try:
is_daemon = os.getpgrp() != os.tcgetpgrp(sys.stdout.fileno()) is_daemon = os.getpgrp() != os.tcgetpgrp(sys.stdout.fileno())
except io.UnsupportedOperation:
# Could not get the fileno for stdout, so we must be a daemon.
is_daemon = True
except OSError as err: except OSError as err:
if err.errno == errno.ENOTTY: if err.errno == errno.ENOTTY:
# Assume we are a daemon because there is no terminal. # Assume we are a daemon because there is no terminal.
is_daemon = True is_daemon = True
else: else:
raise raise
except UnsupportedOperation:
# Could not get the fileno for stdout, so we must be a daemon.
is_daemon = True
return is_daemon return is_daemon
@ -234,7 +227,7 @@ class ProcessLauncher(object):
def _pipe_watcher(self): def _pipe_watcher(self):
# This will block until the write end is closed when the parent # This will block until the write end is closed when the parent
# dies unexpectedly # dies unexpectedly
self.readpipe.read() self.readpipe.read(1)
LOG.info(_LI('Parent process has died unexpectedly, exiting')) LOG.info(_LI('Parent process has died unexpectedly, exiting'))
@ -242,15 +235,12 @@ class ProcessLauncher(object):
def _child_process_handle_signal(self): def _child_process_handle_signal(self):
# Setup child signal handlers differently # Setup child signal handlers differently
def _sigterm(*args):
signal.signal(signal.SIGTERM, signal.SIG_DFL)
raise SignalExit(signal.SIGTERM)
def _sighup(*args): def _sighup(*args):
signal.signal(signal.SIGHUP, signal.SIG_DFL) signal.signal(signal.SIGHUP, signal.SIG_DFL)
raise SignalExit(signal.SIGHUP) raise SignalExit(signal.SIGHUP)
signal.signal(signal.SIGTERM, _sigterm) # Parent signals with SIGTERM when it wants us to go away.
signal.signal(signal.SIGTERM, signal.SIG_DFL)
if _sighup_supported(): if _sighup_supported():
signal.signal(signal.SIGHUP, _sighup) signal.signal(signal.SIGHUP, _sighup)
# Block SIGINT and let the parent send us a SIGTERM # Block SIGINT and let the parent send us a SIGTERM

View File

@ -17,6 +17,7 @@ import threading
import eventlet import eventlet
from eventlet import greenpool from eventlet import greenpool
from neutron.openstack.common._i18n import _LE
from neutron.openstack.common import loopingcall from neutron.openstack.common import loopingcall
@ -98,15 +99,15 @@ class ThreadGroup(object):
x.stop() x.stop()
except eventlet.greenlet.GreenletExit: except eventlet.greenlet.GreenletExit:
pass pass
except Exception as ex: except Exception:
LOG.exception(ex) LOG.exception(_LE('Error stopping thread.'))
def stop_timers(self): def stop_timers(self):
for x in self.timers: for x in self.timers:
try: try:
x.stop() x.stop()
except Exception as ex: except Exception:
LOG.exception(ex) LOG.exception(_LE('Error stopping timer.'))
self.timers = [] self.timers = []
def stop(self, graceful=False): def stop(self, graceful=False):
@ -132,8 +133,8 @@ class ThreadGroup(object):
x.wait() x.wait()
except eventlet.greenlet.GreenletExit: except eventlet.greenlet.GreenletExit:
pass pass
except Exception as ex: except Exception:
LOG.exception(ex) LOG.exception(_LE('Error waiting on ThreadGroup.'))
current = threading.current_thread() current = threading.current_thread()
# Iterate over a copy of self.threads so thread_done doesn't # Iterate over a copy of self.threads so thread_done doesn't

View File

@ -3,13 +3,15 @@
module=cache module=cache
module=eventlet_backdoor module=eventlet_backdoor
module=fileutils module=fileutils
module=install_venv_common # The following module is not synchronized by update.sh script since it's
# located in tools/ not neutron/openstack/common/. Left here to make it
# explicit that we still ship code from incubator here
#module=install_venv_common
module=loopingcall module=loopingcall
module=periodic_task module=periodic_task
module=service module=service
module=systemd module=systemd
module=threadgroup module=threadgroup
module=uuidutils
# The base module to hold the copy of openstack.common # The base module to hold the copy of openstack.common
base=neutron base=neutron

View File

@ -112,12 +112,12 @@ class InstallVenv(object):
print('Installing dependencies with pip (this can take a while)...') print('Installing dependencies with pip (this can take a while)...')
# First things first, make sure our venv has the latest pip and # First things first, make sure our venv has the latest pip and
# setuptools. # setuptools and pbr
self.pip_install('pip>=1.3') self.pip_install('pip>=1.4')
self.pip_install('setuptools') self.pip_install('setuptools')
self.pip_install('pbr')
self.pip_install('-r', self.requirements) self.pip_install('-r', self.requirements, '-r', self.test_requirements)
self.pip_install('-r', self.test_requirements)
def parse_args(self, argv): def parse_args(self, argv):
"""Parses command-line arguments.""" """Parses command-line arguments."""
@ -125,7 +125,7 @@ class InstallVenv(object):
parser.add_option('-n', '--no-site-packages', parser.add_option('-n', '--no-site-packages',
action='store_true', action='store_true',
help="Do not inherit packages from global Python " help="Do not inherit packages from global Python "
"install") "install.")
return parser.parse_args(argv[1:])[0] return parser.parse_args(argv[1:])[0]