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 49565b5..de40d38 100644 --- a/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml +++ b/hieradata/nodes/ausyd1nxvm1017.main.unkin.net.yaml @@ -1,8 +1,11 @@ --- profiles::cobbler::params::is_cobbler_master: true networking::interfaces: - eth0: + ens18: ipaddress: 198.18.13.27 networking::routes: default: gateway: 198.18.13.254 + interface: ens18 + +profiles::almalinux::base::remove_ens18: false 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, } } 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'],