Run swift-container-sync under run_process

All the evidence from [1] suggests that on opensuse swift-init is not
detaching the daemon process correctly.  It's possible there's a pipe
still in play that somehow holds our ansible-streamer open.

This is a minimal fix to avoid swift-init.  Although it's possible in
non-default paths to still use swift-init (and hence possibly hit
another variant of this issue), after discussions with swift
developers it was decided the intersection of tests running under our
current ansible, on suse, that would enable these services is
sufficiently small that this is the best course for now.

[1] https://storyboard.openstack.org/#!/story/2001528

Change-Id: I1b68c08c07cf6653ea58506f738cbe0054b38f3a
This commit is contained in:
Ian Wienand 2018-02-09 12:49:22 +11:00
parent 83ecb97fec
commit 2346e9a8b5

View File

@ -827,7 +827,8 @@ function start_swift {
else
# The container-sync daemon is strictly needed to pass the container
# sync Tempest tests.
swift-init --run-dir=${SWIFT_DATA_DIR}/run container-sync start
enable_service s-container-sync
run_process s-container-sync "$SWIFT_BIN_DIR/swift-container-sync ${SWIFT_CONF_DIR}/container-server/1.conf"
fi
else
swift-init --run-dir=${SWIFT_DATA_DIR}/run all restart || true