|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1. Introduction to the Automated Installer 2. Automated Installer Task Map 3. Automated Installer Setup Instructions 4. How to Administer an Automated Install Server 5. How to Administer a Custom Install Client 6. How to Administer the Manifest Files for an Install Service 7. How to Manage Client Installations |
AI Manifest ContentsAs described in Chapter 6, How to Administer the Manifest Files for an Install Service, you can replace the default AI manifest for an install service with a manifest that contains specifications for particular clients. See the following detailed summaries of AI manifest contents and possible values: AI Manifest Tag ValuesThe following table describes each tag in the AI manifest and elements within each tag, and the values that can be entered for each tag and element. Table 9-1 AI Manifest Tags and Values
AI Manifest Complete FileThe following is a complete AI manifest file with comments. <?xml version="1.0" encoding="UTF-8"?>
<!--
CDDL HEADER START
The contents of this file are subject to the terms of the
Common Development and Distribution License (the "License").
You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions
and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]
CDDL HEADER END
Copyright 2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
-->
<!--
===============================================================================
RelaxNG schema for Automatic Installer input manifest specification.
Contains schema rules and content specification for AI manifest.
===============================================================================
-->
<grammar
xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<element name="ai_manifest">
<attribute name="name"/>
<!-- General automatic Installation parameters -->
<ref name="auto_installation_manifest"/>
</element>
</start>
<!--
=======================================================================
Parameters used for Automatic installation
=======================================================================
-->
<define name="auto_installation_manifest">
<interleave> <!-- Any element order is OK. -->
<optional>
<element name="ai_target_device">
<ref name="ai_target_device_contents"/>
</element>
</optional>
<zeroOrMore>
<element name="ai_device_partitioning">
<ref name="ai_device_partitioning_contents"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="ai_device_vtoc_slices">
<ref name="ai_device_vtoc_slices_contents"/>
</element>
</zeroOrMore>
<optional>
<element name="ai_device_zfs_root_pool">
<ref name="ai_zfs_root_pool_contents"/>
</element>
</optional>
<optional>
<element name="ai_device_swap">
<ref name="ai_device_swap_contents"/>
</element>
</optional>
<optional>
<element name="ai_pkg_repo_default_authority">
<ref name="ai_pkg_repo_contents"/>
</element>
</optional>
<zeroOrMore>
<element name="ai_pkg_repo_addl_authority">
<ref name="ai_pkg_repo_contents"/>
</element>
</zeroOrMore>
<!--
========================================================
Define AI packages
========================================================
-->
<choice>
<element name="ai_packages">
<zeroOrMore>
<element name="package_name">
<text/>
</element>
</zeroOrMore>
</element>
<element name="ai_install_packages">
<oneOrMore>
<element name="pkg">
<attribute name="name">
<text/>
</attribute>
</element>
</oneOrMore>
</element>
</choice>
<optional>
<element name="ai_uninstall_packages">
<oneOrMore>
<element name="pkg">
<attribute name="name">
<text/>
</attribute>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="ai_http_proxy">
<ref name="ai_http_proxy_contents"/>
</element>
</optional>
<optional>
<element name="ai_auto_reboot">
<data type="boolean"/>
</element>
</optional>
</interleave>
</define>
<!--
=======================================================================
Selections for AI target Device specification
=======================================================================
-->
<define name="ai_target_device_contents">
<interleave>
<optional>
<!-- device name like c0t0d0 or
MPXIO name like c0t2000002037CD9F72d0 -->
<element name="target_device_name">
<text/>
</element>
</optional>
<optional>
<element name="target_device_type">
<text/>
</element>
</optional>
<optional>
<element name="target_device_vendor">
<text/>
</element>
</optional>
<optional>
<element name="target_device_size">
<text/>
</element>
</optional>
<optional>
<element name="target_device_install_slice_number">
<choice>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
</choice>
</element>
</optional>
<optional>
<element name="target_device_use_solaris_partition">
<data type="boolean"/>
</element>
</optional>
<optional>
<element name="target_device_overwrite_root_zfs_pool">
<data type="boolean"/>
</element>
</optional>
</interleave>
</define>
<!--
=======================================================================
Selections for AI target device partitions specification
=======================================================================
-->
<define name="ai_device_partitioning_contents">
<interleave>
<element name="partition_action">
<choice>
<value>create</value>
<value>delete</value>
</choice>
</element>
<optional>
<element name="partition_number">
<data type="unsignedByte"/>
</element>
</optional>
<optional>
<element name="partition_start_sector">
<data type="long"/>
</element>
</optional>
<element name="partition_size">
<text/> <!-- number of "max_size" to use largest free region -->
</element>
<element name="partition_type">
<text/>
</element>
<optional>
<element name="partition_size_units">
<ref name="disk_space_size_units"/>
</element>
</optional>
</interleave>
</define>
<!--
=======================================================================
Selections for AI target device vtoc slices specification
=======================================================================
-->
<define name="ai_device_vtoc_slices_contents">
<interleave>
<element name="slice_action">
<choice>
<value>create</value>
<value>delete</value>
<value>preserve</value>
</choice>
</element>
<element name="slice_number">
<data type="unsignedByte"/>
</element>
<element name="slice_size">
<text/> <!-- number of "max_size" to use largest free region -->
</element>
<optional>
<element name="slice_size_units">
<ref name="disk_space_size_units"/>
</element>
</optional>
</interleave>
</define>
<!--
=======================================================================
Selections for AI ZFS Root Pool specification
=======================================================================
-->
<define name="ai_zfs_root_pool_contents">
<interleave>
<optional>
<element name="enable_mirrored_root">
<data type="boolean"/>
</element>
</optional>
<optional>
<element name="zfs_options">
<text/>
</element>
</optional>
</interleave>
</define>
<!--
=======================================================================
Selections for AI swap specification
The target device will be used as swap device
=======================================================================
-->
<define name="ai_device_swap_contents">
<element name="ai_swap_size">
<data type="unsignedLong"/>
</element>
</define>
<!--
=======================================================================
Define an authority and its mirror backups.
=======================================================================
-->
<define name="ai_pkg_repo_contents">
<element name="main">
<ref name="ai_repo_name"/>
</element>
<zeroOrMore>
<element name="mirror">
<ref name="ai_mirror_name"/>
</element>
</zeroOrMore>
</define>
<define name="ai_repo_name">
<attribute name="authname">
<text/>
</attribute>
<attribute name="url">
<text/>
</attribute>
</define>
<define name="ai_mirror_name">
<attribute name="url">
<text/>
</attribute>
</define>
<!--
=======================================================================
Define AI proxy
=======================================================================
-->
<define name="ai_http_proxy_contents">
<attribute name="url">
<text/>
</attribute>
</define>
<!--
=======================================================================
General definitions
=======================================================================
-->
<!--
=======================================================================
Units measuring sizable regions of space on disk drives
=======================================================================
-->
<define name="disk_space_size_units">
<choice>
<value>sectors</value>
<value>secs</value> <!-- disk space sectors (512 bytes) -->
<value>sec</value> <!-- disk space sectors (512 bytes) -->
<value>s</value>
<value>megabytes</value>
<value>megabyte</value>
<value>mb</value>
<value>m</value>
<value>gigabytes</value>
<value>gigabyte</value>
<value>gb</value>
<value>g</value>
<value>terabytes</value>
<value>terabyte</value>
<value>tb</value>
<value>t</value>
<value>SECTORS</value>
<value>SECS</value> <!-- disk space sectors (512 bytes) -->
<value>SEC</value> <!-- disk space sectors (512 bytes) -->
<value>S</value>
<value>MEGABYTES</value>
<value>MEGABYTE</value>
<value>MB</value>
<value>M</value>
<value>GIGABYTES</value>
<value>GIGABYTE</value>
<value>GB</value>
<value>G</value>
<value>TERABYTES</value>
<value>TERABYTE</value>
<value>TB</value>
<value>T</value>
</choice>
</define>
</grammar>
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|