feat: anycast dhcp

- dhcp is used only for old-vms, or when pxebooting new hosts
- anycast used for failover
This commit is contained in:
2025-06-29 13:02:20 +10:00
parent 7b07626162
commit b747be58d0
3 changed files with 69 additions and 24 deletions
+21 -23
View File
@@ -14,34 +14,32 @@ class profiles::dhcp::server (
Boolean $empty_local_pool = false
){
if $facts['enc_role'] == 'roles::infra::dhcp::server' {
class { 'dhcp':
service_ensure => running,
interfaces => $interfaces,
ntpservers => $ntpservers,
default_lease_time => $default_lease_time,
globaloptions => $globaloptions
}
class { 'dhcp':
service_ensure => running,
interfaces => $interfaces,
ntpservers => $ntpservers,
default_lease_time => $default_lease_time,
globaloptions => $globaloptions
}
# if pools, import them
$pools.each | $name, $data | {
dhcp::pool { $name:
* => $data,
}
# if pools, import them
$pools.each | $name, $data | {
dhcp::pool { $name:
* => $data,
}
}
# if classes, import them
$classes.each | $name, $data | {
dhcp::dhcp_class { $name:
* => $data,
}
# if classes, import them
$classes.each | $name, $data | {
dhcp::dhcp_class { $name:
* => $data,
}
}
if $empty_local_pool {
dhcp::pool {'local':
network => $facts['networking']['interfaces'][$network_primary_interface]['network'],
mask => $facts['networking']['interfaces'][$network_primary_interface]['netmask'],
}
if $empty_local_pool {
dhcp::pool {'local':
network => $facts['networking']['interfaces'][$network_primary_interface]['network'],
mask => $facts['networking']['interfaces'][$network_primary_interface]['netmask'],
}
}
}
@@ -6,6 +6,5 @@ class roles::infra::dhcp::server {
}else{
include profiles::defaults
include profiles::base
include profiles::dhcp::server
}
}