Add run_process() to start services without screen
* USE_SCREEN defaults to True, set it to False to exec the services
directly via bash. SCREEN_DEV is still supported until the CI
scripts get updated.
* The extra logging file descriptors are properly closed in the child process
and stdout/stderr are redirected to the log files.
* The screen_rc() call is still present; this means that stack-screenrc will
have a complete record of what was started and rejoin-stack.sh may be able
to re-create the setup under screen.
* The python interpreter was unwilling to write to the log files without
unbufering stdout by using PYTHONUNBUFFERED. This feels hackish and should
be investigated further.
Change-Id: I012ed049f2c8b185a2e6929d73edc29e167bc21f
diff --git a/stackrc b/stackrc
index 008bc9c..5b473c4 100644
--- a/stackrc
+++ b/stackrc
@@ -30,8 +30,8 @@
# stuffing text into the screen windows so that a developer can use
# ctrl-c, up-arrow, enter to restart the service. Starting services
# this way is slightly unreliable, and a bit slower, so this can
-# be disabled for automated testing by setting this value to false.
-SCREEN_DEV=True
+# be disabled for automated testing by setting this value to False.
+USE_SCREEN=True
# Repositories
# ------------
@@ -198,3 +198,6 @@
PRIVATE_NETWORK_NAME=${PRIVATE_NETWORK_NAME:-"private"}
PUBLIC_NETWORK_NAME=${PUBLIC_NETWORK_NAME:-"nova"}
+
+# Compatibility until it's eradicated from CI
+USE_SCREEN=${SCREEN_DEV:-$USE_SCREEN}