diff mbox series

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

Message ID 1538683269-100716-1-git-send-email-hzhou8@ebay.com
State Accepted
Headers show
Series [ovs-dev,v2] ovs-ctl: Add new option to use short hostname. | expand

Commit Message

Han Zhou Oct. 4, 2018, 8:01 p.m. UTC
From: Han Zhou <hzhou8@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@ebay.com>
---
v1->v2: fix v1, thanks Aaron Conole <aconole@redhat.com> for the finding.

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

Comments

Ben Pfaff Oct. 8, 2018, 5:41 p.m. UTC | #1
On Thu, Oct 04, 2018 at 01:01:09PM -0700, Han Zhou wrote:
> From: Han Zhou <hzhou8@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@ebay.com>
> ---
> v1->v2: fix v1, thanks Aaron Conole <aconole@redhat.com> for the finding.

Applied to master, thanks!
diff mbox series

Patch

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