Merge pull request #2543 from glensc/pld-hostname

guests/pld: fix hostname change on pld
This commit is contained in:
Mitchell Hashimoto 2013-11-27 20:04:50 -08:00
commit 2a0f8e2143
2 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,20 @@
module VagrantPlugins
module GuestPld
module Cap
class ChangeHostName
def self.change_host_name(machine, name)
machine.communicate.tap do |comm|
# Only do this if the hostname is not already set
if !comm.test("sudo hostname | grep --line-regexp '#{name}'")
comm.sudo("sed -i 's/\\(HOSTNAME=\\).*/\\1#{name}/' /etc/sysconfig/network")
comm.sudo("hostname #{name}")
comm.sudo("sed -i 's@^\\(127[.]0[.]0[.]1[[:space:]]\\+\\)@\\1#{name} #{name.split('.')[0]} @' /etc/hosts")
comm.sudo("sed -i 's/\\(DHCP_HOSTNAME=\\).*/\\1\"#{name}\"/' /etc/sysconfig/interfaces/ifcfg-*")
comm.sudo("service network restart")
end
end
end
end
end
end
end

View File

@ -11,6 +11,11 @@ module VagrantPlugins
Guest
end
guest_capability("pld", "change_host_name") do
require_relative "cap/change_host_name"
Cap::ChangeHostName
end
guest_capability("pld", "network_scripts_dir") do
require_relative "cap/network_scripts_dir"
Cap::NetworkScriptsDir