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

Aaron Conole aconole at redhat.com
Thu Oct 4 19:23:12 UTC 2018


Han Zhou <zhouhan at gmail.com> writes:

> 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>
> ---
>  utilities/ovs-ctl.in | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
> index 749de99..7651927 100644
> --- a/utilities/ovs-ctl.in
> +++ b/utilities/ovs-ctl.in
> @@ -38,6 +38,10 @@ insert_mod_if_required () {
>  set_hostname () {
>      # 'hostname -f' needs network connectivity to work.  So we should
>      # call this only after ovs-vswitchd is running.
> +    hn="$(hostname -f)"
> +    if test X$FULL_HOSTNAME = Xno; then
> +        hn="$(hostname)"
> +    fi

This will call hostname twice.  Might be better to write:

  if test X$FULL_HOSTNAME = Xno; then
      hn="$(hostname)"
  else
      hn="$(hostname -f)"
  fi

>      ovs_vsctl set Open_vSwitch . external-ids:hostname="$(hostname -f)"

I think this line also needs to be changed to use the new hn value like
so:

  ovs_vsctl set Open_vSwitch . external-ids:hostname="$hn"

>  }
>  
> @@ -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


More information about the dev mailing list