summaryrefslogtreecommitdiff
path: root/manifests/machine.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/machine.pp')
-rw-r--r--manifests/machine.pp72
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"],
- }
-
-}