summaryrefslogtreecommitdiff
path: root/global/overlay/etc/puppet/modules/sunet/manifests/cloudimage.pp
blob: d6400d74406975123c008a9398d288155cbade03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
define sunet::cloudimage (
  $image_url   = "https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img",
  $dhcp        = true,
  $size        = "1G",
  $bridge      = "br0",
  $memory      = "1024",
  $cpus        = "1",
  $resolver    = undef,
  $ip          = undef,
  $netmask     = undef,
  $gateway     = undef,
  $ip6         = undef,
  $netmask6    = "64",
  $gateway6    = undef,
  $tagpattern  = undef,
  $repo        = undef
)
{
  package {'mtools': ensure => latest }
  package {'libvirt-bin': ensure => latest }
  package {'uuid-runtime': ensure => latest }
  package {'virtinst': ensure => latest }

  $image_url_a = split($image_url,"/")
  $image_name = $image_url_a[-1]
  $image_src = "/var/lib/libvirt/images/${image_name}"
  file { "/var/lib/libvirt/images/${name}": ensure => directory } ->
  exec {"wget -O${image_src} ${image_url}":
     onlyif => "test ! -f ${image_src}"
  }
  file { "/var/lib/libvirt/images/${name}/${name}-init.sh":
     content => template("sunet/cloudimage/mk_cloud_image.erb"),
     mode    => "0755"
  } -> 
  exec { "/var/lib/libvirt/images/${name}/${name}-init.sh":
     onlyif => "test ! -f /var/lib/libvirt/images/${name}/${name}.img"
  }
}