Set up /var/run/nfv-vim as vim's default temp files location
nfv vim call the k8s python client to perform a number of operations. The k8s python client creates temp files under /tmp and continues use these tmp files for the life-cycle of the processes. However systemd-tmpfiles-clean.service will run every day to clean up files in /tmp dir that are older than 10 days. If the k8s client code is not triggered for more than 10 days (thus its temp files are not accessed for more than 10 days), these temp files will be removed as part of the cleanup. Certain vim operations then starts to fail with an error that the tmp file is no longer there. This is a known issue of kubernetes python client: https://github.com/kubernetes-client/python/issues/765 The commit fixes this issue by setting TMPDIR to /var/run/nfv-vim when sm starts vim. Change-Id: I4f0544055e9d10ba2374e9fdb5133d767c1fa2c3 Closes-Bug: 1883599 Signed-off-by: Andy Ning <andy.ning@windriver.com>
This commit is contained in:
parent
4c36f911c9
commit
43e6a9f768
@ -35,6 +35,7 @@ OCF_RESKEY_pid_default="/var/run/${binname}.pid"
|
|||||||
: ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
|
: ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
|
||||||
|
|
||||||
mydaemon="/usr/bin/${OCF_RESKEY_binary}"
|
mydaemon="/usr/bin/${OCF_RESKEY_binary}"
|
||||||
|
TMP_DIR=/var/run/nfv-vim
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
@ -98,6 +99,21 @@ END
|
|||||||
|
|
||||||
PROCESS_NOT_RUNNING_FILE="/var/run/.nfv-vim.not_running"
|
PROCESS_NOT_RUNNING_FILE="/var/run/.nfv-vim.not_running"
|
||||||
|
|
||||||
|
nfv_vim_tmpdir () {
|
||||||
|
local rc
|
||||||
|
|
||||||
|
if [ ! -d "$TMP_DIR" ]; then
|
||||||
|
mkdir -p "$TMP_DIR"
|
||||||
|
rc=$?
|
||||||
|
if [ $rc -ne 0 ]; then
|
||||||
|
ocf_log err "NFV Service (${OCF_RESKEY_binary}) failed to create temp dir (rc=${rc})"
|
||||||
|
return ${OCF_ERR_GENERIC}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
export TMPDIR="$TMP_DIR"
|
||||||
|
return ${OCF_SUCCESS}
|
||||||
|
}
|
||||||
|
|
||||||
vim_validate() {
|
vim_validate() {
|
||||||
check_binary ${OCF_RESKEY_binary}
|
check_binary ${OCF_RESKEY_binary}
|
||||||
check_binary pidof
|
check_binary pidof
|
||||||
@ -297,6 +313,10 @@ esac
|
|||||||
# Anything except meta-data and help must pass validation
|
# Anything except meta-data and help must pass validation
|
||||||
vim_validate || exit $?
|
vim_validate || exit $?
|
||||||
|
|
||||||
|
# Set up tmpfiles directory to avoid temp files being
|
||||||
|
# cleaned up by systemd tmpfiles clean service.
|
||||||
|
nfv_vim_tmpdir || exit $?
|
||||||
|
|
||||||
case ${__OCF_ACTION} in
|
case ${__OCF_ACTION} in
|
||||||
|
|
||||||
start) vim_start
|
start) vim_start
|
||||||
|
Loading…
Reference in New Issue
Block a user