fuel-plugin-calico/deployment_scripts/puppet/manifests/compute_bird.pp

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,
}