add bundle:kea-dhcp-server
This commit is contained in:
parent
d9cb324bb6
commit
cb6f12b218
2 changed files with 125 additions and 0 deletions
42
bundles/kea-dhcp-server/items.py
Normal file
42
bundles/kea-dhcp-server/items.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
kea_config = {
|
||||
'Dhcp4': {
|
||||
**node.metadata.get('kea-dhcp-server/config'),
|
||||
'interfaces-config': {
|
||||
'interfaces': sorted(node.metadata.get('kea-dhcp-server/subnets', {}).keys()),
|
||||
},
|
||||
'subnet4': [],
|
||||
},
|
||||
'Server': {
|
||||
'loggers': [{
|
||||
'name': 'kea-dhcp4',
|
||||
'output_options': [{
|
||||
# -> journal
|
||||
'output': 'stdout',
|
||||
}],
|
||||
'severity': 'WARN',
|
||||
}],
|
||||
},
|
||||
}
|
||||
|
||||
for iface, config in sorted(node.metadata.get('kea-dhcp-server/subnets', {}).items()):
|
||||
kea_config['Dhcp4']['subnet4'].append({
|
||||
'subnet': config['subnet'],
|
||||
'pools': [{
|
||||
'pool': f'{config["lower"]} - {config["higher"]}',
|
||||
}],
|
||||
'option-data': [
|
||||
{
|
||||
'name': k,
|
||||
'data': v,
|
||||
} for k, v in sorted(config.get('options', {}).items())
|
||||
],
|
||||
'reservations': [
|
||||
{
|
||||
'ip-address': v['ip'],
|
||||
'hw-address': v['mac'],
|
||||
'hostname': k,
|
||||
} for k, v in sorted(node.metadata.get(f'kea-dhcp-server/fixed_allocations/{iface}', {}).items())
|
||||
]
|
||||
})
|
||||
|
||||
# TODO deploy config
|
Loading…
Add table
Add a link
Reference in a new issue