diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2015-07-14 01:48:09 +0100 |
---|---|---|
committer | Maryam Tahhan <maryam.tahhan@intel.com> | 2015-07-17 08:51:51 +0000 |
commit | d688a143c3c4a7e4e4539aa175669c26a0ac89d3 (patch) | |
tree | 0a831fcdc7e6efb3ba2d06eceefd53633885cdef | |
parent | 613cea4f9a4765c0ca3ff56ba75492488772c7a3 (diff) |
Fix stability issues at the end of testcase run.
Cleanup procedure is performed at the end of each testcase run.
Procedure consists of termination of vswitch processes,
removal of unneeded kernel drivers, unmount of hugepages, etc.
There must be enough time for vswitch processes to terminate
properly before OS resources are freed. Otherwise OS stability
issues can be observed (e.g. server reboot).
Process termination is implemented by sending signal SIGTERM
to the process instead of previously used signal SIGINT.
Change-Id: I7e8c7a86ae2a75f2a18db0d9340726fb649a685b
JIRA: VSPERF-27
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
-rw-r--r-- | src/ovs/daemon.py | 2 | ||||
-rw-r--r-- | tools/tasks.py | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/ovs/daemon.py b/src/ovs/daemon.py index ee3446d5..323644c6 100644 --- a/src/ovs/daemon.py +++ b/src/ovs/daemon.py @@ -138,5 +138,5 @@ class VSwitchd(tasks.Process): :returns: None """ if self._ovsdb_pid: - tasks.run_task(['sudo', 'kill', '-2', str(self._ovsdb_pid)], + tasks.run_task(['sudo', 'kill', '-15', str(self._ovsdb_pid)], self._logger, 'Killing ovsdb-server...') diff --git a/tools/tasks.py b/tools/tasks.py index f8f11d4e..555a5929 100644 --- a/tools/tasks.py +++ b/tools/tasks.py @@ -23,6 +23,7 @@ import threading import sys import os import locale +import time from conf import settings @@ -244,8 +245,10 @@ class Process(object): """Kill process instance if it is alive. """ if self._child and self._child.isalive(): - run_task(['sudo', 'kill', '-2', str(self._child.pid)], + run_task(['sudo', 'kill', '-15', str(self._child.pid)], self._logger) + self._logger.debug('Wait for process to terminate') + time.sleep(2) if self.is_relinquished(): self._relinquish_thread.join() |