fuel-library/deployment/puppet/fuel/examples/cobbler.pp

55 lines
2.6 KiB
Puppet

notice('MODULAR: cobbler.pp')
Exec {path => '/usr/bin:/bin:/usr/sbin:/sbin'}
$fuel_settings = parseyaml($astute_settings_yaml)
$admin_network = $::fuel_settings['ADMIN_NETWORK']
$nailgun_api_url = "http://${::fuel_settings['ADMIN_NETWORK']['ipaddress']}:8000/api"
$bootstrap_settings = pick($::fuel_settings['BOOTSTRAP'], {})
$dhcp_gw = $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway']
if $dhcp_gw {
$dhcp_gateway = $dhcp_gw
}
else {
$dhcp_gateway = $cobbler_host
}
class { "fuel::cobbler":
cobbler_user => $::fuel_settings['cobbler']['user'],
cobbler_password => $::fuel_settings['cobbler']['password'],
bootstrap_flavor => pick($bootstrap_settings['flavor'], 'centos'),
bootstrap_path => pick($bootstrap_settings['path'], '/var/www/nailgun/bootstraps/active_bootstrap'),
bootstrap_meta => pick(loadyaml("${bootstrap_path}/metadata.yaml"), {}),
server => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
name_server => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
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'],
dhcp_interface => $::fuel_settings['ADMIN_NETWORK']['interface'],
nailgun_api_url => $nailgun_api_url,
bootstrap_ethdevice_timeout => pick($bootstrap_settings['ethdevice_timeout'], '120'),
# dhcp_start_address => $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_start'],
# dhcp_end_address => $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_end'],
# dhcp_netmask => $::fuel_settings['ADMIN_NETWORK']['netmask'],
# dhcp_gateway => $dhcp_gateway,
}
fuel::systemd {['httpd', 'cobblerd', 'dnsmasq', 'xinetd']:
start => true,
template_path => 'fuel/systemd/restart_template.erb',
config_name => 'restart.conf',
require => Class["fuel::cobbler"],
}
fuel::dnsmasq::dhcp_range {'default':
dhcp_start_address => $admin_network['dhcp_pool_start'],
dhcp_end_address => $admin_network['dhcp_pool_end'],
dhcp_netmask => $admin_network['netmask'],
dhcp_gateway => $admin_network['dhcp_gateway'],
next_server => $admin_network['ipaddress'],
notify => Service['dnsmasq'],
}