From 96b011b39ec2e96f8756f40c43874eb4b6e29fd9 Mon Sep 17 00:00:00 2001 From: Felix Gilcher Date: Sat, 20 Sep 2014 17:34:01 +0200 Subject: [PATCH] update /etc/hosts on rhel 7 the previous fix for #4465 assumed that the NetworkManager takes care of updating /etc/hosts with the new hostname, but testing shows it doesn't. This change ensures that the change is always added to /etc/hosts when the name changes. --- plugins/guests/redhat/cap/change_host_name.rb | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/plugins/guests/redhat/cap/change_host_name.rb b/plugins/guests/redhat/cap/change_host_name.rb index 72ad47e8d..2520904ec 100644 --- a/plugins/guests/redhat/cap/change_host_name.rb +++ b/plugins/guests/redhat/cap/change_host_name.rb @@ -3,16 +3,7 @@ module VagrantPlugins module Cap class ChangeHostName def self.change_host_name(machine, name) - case machine.guest.capability("flavor") - when :rhel_7 - change_host_name_rhel7(machine, name) - else - new(machine, name).change! - end - end - - def self.change_host_name_rhel7(machine, name) - machine.communicate.sudo("hostnamectl set-hostname #{name}") + new(machine, name).change! end attr_reader :machine, :new_hostname @@ -25,11 +16,17 @@ module VagrantPlugins def change! return unless should_change? - update_sysconfig - update_hostname - update_etc_hosts - update_dhcp_hostnames - restart_networking + case machine.guest.capability("flavor") + when :rhel_7 + update_hostname_rhel7 + update_etc_hosts + else + update_sysconfig + update_hostname + update_etc_hosts + update_dhcp_hostnames + restart_networking + end end def should_change? @@ -61,6 +58,10 @@ module VagrantPlugins sudo "hostname #{fqdn}" end + def update_hostname_rhel7 + sudo "hostnamectl set-hostname #{fqdn}" + end + # /etc/hosts should resemble: # 127.0.0.1 host.fqdn.com host localhost ... def update_etc_hosts