diff options
Diffstat (limited to 'manifests/machine.pp')
-rw-r--r-- | manifests/machine.pp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/manifests/machine.pp b/manifests/machine.pp deleted file mode 100644 index e6d01e2..0000000 --- a/manifests/machine.pp +++ /dev/null @@ -1,72 +0,0 @@ -define nspawn::machine ( - String $template, - String $machine = $name, - Boolean $enable = false, - String $machine_dir = $nspawn::machine_dir, - Hash $nspawn_opts = {}, -) { - - require ::nspawn::setup - - # TODO - # gather fact from 'machinectl list-images', and check if one with - # our name + '.base' exists - - $domain = $facts['domain'] - $root = "${machine_dir}/${machine}" - - exec { "lvcreate -n vm-${machine} -V 100G --thinpool lvpoolData VolGroup": - creates => "/dev/VolGroup/vm-${machine}", - path => ['/usr/bin',], - } -> systemd_mount { "/var/lib/machines/${machine}": - what => "/dev/VolGroup/vm-${machine}" - } - - # Copies image to us - # TODO does this actually do anything more than a deep copy? - exec { "Create ${machine} from template": - command => [ 'systemd-nspawn', - "--template=/var/lib/machines/${template}.base", - '--quiet', - '-D', $machine, - '/bin/true', # run some command so we don't get stuck on boot prompt - ], - path => ['/bin','/usr/bin'], - cwd => $machine_dir, - creates => "${machine_dir}/${machine}", - } - - file { "/var/lib/machines/${machine}/etc/hostname": - ensure => file, - content => "${machine}.${domain}\n", - require => Exec["Create ${machine} from template"], - } - - # systemd-nspawn --quiet -M debby systemctl enable puppet - - $nspawn_data = { - 'Exec' => { - # 'Hostname' => "${machine}.${domain}", - 'Boot' => 'true', - 'ResolvConf' => 'copy-static', # /usr/lib/systemd/resolv.conf - }, - 'Network' => { - 'Bridge' => 'br0', - } - # TODO deep merge? - } + $nspawn_opts - - file { "/etc/systemd/nspawn/${machine}.nspawn": - ensure => file, - content => epp('nspawn/unit_file.epp', { - data => $nspawn_data, - }), - notify => Service["systemd-nspawn@${machine}.service"], - } - - service { "systemd-nspawn@${machine}.service": - enable => $enable, - require => File["/etc/systemd/nspawn/${machine}.nspawn"], - } - -} |