Puppet Class: profile::openstack::codfw1dev::neutron::l3_agent
- Defined in:
- modules/profile/manifests/openstack/codfw1dev/neutron/l3_agent.pp
Overview
SPDX-License-Identifier: Apache-2.0
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'modules/profile/manifests/openstack/codfw1dev/neutron/l3_agent.pp', line 2
class profile::openstack::codfw1dev::neutron::l3_agent(
$version = lookup('profile::openstack::codfw1dev::version'),
$bridges = lookup('profile::openstack::codfw1dev::neutron::l3_agent_bridges'),
$bridge_mappings = lookup('profile::openstack::codfw1dev::neutron::l3_agent_bridge_mappings'),
$network_flat_interface_vlan_external = lookup('profile::openstack::codfw1dev::neutron::network_flat_interface_vlan_external'),
$network_flat_interface_vlan = lookup('profile::openstack::codfw1dev::neutron::network_flat_interface_vlan'),
$report_interval = lookup('profile::openstack::codfw1dev::neutron::report_interval'),
$base_interface = lookup('profile::openstack::codfw1dev::neutron::base_interface'),
Boolean $legacy_vlan_naming = lookup('profile::openstack::codfw1dev::neutron::legacy_vlan_naming'),
Hash[String[1], OpenStack::Neutron::ProviderNetwork] $provider_networks_internal = lookup('profile::openstack::codfw1dev::neutron::provider_networks_internal', {default_value => {}}),
Hash[String[1], OpenStack::Neutron::ProviderNetwork] $provider_networks_external = lookup('profile::openstack::codfw1dev::neutron::provider_networks_external', {default_value => {}}),
Boolean $use_ovs = lookup('profile::openstack::codfw1dev::neutron::use_ovs', {default_value => false}),
) {
require ::profile::openstack::codfw1dev::clientpackages
require ::profile::openstack::codfw1dev::neutron::common
# Enable IPv6 in physical interfaces of vlan ports
ensure_packages(['bridge-utils'])
if debian::codename::eq('bullseye') {
# Bullseye needs a workaround
class { 'bridge_utils::workaround_debian_bug_989162': }
} else {
# Later versions support setting this in a config file
file_line { 'bridge_ipv6':
ensure => present,
path => '/etc/default/bridge-utils',
line => 'BRIDGE_DISABLE_LINKLOCAL_IPV6_ALSO_PHYS=no',
match => 'BRIDGE_DISABLE_LINKLOCAL_IPV6_ALSO_PHYS',
}
}
class {'::profile::openstack::base::neutron::l3_agent':
version => $version,
report_interval => $report_interval,
base_interface => $base_interface,
network_flat_interface_vlan => $network_flat_interface_vlan,
network_flat_interface_vlan_external => $network_flat_interface_vlan_external,
legacy_vlan_naming => $legacy_vlan_naming,
interface_driver => $use_ovs.bool2str('openvswitch', 'linuxbridge'),
}
contain '::profile::openstack::base::neutron::l3_agent'
if $use_ovs {
class { 'profile::openstack::base::neutron::ovs_agent':
version => $version,
provider_networks => $provider_networks_internal + $provider_networks_external,
}
} else {
class {'::profile::openstack::base::neutron::linuxbridge_agent':
version => $version,
bridges => $bridges,
bridge_mappings => $bridge_mappings,
report_interval => $report_interval,
}
contain '::profile::openstack::base::neutron::linuxbridge_agent'
}
}
|