Sha256: 72357c21c3ed18fd580eb1f18680c490f63fe07dba5806215f4b5ef956d3faa9

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

module VagrantPlugins
  module GuestUbuntu
    module Cap
      class ChangeHostName < VagrantPlugins::GuestDebian::Cap::ChangeHostName
        def self.change_host_name(machine, name)
          super
        end

        def update_etc_hostname
          return super unless vivid?
          sudo("hostnamectl set-hostname '#{short_hostname}'")
        end

        def refresh_hostname_service
          if hardy?
            # hostname.sh returns 1, so use `true` to get a 0 exitcode
            sudo("/etc/init.d/hostname.sh start; true")
          elsif vivid?
            # Service runs via hostnamectl
          else
            sudo("service hostname start")
          end
        end

        def hardy?
          os_version("hardy")
        end

        def vivid?
          os_version("vivid")
        end

        def renew_dhcp
          sudo("ifdown -a; ifup -a; ifup -a --allow=hotplug")
        end

      private

        def os_version(name)
          machine.communicate.test("[ `lsb_release -c -s` = #{name} ]")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-cloudstack-1.2.0 vendor/bundle/bundler/gems/vagrant-c84e05fd063f/plugins/guests/ubuntu/cap/change_host_name.rb