Deprecate SCREEN_LOGDIR in favor of LOGDIR
This is the first step in the log file cleanup. If SCREEN_LOGDIR
is still set, symlinks will be created in the old screen log directory
so things like the devstack-gate log collector continues to work.
bp:logging-and-service-names
Change-Id: I3ac796e322a18dbd0b8b2310a08310ca159d7613
diff --git a/stackrc b/stackrc
index 2dd56e8..ff82140 100644
--- a/stackrc
+++ b/stackrc
@@ -705,6 +705,53 @@
# Following entries need to be last items in file
+# Compatibility bits required by other callers like Grenade
+
+# Old way was using SCREEN_LOGDIR to locate those logs and LOGFILE for the stack.sh trace log.
+# LOGFILE SCREEN_LOGDIR output
+# not set not set no log files
+# set not set stack.sh log to LOGFILE
+# not set set screen logs to SCREEN_LOGDIR
+# set set stack.sh log to LOGFILE, screen logs to SCREEN_LOGDIR
+
+# New way is LOGDIR for all logs and LOGFILE for stack.sh trace log, but if not fully-qualified will be in LOGDIR
+# LOGFILE LOGDIR output
+# not set not set (new) set LOGDIR from default
+# set not set stack.sh log to LOGFILE, (new) set LOGDIR from LOGFILE
+# not set set screen logs to LOGDIR
+# set set stack.sh log to LOGFILE, screen logs to LOGDIR
+
+# For compat, if SCREEN_LOGDIR is set, it will be used to create back-compat symlinks to the LOGDIR
+# symlinks to SCREEN_LOGDIR (compat)
+
+
+# Set up new logging defaults
+if [[ -z "${LOGDIR:-}" ]]; then
+ default_logdir=$DEST/logs
+ if [[ -z "${LOGFILE:-}" ]]; then
+ # Nothing is set, we need a default
+ LOGDIR="$default_logdir"
+ else
+ # Set default LOGDIR
+ LOGDIR="${LOGFILE%/*}"
+ logfile="${LOGFILE##*/}"
+ if [[ -z "$LOGDIR" || "$LOGDIR" == "$logfile" ]]; then
+ # LOGFILE had no path, set a default
+ LOGDIR="$default_logdir"
+ fi
+
+ # Check for duplication
+ if [[ "${SCREEN_LOGDIR:-}" == "${LOGDIR}" ]]; then
+ # We don't need the symlinks since it's the same directory
+ unset SCREEN_LOGDIR
+ fi
+ fi
+ unset default_logdir logfile
+fi
+
+# LOGDIR is always set at this point so it is not useful as a 'enable' for service logs
+# SCREEN_LOGDIR may be set, it is useful to enable the compat symlinks
+
# Local variables:
# mode: shell-script
# End: