[ovs-dev] [PATCH] ovn-ctl: Fix the wrong pidfile argument passed to ovsdb-servers
nusiddiq at redhat.com
nusiddiq at redhat.com
Tue Oct 9 07:17:11 UTC 2018
From: Numan Siddique <nusiddiq at redhat.com>
When OVN db servers are started usinb ovn-ctl, if the pid files
(/var/run/openvswitch/ovnnb_db.pid for example) are already
present, then ovn-ctl passes "--pidfile=123" if the pid file has
'123' stored in it. Later on when OVN pacemaker RA script calls
status_ovnnb/status_ovnsb() functions, these returns "not running".
The shell function 'pidfile_is_running()' stores the contents of
the pid file as "pid=`cat "$pidfile"`". If the caller also
uses the same variable "pid" to store the file name, it gets
overriden.
This patch fixes this issue by renaming the local variable "pid"
in the "start_ovsdb__()" shell function to "db_file_name".
Signed-off-by: Numan Siddique <nusiddiq at redhat.com>
---
ovn/utilities/ovn-ctl | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ovn/utilities/ovn-ctl b/ovn/utilities/ovn-ctl
index 3ff0df68e..950467c4e 100755
--- a/ovn/utilities/ovn-ctl
+++ b/ovn/utilities/ovn-ctl
@@ -95,7 +95,7 @@ promote_ovnsb() {
start_ovsdb__() {
local DB=$1 db=$2 schema_name=$3 table_name=$4
- local pid
+ local db_pid_file
local cluster_local_addr
local cluster_local_port
local cluster_local_proto
@@ -116,7 +116,7 @@ start_ovsdb__() {
local addr
local active_conf_file
local use_remote_in_db
- eval pid=\$DB_${DB}_PID
+ eval db_pid_file=\$DB_${DB}_PID
eval cluster_local_addr=\$DB_${DB}_CLUSTER_LOCAL_ADDR
eval cluster_local_port=\$DB_${DB}_CLUSTER_LOCAL_PORT
eval cluster_local_proto=\$DB_${DB}_CLUSTER_LOCAL_PROTO
@@ -139,7 +139,7 @@ start_ovsdb__() {
eval use_remote_in_db=\$DB_${DB}_USE_REMOTE_IN_DB
# Check and eventually start ovsdb-server for DB
- if pidfile_is_running $pid; then
+ if pidfile_is_running $db_pid_file; then
return
fi
@@ -169,7 +169,7 @@ $cluster_remote_port
set ovsdb-server
set "$@" $log --log-file=$logfile
- set "$@" --remote=punix:$sock --pidfile=$pid
+ set "$@" --remote=punix:$sock --pidfile=$db_pid_file
set "$@" --unixctl=ovn${db}_db.ctl
[ "$OVS_USER" != "" ] && set "$@" --user "$OVS_USER"
--
2.17.1
More information about the dev
mailing list