fix some issues with flags and logging
This commit is contained in:
@@ -38,6 +38,8 @@ from nova import version
|
|||||||
from nova import wsgi
|
from nova import wsgi
|
||||||
|
|
||||||
|
|
||||||
|
LOG = logging.getLogger('nova.service')
|
||||||
|
|
||||||
FLAGS = flags.FLAGS
|
FLAGS = flags.FLAGS
|
||||||
flags.DEFINE_integer('report_interval', 10,
|
flags.DEFINE_integer('report_interval', 10,
|
||||||
'seconds between nodes reporting state to datastore',
|
'seconds between nodes reporting state to datastore',
|
||||||
@@ -58,18 +60,19 @@ flags.DEFINE_string('api_paste_config', "api-paste.ini",
|
|||||||
class Launcher(object):
|
class Launcher(object):
|
||||||
"""Launch one or more services and wait for them to complete."""
|
"""Launch one or more services and wait for them to complete."""
|
||||||
|
|
||||||
def __init__(self, _flags=None):
|
def __init__(self, flags=None):
|
||||||
"""Initialize the service launcher.
|
"""Initialize the service launcher.
|
||||||
|
|
||||||
:param _flags: Flags to use for the services we're going to load.
|
:param flags: Flags to use for the services we're going to load.
|
||||||
:returns: None
|
:returns: None
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self._services = []
|
self._services = []
|
||||||
self._version = version.version_string_with_vcs()
|
self._version = version.version_string_with_vcs()
|
||||||
self._flags = _flags
|
self._flags = flags
|
||||||
self._setup_logging()
|
|
||||||
self._setup_flags()
|
self._setup_flags()
|
||||||
|
self._setup_logging()
|
||||||
|
self._log_flags()
|
||||||
|
|
||||||
def _setup_logging(self):
|
def _setup_logging(self):
|
||||||
"""Logic to ensure logging is going to work correctly for services.
|
"""Logic to ensure logging is going to work correctly for services.
|
||||||
@@ -86,13 +89,19 @@ class Launcher(object):
|
|||||||
:returns: None
|
:returns: None
|
||||||
|
|
||||||
"""
|
"""
|
||||||
utils.default_flagfile()
|
utils.default_flagfile(args=self._flags)
|
||||||
FLAGS(self._flags or [])
|
FLAGS(self._flags or [])
|
||||||
flags.DEFINE_flag(flags.HelpFlag())
|
flags.DEFINE_flag(flags.HelpFlag())
|
||||||
flags.DEFINE_flag(flags.HelpshortFlag())
|
flags.DEFINE_flag(flags.HelpshortFlag())
|
||||||
flags.DEFINE_flag(flags.HelpXMLFlag())
|
flags.DEFINE_flag(flags.HelpXMLFlag())
|
||||||
FLAGS.ParseNewFlags()
|
FLAGS.ParseNewFlags()
|
||||||
|
|
||||||
|
def _log_flags(self):
|
||||||
|
LOG.debug(_("Full set of FLAGS:"))
|
||||||
|
for flag in FLAGS:
|
||||||
|
flag_get = FLAGS.get(flag, None)
|
||||||
|
LOG.debug("%(flag)s : %(flag_get)s" % locals())
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def run_service(service):
|
def run_service(service):
|
||||||
"""Start and wait for a service to finish.
|
"""Start and wait for a service to finish.
|
||||||
|
@@ -226,8 +226,10 @@ def novadir():
|
|||||||
return os.path.abspath(nova.__file__).split('nova/__init__.pyc')[0]
|
return os.path.abspath(nova.__file__).split('nova/__init__.pyc')[0]
|
||||||
|
|
||||||
|
|
||||||
def default_flagfile(filename='nova.conf'):
|
def default_flagfile(filename='nova.conf', args=None):
|
||||||
for arg in sys.argv:
|
if args is None:
|
||||||
|
args = sys.argv
|
||||||
|
for arg in args:
|
||||||
if arg.find('flagfile') != -1:
|
if arg.find('flagfile') != -1:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
@@ -239,8 +241,8 @@ def default_flagfile(filename='nova.conf'):
|
|||||||
filename = "./nova.conf"
|
filename = "./nova.conf"
|
||||||
if not os.path.exists(filename):
|
if not os.path.exists(filename):
|
||||||
filename = '/etc/nova/nova.conf'
|
filename = '/etc/nova/nova.conf'
|
||||||
flagfile = ['--flagfile=%s' % filename]
|
flagfile = '--flagfile=%s' % filename
|
||||||
sys.argv = sys.argv[:1] + flagfile + sys.argv[1:]
|
args.insert(1, flagfile)
|
||||||
|
|
||||||
|
|
||||||
def debug(arg):
|
def debug(arg):
|
||||||
|
Reference in New Issue
Block a user