Performing an Automated Installation: Sample Scenario

This section puts together the steps to run automated installations, beginning with AI server configuration.

Note:

For more information about customizing installations with AI, see Customizing Automated Installations With Manifests and Profiles. A good example of a complex AI setup is provided in https://blogs.oracle.com/solaris/customize-network-configuration-with-solaris-automated-installs-v2.

The scenario has the following assumptions:

  • The environment consists of x86 systems only.

  • The system hosting the AI server is running Oracle Solaris 11.4 that is fully configured.

  • Installation has two target clients: Client A and Client B.

  • Both clients use a common manifest with the following parameter definitions:

    • At the end of the installation, reboot automatically.

    • Add the desktop package when installing the OS.

  • Each client uses its own configuration profile with client-specific time zone settings.

Note:

Output in the examples is truncated for brevity. Edits to XML manifest and configuration files are in bold.

Set up the AI server to manage DHCP.

$ installadm set-server -m -i 203.0.113.10 -c 20
                  Process takes a while.
$ svcs -a | grep ipv4
...
online     7:18:18 svc:/network/dhcp/server:ipv4

Create the install service.

$ installadm create-service -n s11_4-i386
...
  0% : Created Service s11_4-i386
  0% : Refreshing SMF service svc:/system/install/server:default

$ installadm list
Service Name     Status Arch Type Secure Alias Aliases Clients Profiles Manifests
------------     ------ ---- ---- ------ ----- ------- ------- -------- ---------
s11_4-i386       on     i386 pkg  no     no    1       0       0        1        

Create an XML manifest file.

For example, create and edit /var/tmp/x86manifest.xml with the following settings:

  <ai_instance name="x86manifest" auto_reboot="true">
...
<sofware_data action="install">
other-packages
<name>pkg:/group/system/solaris-desktop</name>
</software_data>

Create the manifest instance based on the XML file.

$ installadm create-manifest -m x86manifest \
-f /var/tmp/x86manifest.xml -n s11_4-i386
Created Manifest x86manifest

$ installadm list -m
Service Name           Manifest Name      Type      Status    Criteria
------------           -------------      ----      ------    --------
s11_4-i386             x86manifest        xml       active    none

Create two XML files as profiles, each with a specific time zone setting.

  • /var/tmp/profileA.xml

    <service_bundle type="profile" name="profileA">
    ...
      <service name="system/timezone" type="service" version="1">
        <instance enabled="true" name="default">
          <property_group name="timezone" type="application">
            <propval name="localtime" type="astring" value="US/Pacific"/>
          </property_group>
        </instance>
      </service>
  • /var/tmp/profileB.xml

    <service_bundle type="profile" name="profileB">
    ...
      <service name="system/timezone" type="service" version="1">
        <instance enabled="true" name="default">
          <property_group name="timezone" type="application">
            <propval name="localtime" type="astring" value="Asia/Tokyo"/>
          </property_group>
        </instance>
      </service>

Create corresponding profile instances for the service with MAC addresses as criteria.

$ installadm create-profile -p profileA -f /var/tmp/profileA.xml \
-c aa:bb:cc:dd:ee:ff -n s11_4-i386
Created Profile profileA
$ installadm create-profile -p profileB -f /var/tmp/profileB.xml \
-c 00:aa:11:bb:22:cc -n s11_4-i386
Created Profile profileB

$ installadm list -p
Service Name   Profile Name   Environment   Criteria
------------   ------------   -----------   -------
s11_4-i386     profileA       system        mac = aa:bb:cc:dd:ee:ff
               profileB       system        mac = 00:aa:11:bb:22:cc

Create the clients for the service and specify their MAC addresses for identification.

$ installadm create-client -e aa:bb:cc:dd:ee:ff -n s11_4-i386
adding host entry for aa:bb:cc:dd:ee:ff to local DHCP configuration.
Created Client aa:bb:cc:dd:ee:ff

$ installadm create-client -e 00:aa:11:bb:22:cc -n s11_4-i386
adding host entry for 00:aa:11:bb:22:cc to local DHCP configuration.
Created Client 00:aa:11:bb:22:cc

$ installadm list -c
Service Name   Client Address      Arch   Secure   Custom   Custom   Status
                                                   Args     Grub
------------   --------------      ----   ------   ------   ------   ------
s11_4-i386     aa:bb:cc:dd:ee:ff   i386   no       no       no       Not started
               00:aa:11:bb:22:cc   i386   no       no       no       Not started

Boot each client.

During the boot process, press the function key to access the BIOS screen and then select to boot from the network. Continue booting and from the GRUB menu, select to run the OS automatic install.