Profiles can contain variables that are replaced with values from the client's installation environment during the installation process. In this way, a single profile file can set different configuration parameters on different clients. See Table 11–10 for a list of variables you can use.
In the following example profile named hostIPnet.xml, AI_HOSTNAME is a placeholder for the client system's host name, and AI_IPV4 is a placeholder for the client system's IP address.
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service name="system/identity" version="1" type="service"> <instance name="node" enabled="true"> <property_group name="config" type="application"> <propval name="nodename" value="{{AI_HOSTNAME}}"/> </property_group> <property_group name="install_ipv4_interface" type="application"> <propval name="name" value="net0/v4"/> <propval name="address_type" value="static"/> <propval name="static_address" type="net_address_v4" value="{{AI_IPV4}}/8"/> <propval name="default_route" type="net_address_v4" value="10.0.0.1"/> </property_group> </instance> </service> </service_bundle>
The following command creates a system configuration profile in the install service that will be customized for each installation client without changing the input hostandIP.xml file.
# installadm create-profile -n solaris11_2-i386 -f /export/hostIPnet.xml
While the hostandIP.xml file remains unchanged, the profiles that are applied to a client are customized. For example, the hostandIP.xml profile might have the following content when a client with host name server1 is installed:
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service name="system/identity" version="1" type="service"> <instance name="node" enabled="true"> <property_group name="config" type="application"> <propval name="nodename" value="server1"/> </property_group> <property_group name="install_ipv4_interface" type="application"> <propval name="name" value="net0/v4"/> <propval name="address_type" value="static"/> <propval name="static_address" type="net_address_v4" value="10.0.0.2/8"/> <propval name="default_route" type="net_address_v4" value="10.0.0.1"/> </property_group> </instance> </service> </service_bundle>
The following table shows the variables that can be used as placeholders in template profiles.