Merge "Default log location failes for non-root users"

This commit is contained in:
Zuul 2019-01-10 15:53:41 +00:00 committed by Gerrit Code Review
commit 99ac720bf6
2 changed files with 30 additions and 34 deletions

View File

@ -20,7 +20,6 @@ import yaml
import paunch
from paunch import constants
from paunch import utils
@ -69,13 +68,8 @@ class Apply(command.Command):
return parser
def take_action(self, parsed_args):
# takes 1, or 2 if --verbose, or 4 - 5 if --debug
log_level = (self.app_args.verbose_level +
int(self.app_args.debug) * 3)
log_file = self.app_args.log_file or constants.LOG_FILE
self.log = utils.common.configure_logging(
__name__, log_level, log_file)
(self.log, log_file, log_level) = \
utils.common.configure_logging_from_args(__name__, self.app_args)
labels = collections.OrderedDict()
for l in parsed_args.labels:
k, v = l.split(('='), 1)
@ -127,12 +121,8 @@ class Cleanup(command.Command):
return parser
def take_action(self, parsed_args):
# takes 1, or 2 if --verbose, or 4 - 5 if --debug
log_level = (self.app_args.verbose_level +
int(self.app_args.debug) * 3)
log_file = self.app_args.log_file or constants.LOG_FILE
self.log = utils.common.configure_logging(
__name__, log_level, log_file)
(self.log, log_file, log_level) = \
utils.common.configure_logging_from_args(__name__, self.app_args)
paunch.cleanup(
parsed_args.config_id,
managed_by=parsed_args.managed_by,
@ -171,12 +161,8 @@ class Delete(command.Command):
return parser
def take_action(self, parsed_args):
# takes 1, or 2 if --verbose, or 4 - 5 if --debug
log_level = (self.app_args.verbose_level +
int(self.app_args.debug) * 3)
log_file = self.app_args.log_file or constants.LOG_FILE
self.log = utils.common.configure_logging(
__name__, log_level, log_file)
(self.log, log_file, log_level) = \
utils.common.configure_logging_from_args(__name__, self.app_args)
paunch.delete(
parsed_args.config_id,
parsed_args.managed_by,
@ -277,14 +263,8 @@ class Debug(command.Command):
return parser
def take_action(self, parsed_args):
# takes 1, or 2 if --verbose, or 4 - 5 if --debug
log_level = (self.app_args.verbose_level +
int(self.app_args.debug) * 3)
# Only log to a file if explicitely set via CLI args
log_file = self.app_args.log_file
self.log = utils.common.configure_logging(
__name__, log_level, log_file)
(self.log, log_file, log_level) = \
utils.common.configure_logging_from_args(__name__, self.app_args)
labels = collections.OrderedDict()
for l in parsed_args.labels:
k, v = l.split(('='), 1)
@ -355,12 +335,8 @@ class List(lister.Lister):
return parser
def take_action(self, parsed_args):
# takes 1, or 2 if --verbose, or 4 - 5 if --debug
log_level = (self.app_args.verbose_level +
int(self.app_args.debug) * 3)
log_file = self.app_args.log_file or constants.LOG_FILE
self.log = utils.common.configure_logging(
__name__, log_level, log_file)
(self.log, log_file, log_level) = \
utils.common.configure_logging_from_args(__name__, self.app_args)
configs = paunch.list(
parsed_args.managed_by,
cont_cmd=parsed_args.default_runtime,

View File

@ -14,8 +14,12 @@
# under the License.
import logging
import os
import sys
from paunch import constants
from paunch import utils
def configure_logging(name, level=3, log_file=None):
'''Mimic oslo_log default levels and formatting for the logger. '''
@ -44,3 +48,19 @@ def configure_logging(name, level=3, log_file=None):
log.propagate = False
return log
def configure_logging_from_args(name, app_args):
# takes 1, or 2 if --verbose, or 4 - 5 if --debug
log_level = (app_args.verbose_level +
int(app_args.debug) * 3)
# if executed as root log to specified file or default log file
if os.getuid() == 0:
log_file = app_args.log_file or constants.LOG_FILE
else:
log_file = app_args.log_file
log = utils.common.configure_logging(
__name__, log_level, log_file)
return (log, log_file, log_level)