ovs-ctl: Pull system_type and system_version from config file
authorGurucharan Shetty <gshetty@nicira.com>
Fri, 6 Jan 2012 02:28:20 +0000 (18:28 -0800)
committerGurucharan Shetty <gshetty@nicira.com>
Tue, 10 Jan 2012 01:58:39 +0000 (17:58 -0800)
Currently system-type and system-version can only be set through
ovs-vsctl and ovs-ctl in the commandline. This patch allows you
to place system-type.conf and system-version.conf files in $etcdir
and their contents will be used if no arguments are specified with
ovs-vsctl or ovs-ctl.

Bug #9033.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
AUTHORS
utilities/ovs-ctl.8
utilities/ovs-ctl.in

diff --git a/AUTHORS b/AUTHORS
index 631dfecf812a5094b12efd41e6e87e2312a0cca2..d413523ded9053ed8dc97eb888720754bdbe11e3 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -18,6 +18,7 @@ Edward Tomasz NapieraƂa trasz@freebsd.org
 Ethan Jackson           ethan@nicira.com
 Gaetano Catalli         gaetano.catalli@gmail.com
 Glen Gibb               grg@stanford.edu
+Gurucharan Shetty       gshetty@nicira.com
 Hao Zheng               hzheng@nicira.com
 Ian Campbell            Ian.Campbell@citrix.com
 Jean Tourrilhes         jt@hpl.hp.com
index 0e4116206a92d4f81a720597bfed9d454f3c6af1..658cbd6ba5e92fa75ca6e436a5fa86ccc6071c80 100644 (file)
@@ -124,9 +124,8 @@ ID that persists from one run to another (stored in a file).  When
 another string is specified \fBovs\-ctl\fR uses it literally.
 .
 .PP
-On systems that have the \fBlsb_release\fR program, \fBovs\-ctl\fR
-chooses reasonable defaults for the following options.  Other systems
-should specify values:
+The following options should be specified if the defaults are not
+suitable:
 .
 .IP "\fB\-\-system\-type=\fItype\fR"
 .IQ "\fB\-\-system\-version=\fIversion\fR"
@@ -135,6 +134,11 @@ Sets the value to store in the \fBsystem-type\fR and
 \fBOpen_vSwitch\fR table.  Remote managers may use these values to
 determine the kind of system to which they are connected (primarily
 for display to human administrators).
+.IP
+When not specified, \fBovs\-ctl\fR uses values from the optional
+\fBsystem\-type.conf\fR and \fBsystem\-version.conf\fR files(see section
+\fBFILES\fR) or it uses the \fBlsb_release\fR program, if present, to
+provide reasonable defaults.
 .
 .PP
 The following options are also likely to be useful:
@@ -400,6 +404,11 @@ location).
 The persistent system UUID created and read by
 \fB\-\-system\-id=random\fR.
 .
+.IP "\fIsysconfdir\fB/openvswitch/system\-type.conf\fR"
+.IQ "\fIsysconfdir\fB/openvswitch/system\-version.conf\fR"
+The \fBsystem\-type\fR  and \fBsystem\-version\fR values stored in the database's
+\fBOpen_vSwitch\fR table when not specified as a command-line option.
+.
 .SH "EXAMPLE"
 .
 .PP
index ee6035c078a9815882937056d41b2ffc2f30b6c6..5640ee88d6c0b86db8f387549dddd8c770a35637 100755 (executable)
@@ -373,7 +373,13 @@ set_defaults () {
     DPORT=
     SPORT=
 
-    if (lsb_release --id) >/dev/null 2>&1; then
+    type_file=$etcdir/system-type.conf
+    version_file=$etcdir/system-version.conf
+
+    if test -e "$type_file" ; then
+        SYSTEM_TYPE=`cat $type_file`
+        SYSTEM_VERSION=`cat $version_file`
+    elif (lsb_release --id) >/dev/null 2>&1; then
         SYSTEM_TYPE=`lsb_release --id -s`
         system_release=`lsb_release --release -s`
         system_codename=`lsb_release --codename -s`