Do not separately configure logging for alembic

Before this patch, when calling alembic commands (as done for db sync,
online migrations and the automatic sync when
[placement_database]/sync_on_startup is True) the env.py file would be
evaluated, clobbering the logging configuration already set in the
process. In the command line tools we didn't notice this because
there's not much logging, but when it happens in the web-service process
it means that while the process may start out logging at a DEBUG level
(if you asked for that) it would then stop once the db sync happened.

It turns out that we can remove the call to fileConfig in env.py and
get rid of the associated configuration settings in alembic.ini
we still get the behaviors we want from the placement-manage
and alembic command line tools.

Change-Id: Id9bc515cee71d629b605da015de39d1c9b0f8fc4
Story: 2005187
Task: 29932
This commit is contained in:
Chris Dent
2019-03-09 00:18:32 +00:00
parent 65da83aece
commit b24a1b973b
2 changed files with 0 additions and 80 deletions

View File

@@ -4,73 +4,3 @@
# path to migration scripts
script_location = %(here)s/alembic
# template used to generate migration files
# file_template = %%(rev)s_%%(slug)s
# timezone to use when rendering the date
# within the migration file as well as the filename.
# string value is passed to dateutil.tz.gettz()
# leave blank for localtime
# timezone =
# max length of characters to apply to the
# "slug" field
#truncate_slug_length = 40
# set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false
# set to 'true' to allow .pyc and .pyo files without
# a source .py file to be detected as revisions in the
# versions/ directory
# sourceless = false
# version location specification; this defaults
# to alembic/versions. When using multiple version
# directories, initial revisions must be specified with --version-path
# version_locations = %(here)s/bar %(here)s/bat alembic/versions
# the output encoding used when revision files
# are written from script.py.mako
# output_encoding = utf-8
# NOTE: this next line is commented out because it is set in
# CONF.placement_database.connection
#sqlalchemy.url = driver://user:pass@localhost/dbname
# Logging configuration
[loggers]
keys = root,sqlalchemy,alembic
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = WARN
handlers = console
qualname =
[logger_sqlalchemy]
level = WARN
handlers =
qualname = sqlalchemy.engine
[logger_alembic]
level = INFO
handlers =
qualname = alembic
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S

View File

@@ -12,7 +12,6 @@
from __future__ import with_statement
from logging.config import fileConfig
from alembic import context
from oslo_config import cfg
@@ -23,15 +22,6 @@ from placement.db.sqlalchemy import models
from placement import db_api as placement_db
# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config
# Interpret the config file for Python logging.
# This line sets up loggers basically.
fileConfig(config.config_file_name)
# add your model's MetaData object here
# for 'autogenerate' support
# from myapp import mymodel