From 3b907159f116030bc80d50eee421e044135f919f Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sun, 23 Jun 2024 16:42:27 +1000 Subject: [PATCH 1/2] chore: change eth0 to ens18 --- hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml | 10 ++++++++++ site/profiles/manifests/almalinux/base.pp | 12 ++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml b/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml index 49565b5..24400d4 100644 --- a/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml +++ b/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml @@ -2,7 +2,17 @@ profiles::cobbler::params::is_cobbler_master: true networking::interfaces: eth0: + ensure: absent + ens18: + ensure: present + family: inet + method: static ipaddress: 198.18.13.27 + netmask: 255.255.255.0 + onboot: true networking::routes: default: gateway: 198.18.13.254 + interface: ens18 + +profiles::almalinux::base::remove_ens18: false diff --git a/site/profiles/manifests/almalinux/base.pp b/site/profiles/manifests/almalinux/base.pp index ec83a0f..1304b27 100644 --- a/site/profiles/manifests/almalinux/base.pp +++ b/site/profiles/manifests/almalinux/base.pp @@ -1,10 +1,14 @@ # base almalinux settings -class profiles::almalinux::base { +class profiles::almalinux::base ( + Boolean $remove_ens18 = true, +) { - file {'/etc/sysconfig/network-scripts/ifcfg-ens18': - ensure => absent, + if $remove_ens18 { + file {'/etc/sysconfig/network-scripts/ifcfg-ens18': + ensure => absent, + } } - -> service {'NetworkManager': + service {'NetworkManager': ensure => false, enable => false, require => Package['network-scripts'], From 6839fb8c5fd6dc8ae64681fc024d03b7025a5c77 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sun, 23 Jun 2024 17:34:23 +1000 Subject: [PATCH 2/2] feat: networking defaults - add interface/route defaults - merge defaults into each interface/route --- hieradata/common.yaml | 30 +++++++++++-------- .../nodes/ausyd1nxvm1017.main.unkin.net.yaml | 7 ----- modules/networking/manifests/init.pp | 8 +++-- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/hieradata/common.yaml b/hieradata/common.yaml index 42c9792..4a05016 100644 --- a/hieradata/common.yaml +++ b/hieradata/common.yaml @@ -111,9 +111,15 @@ lookup_options: networking::interfaces: merge: strategy: deep + networking::interface_defaults: + merge: + strategy: deep networking::routes: merge: strategy: deep + networking::route_defaults: + merge: + strategy: deep ssh::server::options: merge: strategy: deep @@ -282,19 +288,17 @@ sudo::configs: profiles::accounts::sysadmin::sshkeys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ8SRLlPiDylBpdWR9LpvPg4fDVD+DZst4yRPFwMMhta4mnB1H9XuvZkptDhXywWQ7QIcqa2WbhCen0OQJCtwn3s7EYtacmF5MxmwBYocPoK2AArGuh6NA9rwTdLrPdzhZ+gwe88PAzRLNzjm0ZBR+mA9saMbPJdqpKp0AWeAM8QofRQAWuCzQg9i0Pn1KDMvVDRHCZof4pVlHSTyHNektq4ifovn0zhKC8jD/cYu95mc5ftBbORexpGiQWwQ3HZw1IBe0ZETB1qPIPwsoJpt3suvMrL6T2//fcIIUE3TcyJKb/yhztja4TZs5jT8370G/vhlT70He0YPxqHub8ZfBv0khlkY93VBWYpNGJwM1fVqlw7XbfBNdOuJivJac8eW317ZdiDnKkBTxapThpPG3et9ib1HoPGKRsd/fICzNz16h2R3tddSdihTFL+bmTCa6Lo+5t5uRuFjQvhSLSgO2/gRAprc3scYOB4pY/lxOFfq3pU2VvSJtRgLNEYMUYKk= ben@unkin.net -networking::interfaces: - eth0: - ensure: present - family: inet - method: static - netmask: 255.255.255.0 - onboot: true -networking::routes: - default: - ensure: present - interface: eth0 - netmask: 0.0.0.0 - network: default +networking::interface_defaults: + ensure: present + family: inet + method: static + netmask: 255.255.255.0 + onboot: true +networking::route_defaults: + ensure: present + interface: eth0 + netmask: 0.0.0.0 + network: default profiles::ceph::client::fsid: 7f7f00cb-95de-498c-8dcc-14b54e4e9ca8 profiles::ceph::client::mons: diff --git a/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml b/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml index 24400d4..de40d38 100644 --- a/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml +++ b/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml @@ -1,15 +1,8 @@ --- profiles::cobbler::params::is_cobbler_master: true networking::interfaces: - eth0: - ensure: absent ens18: - ensure: present - family: inet - method: static ipaddress: 198.18.13.27 - netmask: 255.255.255.0 - onboot: true networking::routes: default: gateway: 198.18.13.254 diff --git a/modules/networking/manifests/init.pp b/modules/networking/manifests/init.pp index f7239d5..f6c6931 100644 --- a/modules/networking/manifests/init.pp +++ b/modules/networking/manifests/init.pp @@ -1,20 +1,24 @@ # unkin networking module class networking ( Hash $interfaces = {}, + Hash $interface_defaults = {}, Hash $routes = {}, + Hash $route_defaults = {}, ){ include network include networking::params $interfaces.each | $interface, $data | { + $merged_data = merge($interface_defaults, $data) network_config {$interface: - * => $data, + * => $merged_data, } } $routes.each | $route, $data | { + $merged_data = merge($route_defaults, $data) network_route {$route: - * => $data, + * => $merged_data, } }