In order to start making the transition in the gate make
USE_SCREEN=False also mean USE_SYSTEMD=True. We'll never actually
declare USE_SYSTEMD=True in the gate (as that doesn't exist for stable
branches), but this will let us roll over the existing transition.
We also have to install systemd-python 234 because we are recording
exception info in the journal, and all versions before that had a bug
in processing that.
Remove the somewhat pointless screen following journalctl commands. We
really don't want or need those, and they tend to build up over time.
Depends-On: I24513f5cbac2c34cf0130bf812ff2df6ad76657c
Change-Id: I6af6d1857effaf662a9d72bd394864934eacbe70
| ... | ... |
@@ -17,6 +17,7 @@ libjpeg-dev # Pillow 3.0.0 |
| 17 | 17 |
libmysqlclient-dev # MySQL-python |
| 18 | 18 |
libpq-dev # psycopg2 |
| 19 | 19 |
libssl-dev # for pyOpenSSL |
| 20 |
+libsystemd-dev # for systemd-python |
|
| 20 | 21 |
libxml2-dev # lxml |
| 21 | 22 |
libxslt1-dev # lxml |
| 22 | 23 |
libyaml-dev |
| ... | ... |
@@ -26,10 +27,8 @@ openssl |
| 26 | 26 |
pkg-config |
| 27 | 27 |
psmisc |
| 28 | 28 |
python2.7 |
| 29 |
-python3-systemd |
|
| 30 | 29 |
python-dev |
| 31 | 30 |
python-gdbm # needed for testr |
| 32 |
-python-systemd |
|
| 33 | 31 |
screen |
| 34 | 32 |
tar |
| 35 | 33 |
tcpdump |
| ... | ... |
@@ -1495,22 +1495,6 @@ function _run_under_systemd {
|
| 1495 | 1495 |
|
| 1496 | 1496 |
$SYSTEMCTL enable $systemd_service |
| 1497 | 1497 |
$SYSTEMCTL start $systemd_service |
| 1498 |
- _journal_log $service $systemd_service |
|
| 1499 |
-} |
|
| 1500 |
- |
|
| 1501 |
-function _journal_log {
|
|
| 1502 |
- local service=$1 |
|
| 1503 |
- local unit=$2 |
|
| 1504 |
- local logfile="${service}.log.${CURRENT_LOG_TIME}"
|
|
| 1505 |
- local real_logfile="${LOGDIR}/${logfile}"
|
|
| 1506 |
- if [[ -n ${LOGDIR} ]]; then
|
|
| 1507 |
- $JOURNALCTL_F $2 > "$real_logfile" & |
|
| 1508 |
- bash -c "cd '$LOGDIR' && ln -sf '$logfile' ${service}.log"
|
|
| 1509 |
- if [[ -n ${SCREEN_LOGDIR} ]]; then
|
|
| 1510 |
- # Drop the backward-compat symlink |
|
| 1511 |
- ln -sf "$real_logfile" ${SCREEN_LOGDIR}/screen-${service}.log
|
|
| 1512 |
- fi |
|
| 1513 |
- fi |
|
| 1514 | 1498 |
} |
| 1515 | 1499 |
|
| 1516 | 1500 |
# Helper to remove the ``*.failure`` files under ``$SERVICE_DIR/$SCREEN_NAME``. |
| ... | ... |
@@ -1700,8 +1684,10 @@ function stop_process {
|
| 1700 | 1700 |
# Only do this for units which appear enabled, this also |
| 1701 | 1701 |
# catches units that don't really exist for cases like |
| 1702 | 1702 |
# keystone without a failure. |
| 1703 |
- $SYSTEMCTL stop devstack@$service.service |
|
| 1704 |
- $SYSTEMCTL disable devstack@$service.service |
|
| 1703 |
+ if $SYSTEMCTL is-enabled devstack@$service.service; then |
|
| 1704 |
+ $SYSTEMCTL stop devstack@$service.service |
|
| 1705 |
+ $SYSTEMCTL disable devstack@$service.service |
|
| 1706 |
+ fi |
|
| 1705 | 1707 |
fi |
| 1706 | 1708 |
|
| 1707 | 1709 |
if [[ -r $SERVICE_DIR/$SCREEN_NAME/$service.pid ]]; then |
| ... | ... |
@@ -746,6 +746,9 @@ fi |
| 746 | 746 |
# Do the ugly hacks for broken packages and distros |
| 747 | 747 |
source $TOP_DIR/tools/fixup_stuff.sh |
| 748 | 748 |
|
| 749 |
+if [[ "$USE_SYSTEMD" == "True" ]]; then |
|
| 750 |
+ pip_install_gr systemd-python |
|
| 751 |
+fi |
|
| 749 | 752 |
|
| 750 | 753 |
# Virtual Environment |
| 751 | 754 |
# ------------------- |
| ... | ... |
@@ -157,6 +157,15 @@ elif [[ -f $RC_DIR/.localrc.auto ]]; then |
| 157 | 157 |
source $RC_DIR/.localrc.auto |
| 158 | 158 |
fi |
| 159 | 159 |
|
| 160 |
+# if we are forcing off USE_SCREEN (as we do in the gate), force on |
|
| 161 |
+# systemd. This allows us to drop one of 3 paths through the code. |
|
| 162 |
+if [[ "$USE_SCREEN" == "False" ]]; then |
|
| 163 |
+ # Remove in Pike: this gets us through grenade upgrade |
|
| 164 |
+ if [[ "$GRENADE_PHASE" != "target" ]]; then |
|
| 165 |
+ USE_SYSTEMD="True" |
|
| 166 |
+ fi |
|
| 167 |
+fi |
|
| 168 |
+ |
|
| 160 | 169 |
# Default for log coloring is based on interactive-or-not. |
| 161 | 170 |
# Baseline assumption is that non-interactive invocations are for CI, |
| 162 | 171 |
# where logs are to be presented as browsable text files; hence color |