Reconfigure resolv.conf once cobbler is installed

Once cobbler is ready and working
we need to re-configure /etc/resolv.conf so it points to
cobbler.

Change-Id: I43cf1607dcfcd5e19daeb30512a0b18ee8d6a7be
Closes-Bug: #1606181
This commit is contained in:
Vladimir Kozhukalov 2016-07-26 13:49:47 +03:00
parent 789dad263b
commit 524bb61b65
10 changed files with 22 additions and 23 deletions

View File

@ -46,7 +46,7 @@ class cobbler(
$domain_name = 'local',
$name_server = $ipaddress,
$next_server = $ipaddress,
$dns_upstream = '8.8.8.8',
$dns_upstream = ['8.8.8.8'],
$dns_domain = 'domain.tld',
$dns_search = 'domain.tld',

View File

@ -29,7 +29,7 @@ class cobbler::server (
$domain_name = 'local',
$dns_search = 'local',
$dns_domain = 'local',
$dns_upstream = '8.8.8.8',
$dns_upstream = ['8.8.8.8'],
$dhcp_gateway = unset,
$dhcp_lease_max = '1800',
$lease_time = '120m',

View File

@ -8,7 +8,7 @@ describe 'cobbler' do
:domain_name => 'local',
:name_server => facts[:ipaddress],
:next_server => facts[:ipaddress],
:dns_upstream => '8.8.8.8',
:dns_upstream => ['8.8.8.8'],
:dns_domain => 'domain.tld',
:dns_search => 'domain.tld',
:dhcp_start_address => '10.0.0.201',
@ -72,4 +72,3 @@ describe 'cobbler' do
end
end

View File

@ -13,7 +13,7 @@ dhcp-lease-max=<%= @dhcp_lease_max %>
server=/<%= @domain_name %>/
<% end %>
server=/<%= @dns_domain %>/
<%- @dns_upstream.split(',').each do |dns| -%>
<%- @dns_upstream.each do |dns| -%>
server=/<%= @dns_domain %>/<%= dns %>
<%- end -%>
resolv-file=/etc/dnsmasq.upstream

View File

@ -1,5 +1,5 @@
domain <%= @dns_domain %>
search <%= @dns_search %>
<%- @dns_upstream.split(',').each do |dns| -%>
<%- @dns_upstream.each do |dns| -%>
nameserver <%= dns %>
<%- end -%>

View File

@ -9,6 +9,10 @@ $bootstrap_settings = pick($::fuel_settings['BOOTSTRAP'], {})
$bootstrap_path = pick($bootstrap_settings['path'], '/var/www/nailgun/bootstraps/active_bootstrap')
$bootstrap_ethdevice_timeout = pick($bootstrap_settings['ethdevice_timeout'], '120')
$dhcp_gw = $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway']
$dns_domain = $::fuel_settings['DNS_DOMAIN']
$dns_search = $::fuel_settings['DNS_SEARCH']
$dns_upstream = split($::fuel_settings['DNS_UPSTREAM'], ',')
$cobbler_host = $::fuel_settings['ADMIN_NETWORK']['ipaddress']
# TODO(mmalchuk): the right way with updated loadyaml function
# $bootstrap_meta = loadyaml("${bootstrap_path}/metadata.yaml", {})
@ -37,12 +41,19 @@ class { '::fuel::cobbler':
next_server => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
mco_user => $::fuel_settings['mcollective']['user'],
mco_pass => $::fuel_settings['mcollective']['password'],
dns_upstream => $::fuel_settings['DNS_UPSTREAM'],
dns_domain => $::fuel_settings['DNS_DOMAIN'],
dns_search => $::fuel_settings['DNS_SEARCH'],
dns_upstream => $dns_upstream,
dns_domain => $dns_domain,
dns_search => $dns_search,
dhcp_ipaddress => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
nailgun_api_url => $nailgun_api_url,
bootstrap_ethdevice_timeout => $bootstrap_ethdevice_timeout,
} ->
file { '/etc/resolv.conf':
content => template('fuel/resolv.conf.erb'),
owner => 'root',
group => 'root',
mode => '0644',
}
fuel::systemd {['httpd', 'cobblerd', 'dnsmasq', 'xinetd']:

View File

@ -8,11 +8,6 @@ $fuel_settings = parseyaml($astute_settings_yaml)
$ntp_servers = delete(delete_undef_values([$::fuel_settings['NTP1'],
$::fuel_settings['NTP2'], $::fuel_settings['NTP3']]), '')
# Vars for File['/etc/resolv.conf']
$dns_domain = $::fuel_settings['DNS_DOMAIN']
$dns_search = $::fuel_settings['DNS_SEARCH']
$dns_upstream = split($::fuel_settings['DNS_UPSTREAM'], ',')
# Vars for File['/etc/dhcp/dhclient.conf']
$cobbler_host = $::fuel_settings['ADMIN_NETWORK']['ipaddress']
@ -68,13 +63,6 @@ file { '/etc/dhcp/dhclient-enter-hooks':
mode => '0755',
}
file { '/etc/resolv.conf':
content => template('fuel/resolv.conf.erb'),
owner => 'root',
group => 'root',
mode => '0644',
}
augeas { 'Cleanup orphaned dns settings from ifcfg-e* files':
context => "/files/etc/sysconfig/network-scripts",
changes => [

View File

@ -78,7 +78,7 @@ class fuel::params {
]
$ks_system_timezone = 'Etc/UTC'
$dns_upstream = '8.8.8.8'
$dns_upstream = ['8.8.8.8']
$dns_domain = 'domain.tld'
$dns_search = 'domain.tld'
$dhcp_ipaddress = '127.0.0.1'

View File

@ -37,6 +37,8 @@ describe manifest do
is_expected.to contain_class('fuel::cobbler').with parameters
end
it { is_expected.to contain_file '/etc/resolv.conf' }
%w(httpd cobblerd dnsmasq xinetd).each do |service|
it "should containt '#{service}' fuel::systemd service with correct parameters" do
parameters = {

View File

@ -17,7 +17,6 @@ describe manifest do
/var/log/remote
/var/www/nailgun/dump
/etc/dhcp/dhclient-enter-hooks
/etc/resolv.conf
/etc/dhcp/dhclient.conf
/etc/fuel/free_disk_check.yaml
/etc/fuel-utils/config