On Sun, Dec 02, 2018 at 08:51:09PM +0800, Yousong Zhou wrote: > On Sun, 2 Dec 2018 at 02:05, Aaron Conole <acon...@redhat.com> wrote: > > > > Yousong Zhou <yszhou4t...@gmail.com> writes: > > > > > On Fri, 30 Nov 2018 at 23:23, Aaron Conole <acon...@redhat.com> wrote: > > >> > > >> Yousong Zhou <yszhou4t...@gmail.com> writes: > > >> > > >> > From: Yousong Zhou <yszhou4t...@gmail.com> > > >> > > > >> > The command "hostname" is not available in OpenWrt by default. Strace > > >> > result of hostname-3.13 on centos7 shows that bare "hostname" command > > >> > calls uname() to fetch node name. > > >> > > > >> > Signed-off-by: Yousong Zhou <yszhou4t...@gmail.com> > > >> > --- > > >> > utilities/ovs-ctl.in | 2 +- > > >> > 1 file changed, 1 insertion(+), 1 deletion(-) > > >> > > > >> > diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in > > >> > index e42f0f1e6..7f2b17b06 100644 > > >> > --- a/utilities/ovs-ctl.in > > >> > +++ b/utilities/ovs-ctl.in > > >> > @@ -40,7 +40,7 @@ set_hostname () { > > >> > # call this only after ovs-vswitchd is running. > > >> > hn="$(hostname -f)" > > >> > if test X$FULL_HOSTNAME = Xno; then > > >> > - hn="$(hostname)" > > >> > + hn="$(uname -n)" > > >> > fi > > >> > > >> Should we also modify the call to 'hostname' above, too? ie: > > >> > > >> - hn="$(hostname -f)" > > >> + hn="$(uname -n)" > > >> > > >> I don't know since uname -n is always the same as hostname -f, > > >> iirc. That makes the option (FULL_HOSTNAME=no) look strange. > > >> > > >> Actually, that makes me think that the hn="$(hostname)" might need to > > >> have been 'hostname -s' - but I'm not sure. > > > > > > On my centos7 machine, `hostname -f` will try to form and verify fqdn > > > by reading "domain" from /etc/resolv.conf and doing dns query. I > > > think the output of "uname -n" is same as with "sysctl -n > > > kernel.hostname" > > > > Still, I think the hostname call above should be reworked. Maybe > > something like: > > > > hn="$(uname -n)" > > if test X$FULL_HOSTNAME = Xyes; then > > hn=$(hostname -f) > > fi > > > > Just a thought. If hostname doesn't exist, then you're going to always > > invoke it as-is. Maybe I'm misunderstanding something, though. WDYT? > > maybe at the beginning when this code was written the intent of > "hostname -f" was to make the name as "full" as possible so that it > can be uniquely identified in a larger scale from a different domain, > or from "external". If that is the case, then "uname -n" should only > be used as a fallback in the heristics.
I think that was the intent. This might be a reasonable way to do it, which would deal with hostname not being available: if X$FULL_HOSTNAME = Xyes; then hn=$(hostname -f) || hn=$(uname -n) else hn=$(uname -n) fi _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev