Different Set of Packages
Most likely you want not just plain vanilla small-server
Solaris
installation, but you are interested in some additional packages that
can be installed. Instead of installing them manually or via custom
scripts, why don't we specify them in the manifest? As you might have
guessed already, if we can specify the version of entire
package in
the software_data
part of the manifest, we can add more packages the
same way, by using their FMRI names. Let's imagine we want to add a new
management platform Puppet which was added recently to Oracle Solaris
11.2. If Puppet is installed from the beginning in the system, it can
make system management much easier. But that's a topic for another
hands-on lab.
First, we have to find Puppet package we want to install.
root@solarislab:~# pkg list -av '*puppet*' FMRI IFO pkg://solaris/system/management/puppet@3.6.2,5.11-0.175.2.5.0.2.0:20141114T212642Z --- pkg://solaris/system/management/puppet-19@3.6.2,5.11-0.175.2.5.0.2.0:20141114T212630Z ---
Copy the first package's FMRI until the @
sign into the clipboard or
Notepad. Open the manifest file and edit it. After the line
with solaris-small-server
FMRI insert the line with Puppet's FMRI
(shown in bold).
<software_data action="install"> <name>pkg:/entire@0.5.11-0.175.2.11.0.5.0</name> <name>pkg:/group/system/solaris-small-server</name> <name>pkg://solaris/system/management/puppet</name> </software_data>
Don't forget to update the manifest after changing the XML file!
root@solarislab:~# installadm update-manifest -n default-sparc -m s11.2.11 -f ./s11.2.11-manifest.xml Changed Manifest: 's11.2.11'
The rest is easy. Get back to OpenBoot prompt on the client (use init
0
for that) and install it again (with boot net - install
). After
configuring the system (hostname, IP, time zone, etc.) login via console
and check if you have installed the right version of Solaris and the
Puppet package.
ai-client console login: root Password: solaris1 Sep 22 17:43:17 ai-client login: ROOT LOGIN /dev/console Oracle Corporation SunOS 5.11 11.2 May 2015 root@ai-client:~# pkg list entire NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.2.11.0.5.0 i-- root@ai-client:~# pkg list '*puppet*' NAME (PUBLISHER) VERSION IFO system/management/puppet 3.6.2-0.175.2.5.0.2.0 i-- system/management/puppet-19 3.6.2-0.175.2.5.0.2.0 i--
Success! Let's summarize what we have learned in this exercise:
- AI manifest controls what software is going to be installed on the client. You can add packages that are available from your IPS repository.
- Don't forget to update the manifest in the install service after you have edited the XML file.
- You can specify which clients should use each particular manifest by
creating criteria based on hostname, IP address, MAC address, etc.
IMPORTANT: in this criteria AI uses the hostname and IP address that
were set in
network-boot-parameters
by OpenBoot, not the hostname/IP you intend to use after installation. Usually they are the same, but could be different.