Facts to identify a Solaris global zone

James Sweeny



9,250 latest version

3.9 quality score

Version information

  • 0.0.1 (latest)
released May 30th 2013

Start using this module


supercow/global_zone_id — version 0.0.1 May 30th 2013

Solaris Global Zone ID

A Solaris zone is a container that provides an independent virtual machine (called a "zone" or "non-global zone") available in Solaris 10 and newer.

This module provides two custom facts for working with these zones.

Basic Usage

For the global_zone fact to be available on a non-global zone, the global_zone_id class must be applied to the global zone which hosts it.

# On the node acting as a global zone:
include global_zone_id

No puppet code needs to be applied on non-global zones. The facts can be viewed after puppet completes a plugin-sync (typically during each puppet run) either by querying the inventory service (see "inventory" under the node's page in the Puppet Enterprise console) or by using the facter executable:

root@zone1:# facter global_zone

Custom Facts

  • solaris_zones: This fact enumerates all non-global zones on the current global zone, excluding the global zone itself, using the command 'zoneadm list'. Zone names are returned as a comma-separated string.

  • global_zone: This fact reads the /etc/global_zone file and returns the value. This file should be set by the global zone by applying the global_zone_id class.


Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


James Sweeny


Please log bug reports and enhancement requests at the project site on GitHub.