The following errors are common to both SPARC and x86 installations:
You can ignore warning messages similar to the following example that might appear on the console log:
May 5 11:38:41 irperf2 mDNSResponder: [ID 702911 daemon.error] Client application registered 2 identical instances of service i86pc_osol_1002-128_is._OSInstall._tcp.local. port 46502. May 5 11:38:41 irperf2 mDNSResponder: [ID 702911 daemon.error] Client application registered 3 identical instances of service i86pc_osol_1002-128_is._OSInstall._tcp.local. port 46502. ... May 5 11:38:43 irperf2 mDNSResponder: [ID 702911 daemon.error] Excessive name conflicts (16) for sun4v_osol_1002-131_is._OSInstall._tcp.local. (SRV); rate limiting in effect May 5 11:38:43 irperf2 mDNSResponder: [ID 702911 daemon.error] Excessive name conflicts (17) for sun4v_osol_1002-131_is._OSInstall._tcp.local. (SRV); rate limiting in effect ...
These messages about multiple identical service instances or about name conflicts might appear in any one of the following cases:
You have configured the AI server to serve multiple interfaces but not all of its interfaces.
Your AI server is hosting earlier install service images.
An AI installation might fail if the system has more physical RAM than disk space. The space allocated to swap and dump devices might reduce the available space for installing the OS. The following error message might be displayed:
ImageInsufficentSpace: Insufficient disk space available (8.84 GB) for estimated need (9.46 GB) for Root filesystem
Workaround: Choose one of the following workarounds:
If not limited by the size of the disk, allocate more space to the slice being used as a virtual device (vdev) in the root pool.
Disable the need for a swap volume to be allocated. In the AI manifest, specify the value true for the noswap attribute in the <logical> tag of the <target> section. For example:
<logical noswap="true"> </logical>
Define the zpool and allocate smaller swap and dump sizes in the manifest.
<target> <disk whole_disk="true" in_zpool="rpool"> <disk_keyword key="boot_disk"/> </disk> <logical> <zpool name="rpool" root_pool="true"> <zvol name="swap" use="swap"> <size val="2gb"/> </zvol> <zvol name="dump" use="dump"> <size val="4gb"/> </zvol> </zpool> </logical> </target>
Disable allocation of one swap or dump device, and allocate a specific size to the remaining device (dump or swap). The following example shows how to disable swap and add a 4 GB dump size:
<target> <disk whole_disk="true" in_zpool="rpool"> <disk_keyword key="boot_disk"/> </disk> <logical noswap="true"> <zpool name="rpool" root_pool="true"> <zvol name="dump" use="dump"> <size val="4gb"/> </zvol> </zpool> </logical> </target>
For more information about how to edit the AI manifest, refer to the ai_manifest (5) man page.
If a failure occurs during installation, then the following message is displayed:
21:43:34 Automated Installation Failed. See install log at /system/volatile/install_log Automated Installation failed Please refer to the /system/volatile/install_log file for details Jul 6 21:43:34 solaris svc.startd: application/auto-installer:default failed fatally: transitioned to maintenance (see 'svcs -xv' for details)
The client needs to reach the IPS package repository defined in the AI manifest in order to install Oracle Solaris. If the client cannot access the package repository, the installation fails and the application/auto-installer service transitions to maintenance. The following output is an example of what is displayed on the console:
15:54:46 Creating IPS image 15:54:46 Error occurred during execution of 'generated-transfer-1341-1' checkpoint. 15:54:47 Failed Checkpoints: 15:54:47 15:54:47 generated-transfer-1341-1 15:54:47 15:54:47 Checkpoint execution error: 15:54:47 15:54:47 Framework error: code: 6 reason: Couldn't resolve host 'pkg.example.com' 15:54:47 URL: 'http://pkg.example.com/solaris/release/versions/0/'. 15:54:47 15:54:47 Automated Installation Failed. See install log at /system/volatile/install_log Automated Installation failed Please refer to the /system/volatile/install_log file for details Aug 21 15:54:47 line2-v445 svc.startd: application/auto-installer:default failed fatally: transitioned to maintenance (see 'svcs -xv' for details) ... SUNW-MSG-ID: SMF-8000-YX, TYPE: defect, VER: 1, SEVERITY: major EVENT-TIME: Wed Aug 21 15:54:47 UTC 2013 PLATFORM: SUNW,Sun-Fire-V445, CSN: -, HOSTNAME: line2-v445 SOURCE: software-diagnosis, REV: 0.1 EVENT-ID: c8a5b809-ece4-4399-9646-d8c64d78aac7 DESC: A service failed - a start, stop or refresh method failed. AUTO-RESPONSE: The service has been placed into the maintenance state. IMPACT: svc:/application/auto-installer:default is unavailable. REC-ACTION: Run 'svcs -xv svc:/application/auto-installer:default' to determine the generic reason why the service failed, the location of any logfiles, and a list of other services impacted. Please refer to the associated reference document at https://support.oracle.com/msg/SMF-8000-YX for the latest service procedures and policies regarding this diagnosis.
Check the /system/volatile/install_log file for messages similar to the following:
TransportFailures: Framework error: code: 6 reason: Couldn't resolve host 'pkg.example.com' URL: 'http://example.com/solaris/versions/0/'
TransportFailures: Framework error: code: 7 reason: Failed connect to pkg.example.com:80; Connection refused URL: 'http://example.com/solaris/versions/0/'
TransportFailures: http protocol error: code: 404 reason: Not Found URL: 'http://example.com/mysolaris/versions/0/'
Depending on which messages you see, try the following possible remedies:
Try to reach the package server from the failed client, for example, by using ping.
If you are using DNS, check whether DNS is correctly configured on the client. See Check DNS.
If you are using a local repository, check whether you have made the repository accessible to all clients. See Chapter 3, Providing Access To Your Repository in Creating Package Repositories in Oracle Solaris 11.4.
Make sure the URI in the AI manifest does not have a typographical error.
Use a command such as the following command to check whether the package repository is valid:
$ pkg list -g http://pkg.example.com/solaris/ entire
You might need to refresh the catalog or rebuild the index.
If one of the packages specified in the AI manifest cannot be located in the IPS repositories, then the installer fails before installing any packages on the disk. In the following example, the installer could not find the package mypkg in the IPS repository. The following output is an example of what is displayed on the console:
14:04:02 Failed Checkpoints: 14:04:02 14:04:02 generated-transfer-1230-1 14:04:02 14:04:02 Checkpoint execution error: 14:04:02 14:04:02 The following pattern(s) did not match any allowable packages. Try 14:04:02 using a different matching pattern, or refreshing publisher information: 14:04:02 14:04:02 pkg:/mypkg 14:04:02 14:04:02 Automated Installation Failed. See install log at /system/volatile/install_log
The following output is an example of a portion of the /system/volatile/install_log log file:
PlanCreationException: The following pattern(s) did not match any allowable packages. Try using a different matching pattern, or refreshing publisher information: pkg:/mypkg
A related error occurs when you use AI to uninstall packages. The operation fails and the screen displays messages similar to the following example:
Failed Checkpoints: generated-transfer-809-1 Checkpoint execution error: 'pkg:library/python/python-compizconfig-27' matches no installed packages 'pkg:/desktop/compiz/*' matches no installed packages Automated Installation Fails. See install log at /system/volatile/install.log application/auto-installer:default failed fatally: transitioned to maintenance
The AI manifest might contain the following definitions related to the package:
<software_data action=install"> <name>pkg:/email@example.com</name> <name>pkg:/group/system/solaris-large-server</name> <name>pkg:/group/system/solaris-desktop</name> <name>pkg:/ncia/nisp/system/firstboot</name> <name>pkg:/system/device-allocation</name> </software_data> <software_data action=uninstall"> <name>pkg:/security/sudo</name> <name>pkg:/library/python/python-compizconfig-27</name> <name>pkg:/desktop/compiz/*</name> <name>pkg:/desktop/compiz</name> </software_data>
In this example, the AI is attempting to remove a package that does not actually exist on the system. Consequently, AI fails.
A case where this error risks occurring is if you uninstall packages using a generic manifest for both SPARC and x86 systems. Both platforms do not entirely share the same packages. Thus, AI would complete on one platform but fail on the other.
A number of workarounds are available to resolve this issue.
In the case of a missing package from the IPS repository, check whether the package in question is a valid package. If this package is available from a different IPS repository, add that IPS repository in the AI manifest by adding another publisher element to the source element.
In the case of the uninstalling of non-existing packages, adopt one of the following options before uninstalling:
Use the <reject> tag in the manifest to list packages to be excluded in the operation.
Refer to the instructions in the /usr/share/auto_install/manifest/ai_manifest.xml sample file for the proper use of this tag.
Define your own group package within your own publisher that references the desired packages while omitting the undesired ones.
Use a different manifest for each platform.
For an optimal solution, consider using derived manifests that generate manifests specifically based on whatever conditions are desired for particular clients. See Chapter 4, Using a Script to Customize an Installation in Customizing Automated Installations With Manifests and Profiles.
A message similar to the following message when you boot the client means the TLS certificate is not yet valid:
SSL3_GET_RECORD:wrong version number - secure HTTPS GET REQUEST to unsecured HTTP port
The cause of this problem could be that the system time on the client precedes the time the certificate was generated. Check the system time on the client. See Overview of Securing Automated Installations for information about how to generate and assign security credentials.
If you have secured your AI server and clients as described in Overview of Securing Automated Installations, and you are experiencing problems booting or installing those clients, try the following steps to check for authentication errors:
Check the Apache access_log and error_log in /var/ai/image-server/logs/ on the client.
Log onto the console of the client. Examine the /tmp/install_log file and the SMF service logs in /system/volatile/.
If authentication fails after the boot archive loads in the client, when attempting to get image files, AI manifests, or system configuration profiles, you could have a transient networking interruption. Check that the AI server is functioning correctly, and restart the installation.
Try using the openssl s_client command to test the connection:
$ openssl s_client -key client-key -cert client-certificate \ -CAcert server-CA-certificate -connect AI-server-address:port
Use the installadm list -s -v command to show the enabled or disabled state of security on the AI server. See Displaying AI Server Security Information.
Check the client's service policy with the installadm list -v -n svcnameS command.
Check assigned credentials against the CA certificates. Use the –K and –C options with the installadm list subcommand to list the assigned keys and certificates. Compare those keys and certificates with the expected keys and certificates using a character comparison utility such as diff.
Make sure the passphrase was removed from /var/ai/ai-webserver/tls.key/server.key on the client. X.509 private key files must have any passphrase removed.
Try using the wget command to fetch a file from an AI image, using the appropriate key, certificate, and CA certification, as shown in the following example:
$ wget --private-key=client-key --certificate=client-certificate \ --ca-certificate=server-CA-certificate \ http://AI-server-address:5555/path-to-file-in-image