From cfb341a368b277d43b30da2e3b9a3431e1ad9c9a Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Tue, 27 Sep 2016 11:53:17 -0500 Subject: [PATCH] Add conditional around the pid clean up process The NS metadata proxy pid cleanup process hunts for and removes PIDs executing old code by using version tags. Under certain conditions it's possible for an old PID to have expired before the cleanup action has run. This change simply wraps the `pkill` command with a test to ensure the task isn't failing. Should a PID actually be cleaned up the task will print to stdout and log using the logger command. Closes-Bug: #1627185 Change-Id: I8c012feb399f8ca65172e9404b859c8f6111de35 Signed-off-by: Kevin Carter --- handlers/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/handlers/main.yml b/handlers/main.yml index 8547259b..f9fa432f 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -35,7 +35,9 @@ for ns_pid in $(pgrep neutron-ns-meta); do echo $(readlink -f "/proc/$ns_pid/exe") | grep -qv "{{ neutron_venv_tag }}" if [ $? -eq 0 ]; then - (echo "old metadata proxy pid found running clean up on $ns_pid"; kill -9 "$ns_pid") + if kill -9 "$ns_pid"; then + logger -s "old metadata proxy pid found and has been cleaned up on: \"$ns_pid\"" + fi fi done when: neutron_services['neutron-metadata-agent'].service_en | bool