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' {
...
}