37 lines
1.1 KiB
Puppet
37 lines
1.1 KiB
Puppet
notice('MODULAR: calico/compute_bird.pp')
|
|
|
|
prepare_network_config(hiera_hash('network_scheme'))
|
|
$network_metadata = hiera_hash('network_metadata', {})
|
|
|
|
|
|
# Initial constants
|
|
$plugin_name = 'fuel-plugin-calico'
|
|
$plugin_settings = hiera_hash("${plugin_name}", {})
|
|
$enable_ipv4 = try_get_value($plugin_settings, 'enable_ipv4', true)
|
|
$enable_ipv6 = try_get_value($plugin_settings, 'enable_ipv6', false)
|
|
$as_number = try_get_value($plugin_settings, 'as_number', 65001)
|
|
|
|
$local_ip = get_network_role_property('neutron/mesh', 'ipaddr')
|
|
|
|
$rr_nodes = get_nodes_hash_by_roles($network_metadata, ['calico-rr'])
|
|
$rr_nodes_ip = get_node_to_ipaddr_map_by_network_role($rr_nodes, 'neutron/mesh')
|
|
|
|
# Firewall initials
|
|
class { '::firewall':}
|
|
Class['::firewall'] -> Firewall<||>
|
|
Class['::firewall'] -> Firewallchain<||>
|
|
|
|
firewall { '410 bird':
|
|
dport => '179',
|
|
proto => 'tcp',
|
|
action => 'accept',
|
|
} ->
|
|
class { 'calico::bird':
|
|
template => 'compute',
|
|
as_number => $as_number,
|
|
enable_ipv4 => $enable_ipv4,
|
|
enable_ipv6 => $enable_ipv6,
|
|
src_addr => $local_ip,
|
|
rr_servers => $rr_nodes_ip,
|
|
}
|