plugins/guests/smartos/cap/change_host_name.rb in vagrant-unbundled-1.9.5.1 vs plugins/guests/smartos/cap/change_host_name.rb in vagrant-unbundled-1.9.7.1

- old
+ new

@@ -1,15 +1,24 @@ module VagrantPlugins module GuestSmartos module Cap class ChangeHostName def self.change_host_name(machine, name) - su_cmd = machine.config.smartos.suexec_cmd + sudo = machine.config.smartos.suexec_cmd - # Only do this if the hostname is not already set - if !machine.communicate.test("hostname | grep '#{name}'") - machine.communicate.execute("#{su_cmd} sh -c \"echo '#{name}' > /etc/nodename\"") - machine.communicate.execute("#{su_cmd} hostname #{name}") + machine.communicate.tap do |comm| + comm.execute <<-EOH.sub(/^ */, '') + if hostname | grep '#{name}' ; then + exit 0 + fi + + if [ -d /usbkey ] && [ "$(zonename)" == "global" ] ; then + #{sudo} sed -i '' 's/hostname=.*/hostname=#{name}/' /usbkey/config + fi + + #{sudo} echo '#{name}' > /etc/nodename + #{sudo} hostname #{name} + EOH end end end end end