fuel-library/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/dhcp.pp

48 lines
1.4 KiB
Puppet

class openstack_tasks::openstack_network::agents::dhcp {
notice('MODULAR: openstack_network/agents/dhcp.pp')
$use_neutron = hiera('use_neutron', false)
if $use_neutron {
# override neutron options
$override_configuration = hiera_hash('configuration', {})
override_resources { 'neutron_dhcp_agent_config':
data => $override_configuration['neutron_dhcp_agent_config']
} ~> Service['neutron-dhcp-service']
}
if $use_neutron {
$debug = hiera('debug', true)
$resync_interval = '30'
$isolated_metadata = try_get_value($neutron_config, 'metadata/isolated_metadata', true)
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
$ha_agent = try_get_value($neutron_advanced_config, 'dhcp_agent_ha', true)
class { '::neutron::agents::dhcp':
debug => $debug,
resync_interval => $resync_interval,
manage_service => true,
enable_isolated_metadata => $isolated_metadata,
enabled => true,
}
if $ha_agent {
$primary_controller = hiera('primary_controller')
class { '::cluster::neutron::dhcp' :
primary => $primary_controller,
}
}
# stub package for 'neutron::agents::dhcp' class
package { 'neutron':
name => 'binutils',
ensure => 'installed',
}
}
}