Merge pull request #151 from harlowja/master
Fix missing logger + traceback verbosity
This commit is contained in:
commit
8fd6b8a77b
@ -111,6 +111,14 @@ class ComponentBase(object):
|
||||
def __str__(self):
|
||||
return "%s: %s" % (self.__class__.__name__, self.component_name)
|
||||
|
||||
def _get_params(self):
|
||||
return {
|
||||
'COMPONENT_DIR': self.component_dir,
|
||||
'APP_DIR': self.app_dir,
|
||||
'CONFIG_DIR': self.cfg_dir,
|
||||
'TRACE_DIR': self.trace_dir,
|
||||
}
|
||||
|
||||
def known_subsystems(self):
|
||||
return set()
|
||||
|
||||
@ -204,13 +212,9 @@ class PkgInstallComponent(ComponentBase, PackageBasedComponentMixin):
|
||||
return down.GitDownloader(self.distro, uri, target_dir, branch).download()
|
||||
|
||||
def _get_param_map(self, config_fn):
|
||||
return {
|
||||
'COMPONENT_DIR': self.component_dir,
|
||||
'APP_DIR': self.app_dir,
|
||||
'CONFIG_DIR': self.cfg_dir,
|
||||
'TRACE_DIR': self.trace_dir,
|
||||
'CONFIG_FN': config_fn,
|
||||
}
|
||||
mp = ComponentBase._get_params(self)
|
||||
mp['CONFIG_FN'] = config_fn or ''
|
||||
return mp
|
||||
|
||||
def _get_packages(self):
|
||||
pkg_list = list(self.packages)
|
||||
@ -444,7 +448,8 @@ class PkgUninstallComponent(ComponentBase, PackageBasedComponentMixin):
|
||||
pkgs = self.tracereader.packages_installed()
|
||||
if pkgs:
|
||||
pkg_names = set([p['name'] for p in pkgs])
|
||||
utils.log_iterable(pkg_names, header="Potentially removing %s packages" % (len(pkg_names)))
|
||||
utils.log_iterable(pkg_names, logger=LOG,
|
||||
header="Potentially removing %s packages" % (len(pkg_names)))
|
||||
which_removed = set()
|
||||
with utils.progress_bar(UNINSTALL_TITLE, len(pkgs), reverse=True) as p_bar:
|
||||
for (i, p) in enumerate(pkgs):
|
||||
@ -529,12 +534,9 @@ class ProgramRuntime(ComponentBase):
|
||||
return list()
|
||||
|
||||
def _get_param_map(self, app_name):
|
||||
return {
|
||||
'COMPONENT_DIR': self.component_dir,
|
||||
'APP_DIR': self.app_dir,
|
||||
'CONFIG_DIR': self.cfg_dir,
|
||||
'TRACE_DIR': self.trace_dir,
|
||||
}
|
||||
mp = ComponentBase._get_params(self)
|
||||
mp['APP_NAME'] = app_name or ''
|
||||
return mp
|
||||
|
||||
def pre_start(self):
|
||||
pass
|
||||
|
@ -86,15 +86,16 @@ class DBInstaller(comp.PkgInstallComponent):
|
||||
def _get_param_map(self, config_fn):
|
||||
# This dictionary will be used for parameter replacement
|
||||
# In pre-install and post-install sections
|
||||
host_ip = self.cfg.get('host', 'ip')
|
||||
out = {
|
||||
mp = comp.PkgInstallComponent._get_param_map(self, config_fn)
|
||||
adds = {
|
||||
'PASSWORD': self.pw_gen.get_password("sql", PASSWORD_PROMPT),
|
||||
'BOOT_START': ("%s" % (True)).lower(),
|
||||
'USER': self.cfg.getdefaulted("db", "sql_user", 'root'),
|
||||
'SERVICE_HOST': host_ip,
|
||||
'HOST_IP': host_ip
|
||||
'SERVICE_HOST': self.cfg.get('host', 'ip'),
|
||||
'HOST_IP': self.cfg.get('host', 'ip'),
|
||||
}
|
||||
return out
|
||||
mp.update(adds)
|
||||
return mp
|
||||
|
||||
def warm_configs(self):
|
||||
for key, prompt in WARMUP_PWS:
|
||||
|
@ -74,13 +74,17 @@ COWS['unhappy'] = r'''
|
||||
'''
|
||||
|
||||
|
||||
def configure_logging(verbosity_level=1, dry_run=False):
|
||||
def construct_log_level(verbosity_level, dry_run=False):
|
||||
log_level = logging.INFO
|
||||
if verbosity_level >= 3:
|
||||
log_level = logging.DEBUG
|
||||
elif verbosity_level == 2 or dry_run:
|
||||
log_level = logging.AUDIT
|
||||
return log_level
|
||||
|
||||
# Debug by default
|
||||
|
||||
def configure_logging(log_level):
|
||||
root_logger = logging.getLogger().logger
|
||||
root_logger.setLevel(logging.DEBUG)
|
||||
|
||||
# Set our pretty logger
|
||||
console_logger = logging.StreamHandler(sys.stdout)
|
||||
console_format = '%(levelname)s: @%(name)s : %(message)s'
|
||||
if sh.in_terminal():
|
||||
@ -88,13 +92,6 @@ def configure_logging(verbosity_level=1, dry_run=False):
|
||||
else:
|
||||
console_logger.setFormatter(logging.Formatter(console_format))
|
||||
root_logger.addHandler(console_logger)
|
||||
|
||||
# Adjust logging verbose level based on the command line switch.
|
||||
log_level = logging.INFO
|
||||
if verbosity_level >= 3:
|
||||
log_level = logging.DEBUG
|
||||
elif verbosity_level == 2 or dry_run:
|
||||
log_level = logging.AUDIT
|
||||
root_logger.setLevel(log_level)
|
||||
|
||||
|
||||
|
13
stack
13
stack
@ -18,7 +18,7 @@
|
||||
|
||||
import sys
|
||||
import time
|
||||
import traceback
|
||||
import traceback as tb
|
||||
|
||||
from devstack import cfg
|
||||
from devstack import cfg_helpers
|
||||
@ -179,9 +179,11 @@ def main():
|
||||
prog_name = sys.argv[0]
|
||||
|
||||
# Configure logging
|
||||
utils.configure_logging(args['verbosity'], args['dryrun'])
|
||||
log_level = utils.construct_log_level(args['verbosity'], args['dryrun'])
|
||||
utils.configure_logging(log_level)
|
||||
|
||||
LOG.debug("Command line options %s" % (args))
|
||||
LOG.debug("Log level is: %s" % (log_level))
|
||||
|
||||
# Will need root to setup openstack
|
||||
if not sh.got_root():
|
||||
@ -206,7 +208,12 @@ def main():
|
||||
return 0
|
||||
except Exception:
|
||||
utils.goodbye(False)
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
traceback = None
|
||||
if log_level <= logging.DEBUG:
|
||||
# See: http://docs.python.org/library/traceback.html
|
||||
traceback = sys.exc_traceback
|
||||
tb.print_exception(sys.exc_type, sys.exc_value,
|
||||
traceback, file=sys.stdout)
|
||||
return 1
|
||||
|
||||
|
||||
|
@ -31,7 +31,7 @@ if __name__ == "__main__":
|
||||
(options, args) = parser.parse_args()
|
||||
uris = options.uris or list()
|
||||
uri_sep = ",".join(uris)
|
||||
utils.configure_logging(3)
|
||||
utils.configure_logging(logging.DEBUG)
|
||||
config = cfg.StackConfigParser()
|
||||
config.add_section('img')
|
||||
config.set('img', 'image_urls', uri_sep)
|
||||
|
Loading…
Reference in New Issue
Block a user