Use LOG.error to record log when initializing LOG

Delete the directory "scheduler" under /etc/freezer/, start
freezer-scheduler, print the error info as follow:
No handlers could be found for logger "freezer.scheduler.arguments"

In the process of initializing oslo_log, _LOG.error was used to
record error info. Before the initialization is finished, the
_LOG.error can't be used to record log info.

Use freezer_utils.create_dir() to check if the directory exist or
not, if not, will create the directory. If the error occurs, The
log info will be wrote into log file.

Change-Id: I19d7b6efd52af66142c01e017e29db3792ef0398
Closes-Bug: #1627245
This commit is contained in:
Shangzhong Zhu 2016-09-26 19:14:06 +08:00
parent 12148b8176
commit 16ff90ce06
2 changed files with 2 additions and 9 deletions

View File

@ -25,7 +25,6 @@ from oslo_config import cfg
from oslo_log import log
CONF = cfg.CONF
_LOG = log.getLogger(__name__)
if winutils.is_windows():
DEFAULT_FREEZER_SCHEDULER_CONF_D = r'C:\.freezer\scheduler\conf.d'
@ -51,14 +50,6 @@ def add_filter():
def get_common_opts():
scheduler_conf_d = os.environ.get('FREEZER_SCHEDULER_CONF_D',
DEFAULT_FREEZER_SCHEDULER_CONF_D)
if not os.path.exists(DEFAULT_FREEZER_SCHEDULER_CONF_D):
try:
os.makedirs(DEFAULT_FREEZER_SCHEDULER_CONF_D)
except OSError as err:
_LOG.error('OS error: {0}'.format(err))
except IOError:
_LOG.error('Cannot create the directory {0}'
.format(scheduler_conf_d))
_COMMON = [
cfg.StrOpt('job',

View File

@ -30,6 +30,7 @@ from freezer.scheduler import arguments
from freezer.scheduler import scheduler_job
from freezer.scheduler import shell
from freezer.scheduler import utils
from freezer.utils import utils as freezer_utils
from freezer.utils import winutils
@ -252,6 +253,7 @@ def main():
print('ERROR {0}'.format(e))
return 70 # os.EX_SOFTWARE
freezer_utils.create_dir(CONF.jobs_dir)
freezer_scheduler = FreezerScheduler(apiclient=apiclient,
interval=int(CONF.interval),
job_path=CONF.jobs_dir)