- Application Package Configurations
- Understanding Profiles and Application Dependencies
- Case Study: Minimizing Sun Validation Test Suite 5.1
- About the Authors
- Acknowledgements
- Ordering Sun Documents
- Ordering Sun Documents
- Accessing Sun Documentation Online
Case Study: Minimizing Sun Validation Test Suite 5.1
This section provides a case study demonstrating how to get Sun Validation Test Suite 5.1 software functional on a minimized Solaris 9 OE domain.
The purpose of this section is to provide a detailed example of how to apply the minimization methodology to an application in a realistic scenario. (See Part I, "Minimization Methodology.")
Although you are probably minimizing another application, you can use this case study to extrapolate how to apply the process to your application or any other supported application covered in this two-part article.
The first part of qualification involves reviewing the documentation of Sun Validation Test Suite 5.1 for any special requirements.
Sun Validation Test Suite 5.1 is available at http://www.sun.com/oem/products/vts and comes as three compressed tar files that need to be decompressed and extracted. These are the packages SUNWvts, SUNWvtsx, and SUNWvtsmn. There is also a user guide available that has installation instructions for Sun Validation Test Suite 5.1. We follow the installation procedure, which says to do a pkgadd with the packages.
NOTE
There is a note on the download Web site that XML packages SUNWlxml and SUNWlxmlx are required for Solaris 8 OE only. These packages are included as part of Solaris 9 OE, so no download is necessary for these packages.
The package SUNWvtsmn contains manual pages that are not installed in this example. For this case study, manual pages should not be installed on the minimized domain. The 64-bit version of the SUNWvtsx package is needed, because domains always run in 64-bit mode.
The user guide says to use pkgadd to add the packages.
The documentation makes no reference to setting the dynamic library location using crle(1) or LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 environmental variables. Also, according to the user guide, the metacluster installed must be at least SUNWCall. Because this is a subset of SUNWCXall, this condition is satisfied when installing to the full system.
Following the methodology, the next task is to install Sun Validation Test Suite 5.1 on a domain previously installed with SUNWCXall. Because we know the packages that are being added, there is no need to run script to capture a snapshot of the before and after pkginfo listings to figure out what these are.
Installation proceeds with the following, and Kerberos is not selected.
# pkgadd -d . The following packages are available: 1 SUNWvts SunVTS (sparc) 5.1,REV=08.02.06.27,OE=5.8,5.9 2 SUNWvtsx 64-bit SunVTS (sparc) 5.1,REV=08.02.06.27,OE=5.8,5.9 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: [...] SunVTS supports Kerberos V5 network authentication protocol, included in SEAM (Sun Enterprise Authentication Mechanism). This protocol is designed to provide strong authentication for client/server applications by using secret-key cryptography. In order to use this feature, a SEAM-based Security enabled network must be present. Do you want to enable the Kerberos V5 based security? [y,n,?] n [...]
The next task of the methodology involves running pkg.ksh against the application packages SUNWvts and SUNWvtsx to identify the Solaris package requirements.
# pkg.ksh SUNWvts SUNWvtsx [...] Unique packages needed: /usr/lib/64/libCrun.so.1 /usr/lib/64/libX11.so.4 /usr/lib/64/libaio.so.1 /usr/lib/64/libc.so.1 /usr/lib/64/libdl.so.1 SUNWbip SUNWcar SUNWcpcu SUNWcpp SUNWcsd SUNWcsl SUNWcslx [...] SUNWxwrtx SUNWzlib SUNWzlibx
Here, libraries are flagged that do not belong to a package. The "64" suggests these are 64-bit libraries. This assumption is confirmed by using the following command, showing a symbolic link to sparcv9.
# ls -l /usr/lib/64 lrwxrwxrwx 1 root root 7 Dec 19 09:05 /usr/lib/64 -> sparcv9
Setting LD_LIBRARY_PATH_64 to /usr/lib/sparcv9 before running pkg.ksh causes the shell to resolve these libraries to that library path. Running pkg.ksh again resolves the library problem.
# LD_LIBRARY_PATH_64=/usr/lib/sparcv9 # export LD_LIBRARY_PATH_64 # pkg.ksh SUNWvts SUNWvtsx [...]
NOTE
The same result can be achieved by running pkg.ksh with the -s option to search for dynamic libraries in packages or directories, to set LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 appropriately.
The next task of the methodology is to build the minimized profile with the packages reported as needed by pkg.ksh. This profile will be used to install the minimized domain.
Next, the minimized Solaris configuration is installed on the domain via JumpStart installation using the minimized profile.
After the JumpStart install, the installation of the application occurs as it did on the fully installed system. During the pkgadd of SUNWvts and SUNWvtsx, the following warning is displayed.
NOTE: SUNWcpc(x) and SUNWcpcu(x) packages not installed. Performance counters for certain CPU and [ccc]y tests will not be displayed.
Only SUNWcpcu is already installed, so the other three packages need to be added to the minimized profile and the JumpStart installation of the domain performed again, or functionality will be missing from Sun Validation Test Suite 5.1. Performing the pkgadd step again will succeed.
NOTE
The install process for an application might execute scripts that do logic checking on the packages already installed, like the previous example. These cannot be found using automated scripts, but can be found when testing the minimized configuration, hence the importance of testing the minimized configuration.
TABLE 34 lists the missing packages.
TABLE 34 Missing Packages
Package Type |
Description |
SUNWcpc |
CPU performance counter driver |
SUNWcpcux |
CPU performance counter libraries and utilities (64-bit) |
SUNWcpcx |
CPU performance counter driver (64-bit) |
As seen on the fully installed domain, LD_LIBRARY_PATH_64 needs to be set before running the pkg.ksh, as on the fully installed system, against SUNWvts and SUNWvtsx.
On a Sun Fire V1280, 6800, 12K, or 15K domain, there is no smartcard hardware, so the SUNWocf package (open card framework) can be removed.
Sun Validation Test Suite 5.1 requires X-packages to be installed as seen from the output of pkg.ksh. This requirement means that the packages for supporting Sun Validation Test Suite 5.1 have to be added to the profile for applications requiring X-based executables.
TABLE 35 lists only the packages that were needed by Sun Validation Test Suite 5.1.
TABLE 35 Packages Needed for Sun Validation Test Suite 5.1
Package Type |
Description |
SUNWcpc |
CPU performance counter driver |
SUNWcpcu |
CPU performance counter libraries and utilities |
SUNWcpcux |
CPU performance counter libraries and utilities (64-bit) |
SUNWcpcx |
CPU performance counter driver (64-bit) |
SUNWcpp |
Solaris cpp |
SUNWdtbas |
CDE application basic runtime environment |
SUNWfns |
Federated naming system |
SUNWgss |
GSSAPI V2 |
SUNWgssc |
GSSAPI CONFIG V2 |
SUNWlxml |
The XML library |
SUNWlxmlx |
The XML library (64-bit) |
SUNWmdb |
Modular debugger |
SUNWmdbx |
Modular debugger (64-bit) |
SUNWrsg |
RPCSEC_GSS |
SUNWtltk |
ToolTalk runtime |
SUNWwrsux |
WCI RSM commands and libraries (64-bit) |
SUNWxwcft |
X-Windows system common (not required) fonts |
SUNWxwdv |
X-Windows system window drivers |
SUNWxwfnt |
X-Windows system platform required fonts |
SUNWxwice |
X-Windows system inter-client exchange (ICE) component |
SUNWxwicx |
X-Windows system ICE library (64-bit) |
SUNWxwopt |
X-Windows system optional clients |
SUNWxwplt |
X-Windows system platform software |
SUNWxwplx |
X-Windows system library software (64-bit) |
SUNWxwrtl |
X-Windows system and graphics runtime library links in /usr/lib |
SUNWxwrtx |
X-Windows system runtime compatibility package (64-bit) |
Functionality testing of Sun Validation Test Suite 5.1 is carried out by executing sunvts and running the various functional tests.
The next section illustrates what happens when you attempt to install Sun Validation Test Suite 5.1 software on a domain installed with a non-X JumpStart profile; it demonstrates the reason why Sun Validation Test Suite 5.1 has a dependency on X-packages. This example points out an issue that customers might have to deal with when defining minimized systems for their applications.
Minimizing Sun Validation Test Suite 5.1 for Non-X Profile
Sun Validation Test Suite 5.1 has a console interface. In an attempt to get Sun Validation Test Suite 5.1 to be installed as part of the non-X minimal profile, by ignoring the X functionality, the packages SUNWvts and SUNWvtsx were added to a Solaris 9 OE minimized domain installed with the non-X minimal profile, which has no X-packages.
When doing a pkgadd of SUNWvts, the following is observed.
## Processing system information. ## Verifying package dependencies. WARNING: The <SUNWxwdv> package "XWindows Window Drivers" is a prerequisite package and should be installed. WARNING: The <SUNWxwplt> package "X Windows platform software" is a prerequisite package and should be installed. WARNING: The <SUNWxwcft> package "X Windows common (not required) fonts" is a prerequisite package and should be installed. Do you want to continue with the installation of <SUNWvts> [y,n,?]
Ignoring these warnings by selecting y appears to continue the installation successfully. However, upon running sunvts, the following is displayed.
iutest: fatal: libX11.so.4: open failed: No such file
Examining this file shows that X-dynamic libraries are linked at compile time.
# ldd.ksh -s 'which iutest' Couldn't find package for libX11.so.4 => (file not found) [...]
The following table lists all the X-packages that are needed just to get Sun Validation Test Suite 5.1 installed from the non-X profile and run a simple test. It does not account for the additional testing that is needed to find the other packages required for corner-case functionality.
TABLE 36 Packages Required to Run Sun Validation Test Suite 5.1 From Non-X Profile
Package Type |
Description |
SUNWxwcft |
X-Windows system common (not required) fonts |
SUNWxwdv |
X-Windows system window drivers |
SUNWxwplt |
X-Windows system platform software |
SUNWxwplx |
X-Windows system library software (64-bit) |
SUNWxwrtl |
X-Windows system and graphics runtime library links in /usr/lib |
SUNWxwrtx |
X-Windows system runtime compatibility package (64-bit) |
Due to the X-dynamic libraries requirement, Sun Validation Test Suite 5.1 has to be part of the X-applications profile.