Report abuse

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class zone_test {

  $root_password  = "\$1\$c3NKTTce\$6h2lN0Ik0DDuxgVJN33Vl0"
  $realhostname   = "a-test.foo.com"
  $ip_address     = "192.168.100.15"
  $netmask        = "255.255.255.0"
  $defaultroute   = "192.168.100.1"

  zone {
    "test":
      ensure        => running,
      name          => "test",
      sysidcfg      => template("/icg/pkg/local/puppet/files/public/etc/sysidcfg.erb"),
      inherit       => ["/usr", "/sbin", "/platform", "/lib"],
      path          => "/zones/test",
      ip            => "e1000g0:192.168.100.15",
      autoboot      => true,
      create_args   => "add fs; set dir=/opt/SUNWspro ; set special=/opt/SUNWspro ; set type=lofs ; add options [ro,nodevices] ; end ; add fs; set dir=/etc/globalzone set special=/etc/nodename ; set type=lofs ; add options [ro,nodevices] ; end ; add fs ; set dir=/icg ; set special=/icg ; set type=lofs ; add options [ro,nodevices] ; end ; add fs ; set dir=/sw ; set special=/sw ; set type=lofs ; add options [ro,nodevices] ; end ; add fs ; set dir=/usr/pkg ; set special=/usr/pkg ; set type=lofs ; add options [ro,nodevices] ; end ; add fs ; set dir=/var/db/pkg ; set special=/var/db/pkg ; set type=lofs ; add options [ro,nodevices] ; end ; add dataset ; set name=rpool/zones/test/tank ; end ;",
      require       => Zfs[zone_test],
      require       => Zfs[zone_test_tank];
  }
}

### GLOBAL NODE

node 'global.foo.com' {

...

  zfs {
   "zone_test":
      name        => "rpool/zones/test",
      mountpoint  => "/zones/test",
      compression => on;

   "zone_test_tank":
      name        => "rpool/zones/test/tank",
      mountpoint  => "none",
      compression => on;
  }

  file {
    "/zones/test":
      owner       => root,
      group       => root,
      mode        => 700;
  }

  include zone_test
}

### END GLOBAL ZONE NODE



### START ZONE NODE

node 'a-test.foo.com' {

...

}