From 6808a3468dd157f9f0676f972aea54add4e33063 Mon Sep 17 00:00:00 2001 From: "Dr. Jens Harbott" Date: Mon, 20 Jan 2020 15:52:33 +0000 Subject: [PATCH] Clean up remainders of USE_SYSTEMD and logging setup We dropped the ability to override USE_SYSTEMD to False when we deleted screen support in [0], so we can also clean up any conditionals based on it. Also clean up the logging setup functions, dropping local vars for parameters that we don't actually support anymore. [0] I8c27182f60b0f5310b3a8bf5feb02beb7ffbb26a Change-Id: I5cbce9f2c42e111761e8689447b3f8cbb7ea2eb5 --- clean.sh | 10 ++++------ functions | 43 ++++++++++++++++--------------------------- stack.sh | 25 ++++++++++--------------- stackrc | 4 +--- 4 files changed, 31 insertions(+), 51 deletions(-) diff --git a/clean.sh b/clean.sh index d6c6b40608..685a719cfb 100755 --- a/clean.sh +++ b/clean.sh @@ -123,12 +123,10 @@ if [[ -n "$LOGDIR" ]] && [[ -d "$LOGDIR" ]]; then sudo rm -rf $LOGDIR fi -# Clean out the systemd user unit files if systemd was used. -if [[ "$USE_SYSTEMD" = "True" ]]; then - sudo find $SYSTEMD_DIR -type f -name '*devstack@*service' -delete - # Make systemd aware of the deletion. - $SYSTEMCTL daemon-reload -fi +# Clean out the systemd unit files. +sudo find $SYSTEMD_DIR -type f -name '*devstack@*service' -delete +# Make systemd aware of the deletion. +$SYSTEMCTL daemon-reload # Clean up venvs DIRS_TO_CLEAN="$WHEELHOUSE ${PROJECT_VENV[@]} .config/openstack" diff --git a/functions b/functions index 8ea634e753..6da6bc52fa 100644 --- a/functions +++ b/functions @@ -635,40 +635,29 @@ function vercmp { # This sets up defaults we like in devstack for logging for tracking # down issues, and makes sure everything is done the same between # projects. +# NOTE(jh): Historically this function switched between three different +# functions: setup_systemd_logging, setup_colorized_logging and +# setup_standard_logging_identity. Since we always run with systemd now, +# this could be cleaned up, but the other functions may still be in use +# by plugins. Since deprecations haven't worked in the past, we'll just +# leave them in place. function setup_logging { - local conf_file=$1 - local other_cond=${2:-"False"} - if [[ "$USE_SYSTEMD" == "True" ]]; then - setup_systemd_logging $conf_file - elif [ "$LOG_COLOR" == "True" ] && [ "$SYSLOG" == "False" ] && [ "$other_cond" == "False" ]; then - setup_colorized_logging $conf_file - else - setup_standard_logging_identity $conf_file - fi + setup_systemd_logging $1 } # This function sets log formatting options for colorizing log # output to stdout. It is meant to be called by lib modules. -# The last two parameters are optional and can be used to specify -# non-default value for project and user format variables. -# Defaults are respectively 'project_name' and 'user_name' -# -# setup_colorized_logging something.conf SOMESECTION function setup_colorized_logging { local conf_file=$1 - local conf_section="DEFAULT" - local project_var="project_name" - local user_var="user_name" # Add color to logging output - iniset $conf_file $conf_section logging_context_format_string "%(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [%(request_id)s %("$project_var")s %("$user_var")s%(color)s] %(instance)s%(color)s%(message)s" - iniset $conf_file $conf_section logging_default_format_string "%(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [-%(color)s] %(instance)s%(color)s%(message)s" - iniset $conf_file $conf_section logging_debug_format_suffix "from (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d" - iniset $conf_file $conf_section logging_exception_prefix "%(color)s%(asctime)s.%(msecs)03d TRACE %(name)s %(instance)s" + iniset $conf_file DEFAULT logging_context_format_string "%(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [%(request_id)s %(project_name)s %(user_name)s%(color)s] %(instance)s%(color)s%(message)s" + iniset $conf_file DEFAULT logging_default_format_string "%(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [-%(color)s] %(instance)s%(color)s%(message)s" + iniset $conf_file DEFAULT logging_debug_format_suffix "from (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d" + iniset $conf_file DEFAULT logging_exception_prefix "%(color)s%(asctime)s.%(msecs)03d TRACE %(name)s %(instance)s" } function setup_systemd_logging { local conf_file=$1 - local conf_section="DEFAULT" # NOTE(sdague): this is a nice to have, and means we're using the # native systemd path, which provides for things like search on # request-id. However, there may be an eventlet interaction here, @@ -676,16 +665,16 @@ function setup_systemd_logging { USE_JOURNAL=$(trueorfalse False USE_JOURNAL) local pidstr="" if [[ "$USE_JOURNAL" == "True" ]]; then - iniset $conf_file $conf_section use_journal "True" + iniset $conf_file DEFAULT use_journal "True" # if we are using the journal directly, our process id is already correct else pidstr="(pid=%(process)d) " fi - iniset $conf_file $conf_section logging_debug_format_suffix "{{${pidstr}%(funcName)s %(pathname)s:%(lineno)d}}" + iniset $conf_file DEFAULT logging_debug_format_suffix "{{${pidstr}%(funcName)s %(pathname)s:%(lineno)d}}" - iniset $conf_file $conf_section logging_context_format_string "%(color)s%(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(project_name)s %(user_name)s%(color)s] %(instance)s%(color)s%(message)s" - iniset $conf_file $conf_section logging_default_format_string "%(color)s%(levelname)s %(name)s [-%(color)s] %(instance)s%(color)s%(message)s" - iniset $conf_file $conf_section logging_exception_prefix "ERROR %(name)s %(instance)s" + iniset $conf_file DEFAULT logging_context_format_string "%(color)s%(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(project_name)s %(user_name)s%(color)s] %(instance)s%(color)s%(message)s" + iniset $conf_file DEFAULT logging_default_format_string "%(color)s%(levelname)s %(name)s [-%(color)s] %(instance)s%(color)s%(message)s" + iniset $conf_file DEFAULT logging_exception_prefix "ERROR %(name)s %(instance)s" } function setup_standard_logging_identity { diff --git a/stack.sh b/stack.sh index 089510fa48..f00bceb21d 100755 --- a/stack.sh +++ b/stack.sh @@ -803,13 +803,11 @@ fixup_all # Install subunit for the subunit output stream pip_install -U os-testr -if [[ "$USE_SYSTEMD" == "True" ]]; then - pip_install_gr systemd-python - # the default rate limit of 1000 messages / 30 seconds is not - # sufficient given how verbose our logging is. - iniset -sudo /etc/systemd/journald.conf "Journal" "RateLimitBurst" "0" - sudo systemctl restart systemd-journald -fi +pip_install_gr systemd-python +# the default rate limit of 1000 messages / 30 seconds is not +# sufficient given how verbose our logging is. +iniset -sudo /etc/systemd/journald.conf "Journal" "RateLimitBurst" "0" +sudo systemctl restart systemd-journald # Virtual Environment # ------------------- @@ -1521,14 +1519,11 @@ if [[ -n "$DEPRECATED_TEXT" ]]; then echo fi -# If USE_SYSTEMD is enabled, tell the user about using it. -if [[ "$USE_SYSTEMD" == "True" ]]; then - echo - echo "Services are running under systemd unit files." - echo "For more information see: " - echo "https://docs.openstack.org/devstack/latest/systemd.html" - echo -fi +echo +echo "Services are running under systemd unit files." +echo "For more information see: " +echo "https://docs.openstack.org/devstack/latest/systemd.html" +echo # Useful info on current state cat /etc/devstack-version diff --git a/stackrc b/stackrc index 2d3a599a36..6d8f594309 100644 --- a/stackrc +++ b/stackrc @@ -109,9 +109,7 @@ CELLSV2_SETUP=${CELLSV2_SETUP:-"superconductor"} # Set the root URL for Horizon HORIZON_APACHE_ROOT="/dashboard" -# Whether to use SYSTEMD to manage services, we only do this from -# Queens forward. -USE_SYSTEMD="True" +# Whether to use user specific units for running services or global ones. USER_UNITS=$(trueorfalse False USER_UNITS) if [[ "$USER_UNITS" == "True" ]]; then SYSTEMD_DIR="$HOME/.local/share/systemd/user"