Print this page
NEX-16134 HostName change using API is not persistent through a reboot
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/svc/milestone/identity-node
          +++ new/usr/src/cmd/svc/milestone/identity-node
↓ open down ↓ 19 lines elided ↑ open up ↑
  20   20  # CDDL HEADER END
  21   21  #
  22   22  #
  23   23  # Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T.
  24   24  # All rights reserved.
  25   25  #
  26   26  #
  27   27  # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  28   28  # Use is subject to license terms.
  29   29  #
  30      -# ident "%Z%%M% %I%     %E% SMI"
       30 +# Copyright 2018 Nexenta Systems Inc. 
  31   31  
  32   32  . /lib/svc/share/smf_include.sh
  33   33  . /lib/svc/share/net_include.sh
  34   34  
  35   35  # Make sure that the libraries essential to this stage of booting can be found.
  36   36  LD_LIBRARY_PATH=/lib; export LD_LIBRARY_PATH
  37   37  
  38   38  #
  39   39  # If DHCP was used on a primary interface then set the hostname
  40   40  # that was returned. If no hostname was returned, set the name
↓ open down ↓ 6 lines elided ↑ open up ↑
  47   47  # for all non-DHCP cases provides compatibility with the
  48   48  # behavior of the system before netstrategy was introduced.
  49   49  #
  50   50  # For non-global zones, fall back to the `uname -n` value provided by the
  51   51  # kernel if /etc/nodename does not exist, as is expected on an initial boot.
  52   52  #
  53   53  
  54   54  smf_netstrategy
  55   55  
  56   56  case "$_INIT_NET_STRATEGY" in
  57      -        "dhcp") hostname=`/sbin/dhcpinfo Hostname` ;;
       57 +        "dhcp") if [ -s /etc/nodename ]; then
       58 +                        hostname=`shcat /etc/nodename 2>/dev/null`
       59 +                else
       60 +                        hostname=`/sbin/dhcpinfo Hostname`
       61 +                fi
       62 +                        ;;
  58   63          "rarp") hostname=`/sbin/hostconfig -h -p bootparams`
  59   64                  trap 'intr=1' 2 3
  60   65                  while [ -z "$hostname" -a ! -f /etc/.UNCONFIGURED -a \
  61   66                      -z "$intr" ]; do
  62   67                          echo "re-trying host configuration..."
  63   68                          # Restrict this to IPv4 interfaces.
  64   69                          /sbin/ifconfig -adD4 auto-revarp up
  65   70                          hostname=`/sbin/hostconfig -h -p bootparams`
  66   71                  done
  67   72                  trap 2 3 ;;
↓ open down ↓ 29 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX