bundlewrap/bundles/systemd-networkd/metadata.py

57 lines
1.3 KiB
Python
Raw Normal View History

defaults = {
'apt': {
'packages': {
'resolvconf': {
'installed': False,
},
},
},
}
@metadata_reactor.provides(
'interfaces',
)
def add_vlan_infos_to_interface(metadata):
interfaces = {}
2021-02-12 19:37:36 +00:00
for iface in metadata.get('interfaces', {}):
if not '.' in iface:
continue
interface,vlan = iface.split('.')
interfaces.setdefault(interface, {}).setdefault('vlans', set())
interfaces[interface]['vlans'].add(vlan)
return {
'interfaces': interfaces,
}
2021-04-23 17:31:28 +00:00
@metadata_reactor.provides(
'telegraf/input_plugins/builtin/bond',
'telegraf/additional_capabilities',
2021-04-23 17:31:28 +00:00
)
def telegraf(metadata):
if not node.has_bundle('telegraf'):
raise DoNotRunAgain
if metadata.get('systemd-networkd/bonds', {}):
return {
'telegraf': {
'input_plugins': {
'builtin': {
'bond': [{
'bond_interfaces': list(sorted(metadata.get('systemd-networkd/bonds').keys())),
}],
},
},
'additional_capabilities': {
'CAP_NET_ADMIN',
},
2021-04-23 17:31:28 +00:00
},
}
return {}