zone: Manages Solaris zones.zoneAutorequires: If Puppet is managing the directory
specified as the root of the zone's filesystem (with the
path attribute), the zone resource will autorequire that
directory.
The following properties are available in the zone
type.
autobootValid values: true, false
Whether the zone should automatically boot.
Default value: true
datasetThe list of datasets delegated to the non-global zone from the global zone. All datasets must be zfs filesystem names which are different from the mountpoint.
ensureThe running state of the zone. The valid states directly reflect the
states that zoneadm provides. The states are linear, in
that a zone must be configured, then
installed, and only then can be running. Note
also that halt is currently used to stop zones.
Default value: running
inheritThe list of directories that the zone inherits from the global zone. All directories must be fully qualified.
ipThe IP address of the zone. IP addresses must be
specified with an interface, and may optionally be specified with a
default router (sometimes called a defrouter). The interface, IP
address, and default router should be separated by colons to form a
complete IP address string. For example:
bge0:192.168.178.200 would be a valid IP address string
without a default router, and
bge0:192.168.178.200:192.168.178.1 adds a default router to
it.
For zones with multiple interfaces, the value of this attribute should be an array of IP address strings (each of which must include an interface and may include a default router).
iptypeValid values: shared, exclusive
The IP stack type of the zone.
Default value: shared
pathThe root of the zone's filesystem. Must be a fully qualified file
name. If you include %s in the path, then it will be
replaced with the zone's name. Currently, you cannot use Puppet to move
a zone. Consequently this is a readonly property.
poolThe resource pool for this zone.
sharesNumber of FSS CPU shares allocated to the zone.
The following parameters are available in the zone
type.
cloneInstead of installing the zone, clone it from another zone. If the zone root resides on a zfs file system, a snapshot will be used to create the clone; if it resides on a ufs filesystem, a copy of the zone will be used. The zone from which you clone must not be running.
create_argsArguments to the zonecfg create command. This can be
used to create branded zones.
idThe numerical ID of the zone. This number is autogenerated and cannot be changed.
install_argsArguments to the zoneadm install command. This can be
used to create branded zones.
namenamevar
The name of the zone.
providerThe specific backend to use for this zone resource. You
will seldom need to specify this --- Puppet will usually discover the
appropriate provider for your platform.
realhostnameThe actual hostname of the zone.
sysidcfg%{The text to go into the sysidcfg file when the zone is
first booted. The best way is to use a template:
# $confdir/modules/site/templates/sysidcfg.erb
system_locale=en_US
timezone=GMT
terminal=xterms
security_policy=NONE
root_password=<%= password %>
timeserver=localhost
name_service=DNS {domain_name=<%= domain %> name_server=<%= nameserver %>}
network_interface=primary {hostname=<%= realhostname %>
ip_address=<%= ip %>
netmask=<%= netmask %>
protocol_ipv6=no
default_route=<%= defaultroute %>}
nfs4_domain=dynamic
And then call that:
zone { 'myzone':
ip => 'bge0:192.168.0.23',
sysidcfg => template('site/sysidcfg.erb'),
path => '/opt/zones/myzone',
realhostname => 'fully.qualified.domain.name',
}
The sysidcfg only matters on the first booting of the
zone, so Puppet only checks for it at that time.}