From e3e75161d06387a979b8f4a04f406f9b54f8703e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 2 Jan 2022 04:31:50 +0100 Subject: Network rewrites. --- manifests/os/arch.pp | 32 ++++---------------------------- manifests/os/debian.pp | 39 +++++++++------------------------------ 2 files changed, 13 insertions(+), 58 deletions(-) (limited to 'manifests/os') diff --git a/manifests/os/arch.pp b/manifests/os/arch.pp index 0affee1..e5fc210 100644 --- a/manifests/os/arch.pp +++ b/manifests/os/arch.pp @@ -4,35 +4,11 @@ define nspawn::os::arch ( ensure_packages(['arch-install-scripts']) - exec { "/usr/bin/pacstrap /var/lib/machines/${machine} base puppet": - creates => "/var/lib/machines/${machine}/etc/os-release", - } - - file { "/var/lib/machines/${machine}/etc/systemd/network/20-puppet.conf": - content => @(EOF) - [Match] - Name=host0 + $machine_path = "/var/lib/machines/${machine}" - [Network] - Address=10.0.0.43/23 - Gateway=10.0.0.1 - IPv6AcceptRA=1 - | EOF + exec { "/usr/bin/pacstrap '${machine_path}' base puppet": + creates => "${machine_path}/etc/os-release", } - if $facts['machined-info'][$machine]['State'] == 'running' { - notify { "Notify skipping ${machine} setup": - message => "Skipping setup for ${machine}, already running", - } - } else { - exec { "Enable systemd-networkd on ${machine}": - command => [ '/usr/bin/systemd-nspawn', - '-M', $machine, - '--quiet', - 'systemctl', 'enable', 'systemd-networkd', - ], - # among others - creates => "/var/lib/machines/${machine}/etc/systemd/system/multi-user.target.wants/systemd-networkd.service", - } - } + nspawn::util::enable_networkd { $machine: } } diff --git a/manifests/os/debian.pp b/manifests/os/debian.pp index b8a1bd4..fbab9ac 100644 --- a/manifests/os/debian.pp +++ b/manifests/os/debian.pp @@ -2,48 +2,23 @@ define nspawn::os::debian ( String $os_version, String $machine = $name, ) { + ensure_packages(['debootstrap']) exec { "/usr/bin/deboostrap ${os_version} /var/lib/machines/${machine}": creates => "/var/lib/machines/${machine}/etc/os-release", } - file { "/var/lib/machines/${machine}/etc/network/interfaces": - ensure => file, - content => @(EOF) - # File managed by puppet - # See interfaces(5) - source-directory /etc/network/interfaces.d - | EOF - } - - file { "/var/lib/machines/${machine}/etc/network/interfaces.d": - ensure => directory, - } - - file { "/var/lib/machines/${machine}/etc/network/interfaces.d/puppet": - ensure => file, - content => @(EOF) - # File managed by puppet - auto host0 - # allow-hotplug host0 - - iface host0 inet static - address 10.0.0.42/23 - gateway 10.0.0.1 - - iface host0 inet6 auto - private 0 - | EOF - } - $puppet_deb = "/var/lib/machines/${machine}/tmp/puppet7-release-${os_version}.deb" file { $puppet_deb: ensure => file, source => "https://apt.puppet.com/puppet7-release-${os_version}.deb" } - if $facts['machined-info'][$machine]['State'] == 'running' { + $running = $facts['machined-info'][$machine] != Undef or $facts['machined-info'][$machine]['State'] == 'running' + + if $running { + # TODO notify { "Notify skipping ${machine} setup": message => "Skipping setup for ${machine}, already running", } @@ -67,4 +42,8 @@ define nspawn::os::debian ( creates => "/var/lib/machines/${machine}/opt/puppetlabs/bin/puppet", } } + + nspawn::util::disable_networking { $machine: } + nspawn::util::enable_networkd { $machine: } + } -- cgit v1.2.3