123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- class nova::network(
- $private_interface = undef,
- $fixed_range = '10.0.0.0/8',
- $public_interface = undef,
- $num_networks = 1,
- $network_size = 255,
- $floating_range = false,
- $enabled = true,
- $network_manager = 'nova.network.manager.FlatDHCPManager',
- $config_overrides = {},
- $create_networks = true,
- $ensure_package = 'present',
- $install_service = true,
- $allowed_start = undef,
- $allowed_end = undef,
- $dns1 = undef,
- $dns2 = undef,
- $multi_host = false,
- $auto_assign_floating_ip = false,
- ) {
- include ::nova::deps
- include ::nova::params
- warning('nova-network is deprecated in Newton and will be removed in the future.')
-
-
-
- Exec {
- path => $::path
- }
- ensure_resource('sysctl::value', 'net.ipv4.ip_forward', { value => '1' })
- if $floating_range {
- nova_config {
- 'DEFAULT/floating_range': value => $floating_range;
- 'DEFAULT/auto_assign_floating_ip': value => $auto_assign_floating_ip;
- }
- }
- nova_config {
- 'DEFAULT/multi_host': value => $multi_host;
- }
- if has_key($config_overrides, 'vlan_start') {
- $vlan_start = $config_overrides['vlan_start']
- } else {
- $vlan_start = undef
- }
- if $install_service {
- nova::generic_service { 'network':
- enabled => $enabled,
- package_name => $::nova::params::network_package_name,
- service_name => $::nova::params::network_service_name,
- ensure_package => $ensure_package,
- before => Exec['networking-refresh']
- }
-
-
- Service<| title == 'nova-network' |> -> Nova_network<| |>
- if $create_networks {
- if $enabled {
- nova::manage::network { 'nova-vm-net':
- network => $fixed_range,
- num_networks => $num_networks,
- network_size => $network_size,
- vlan_start => $vlan_start,
- allowed_start => $allowed_start,
- allowed_end => $allowed_end,
- dns1 => $dns1,
- dns2 => $dns2,
- }
- if $floating_range {
- nova::manage::floating { 'nova-vm-floating':
- network => $floating_range,
- }
- }
- } else {
- warning('Can not create networks, when nova-network service is disabled.')
- }
- }
- }
- case $network_manager {
- 'nova.network.manager.FlatDHCPManager': {
-
- $parameters = { fixed_range => $fixed_range,
- public_interface => $public_interface,
- flat_interface => $private_interface
- }
- $resource_parameters = merge($config_overrides, $parameters)
- $flatdhcp_resource = {'nova::network::flatdhcp' => $resource_parameters }
- create_resources('class', $flatdhcp_resource)
- }
- 'nova.network.manager.FlatManager': {
- $parameters = { fixed_range => $fixed_range,
- public_interface => $public_interface,
- flat_interface => $private_interface
- }
- $resource_parameters = merge($config_overrides, $parameters)
- $flat_resource = {'nova::network::flat' => $resource_parameters }
- create_resources('class', $flat_resource)
- }
- 'nova.network.manager.VlanManager': {
- $parameters = { fixed_range => $fixed_range,
- public_interface => $public_interface,
- vlan_interface => $private_interface
- }
- $resource_parameters = merge($config_overrides, $parameters)
- $vlan_resource = { 'nova::network::vlan' => $resource_parameters }
- create_resources('class', $vlan_resource)
- }
- default: {
- fail("Unsupported network manager: ${nova::network_manager} The supported network managers are \
- nova.network.manager.FlatManager, nova.network.FlatDHCPManager and nova.network.manager.VlanManager")
- }
- }
- }
|