48 lines
1.4 KiB
Puppet
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',
|
|
}
|
|
|
|
}
|
|
|
|
}
|