Start managing bird2
Also give dummy-interface support to sunet-l4lb-namespace tool, used to hold IPv4/IPv6 service addresses that should be announced via BGP.
This commit is contained in:
parent
d632aaca5c
commit
e2d550bf29
|
@ -47,7 +47,12 @@ def configure_interfaces(
|
|||
False,
|
||||
)
|
||||
if not if_exists:
|
||||
run_command(f"ip link set {if_name} netns {namespace}")
|
||||
if if_name.startswith("dummy"):
|
||||
run_command(
|
||||
f"ip netns exec {namespace} ip link add {if_name} type dummy"
|
||||
)
|
||||
else:
|
||||
run_command(f"ip link set {if_name} netns {namespace}")
|
||||
|
||||
proc = run_command(f"ip netns exec {namespace} ip -j addr show dev {if_name}")
|
||||
if_conf = json.loads(proc.stdout)
|
||||
|
|
|
@ -15,6 +15,10 @@ class cdn::l4lb(
|
|||
}
|
||||
}
|
||||
|
||||
include sunet::systemd_reload
|
||||
|
||||
package {'bird2': ensure => installed }
|
||||
|
||||
file { '/opt/sunet-cdn':
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
|
@ -59,4 +63,20 @@ class cdn::l4lb(
|
|||
mode => '0644',
|
||||
content => template('cdn/l4lb/sunet-l4lb-namespace.service.erb'),
|
||||
}
|
||||
|
||||
file { '/etc/systemd/system/bird.service.d':
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
}
|
||||
|
||||
file { '/etc/systemd/system/bird.service.d/override.conf':
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
content => template('cdn/l4lb/bird-override.conf.erb'),
|
||||
notify => [Class['sunet::systemd_reload']]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[Service]
|
||||
NetworkNamespacePath=/var/run/netns/l4lb
|
||||
Wants=sunet-l4lb-namespace.service
|
||||
After=sunet-l4lb-namespace.service
|
Loading…
Reference in a new issue