[ovs-dev] [PATCH v2] ovs-ctl: Add new option to use short hostname.

Han Zhou zhouhan at gmail.com
Thu Oct 4 20:01:09 UTC 2018


From: Han Zhou <hzhou8 at ebay.com>

Current ovs-ctl forces to set full hostname in external-ids. In
some situation users may want to set short hostname. For example,
in OpenStack - OVN integration, Neutron uses the host-id provided
by Nova, which is usually short hostname, to set "requested-chassis"
in OVN. The mismatch in hypervisor's external-ids:hostname setting
causes OVN port binding failure. It can be overridden to short name
but a openvswitch restart using ovs-ctl would again set it to full
hostname. This patch ensures in such use cases --no-full-hostname
can be specified to ovs-ctl to set short hostname instead.

Signed-off-by: Han Zhou <hzhou8 at ebay.com>
---
v1->v2: fix v1, thanks Aaron Conole <aconole at redhat.com> for the finding.

 utilities/ovs-ctl.in | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index 749de99..2d01c75 100644
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -38,7 +38,11 @@ insert_mod_if_required () {
 set_hostname () {
     # 'hostname -f' needs network connectivity to work.  So we should
     # call this only after ovs-vswitchd is running.
-    ovs_vsctl set Open_vSwitch . external-ids:hostname="$(hostname -f)"
+    hn="$(hostname -f)"
+    if test X$FULL_HOSTNAME = Xno; then
+        hn="$(hostname)"
+    fi
+    ovs_vsctl set Open_vSwitch . external-ids:hostname="$hn"
 }
 
 set_system_ids () {
@@ -289,6 +293,8 @@ enable_protocol () {
 set_defaults () {
     SYSTEM_ID=
 
+    FULL_HOSTNAME=yes
+
     DELETE_BRIDGES=no
     DELETE_TRANSIENT_PORTS=no
 
@@ -374,6 +380,7 @@ Less important options for "start", "restart" and "force-reload-kmod":
   --no-mlockall                  do not lock all of ovs-vswitchd into memory
   --ovsdb-server-priority=NICE   set ovsdb-server's niceness (default: $OVSDB_SERVER_PRIORITY)
   --ovs-vswitchd-priority=NICE   set ovs-vswitchd's niceness (default: $OVS_VSWITCHD_PRIORITY)
+  --no-full-hostname             set short hostname instead of full hostname
 
 Debugging options for "start", "restart" and "force-reload-kmod":
   --ovsdb-server-wrapper=WRAPPER
-- 
2.1.0



More information about the dev mailing list