Based on the usage scenarios discussed in Why Use Zones for Java ES?, and the Java ES component requirements and limitations discussed in Zones Limitations of Java ES Components, the Java ES installer provides qualified zones support for installation (and upgrade) of Java ES product components and for synchronization of shared components. Policies have been implemented in the installer to help prevent problematic installation and upgrade scenarios.
Based on the limitations discussed in Section 3, the Java ES installer implements two Java ES propagation policies:
When product components are installed in the global zone, they are set by default to not propagate into non-global zones (Message Queue is an exception). Hence the non-global zones do not see them in their registries nor have access to the installed components.
When shared components are installed in the global zone (for example, as part of the installation of product components), they are set to propagate into non-global zones. Hence non-global zones see them in their registries and have access to the installed shared components. This policy helps enforce the requirement that shared component versions be synchronized within any zone as described in Java ES Shared Components and Zones.
The Java ES installer can install product components as well as the shared components needed to support each product component. Before installing a selected product component, the installer checks for the existence of current and previous versions of shared components. If the installer detects that a shared component required by the selected component is of a previous version or is missing, the installer will upgrade all shared components currently installed and install any missing shared components required by the selected component. This behavior, which meets the requirements of Synchronization of Shared Components, applies to non-zone operating systems, global zones, and all non-global zones.
However, there are two exceptions to this behavior:
In sparse root zones, some shared components cannot be installed or upgraded (see Shared Components and Sparse Root Zones), and installation is halted until such time as such shared components have been installed or upgraded in the global zone. The installer provides the following message: “The following shared components, required by the components you have selected, cannot be installed or upgraded in a sparse root zone. Please install or upgrade these shared components in the global zone before proceeding. Use the All Shared Components option.” For more information see Synchronize All Shared Components.
In a global zone, if non-global zones are present, instead of upgrading all shared components currently installed and installing any missing shared components required by a selected component, the installer synchronizes all Java ES shared components, whether or not they are needed by any specific product component. This allows all shared components to be propagated to non-global zones, thus assuring that there is no intermixing of shared component versions in non-global zones.
A new capability has been implemented in the Java ES Release 5 to upgrade product components in a few special cases: Application Server, Message Queue, HADB, and Java DB. When the Java ES installer detects the previously installed release versions of these product components, it marks them as upgradable in the Component Selection page. If any of these four product components are selected, the installer will upgrade them using logic similar to that used for a fresh installation.
In particular, before upgrading a selected product component, the installer checks for the existence of current and previous versions of shared components. If the installer detects that a shared component required by the selected component is of a previous version or is missing, the installer will upgrade all shared components currently installed and install any missing shared components required by the selected component. This behavior, which meets the requirements described in Synchronize All Shared Components, applies to non-zone operating systems, global zones, and all non-global zones.
However, there are three exceptions to this behavior:
In sparse root zones, some shared components cannot be installed or upgraded and the upgrade operation is halted until such time as such shared components have been installed or upgraded in the global zone. (For more information, see Shared Components and Sparse Root Zones) The installer provides the following message: “The following shared components, required by the components you have selected, cannot be installed or upgraded in a sparse root zone. Please install or upgrade these shared components in the global zone before proceeding. Use the All Shared Components option.” (For more information, see Synchronize All Shared Components.)
Both Application Server and Message Queue are bundled with the Solaris operating system. Neither of these versions can be directly upgraded in a sparse-root zone. For the details regarding these two bundled components, see Product Component Special Cases.
In a global zone, if non-global zones are present, instead of upgrading all shared components currently installed and installing any missing shared components required by a component selected for installation, the installer synchronizes all Java ES shared components, whether or not they are needed at that time for any of the components selected for installation. This allows all shared components to be propagated to non-global zones, thus assuring that there is no intermixing of shared component versions in the non-global zones.
There are a number of special cases or exceptions that might interfere with the installation or upgrade of product components in non-global zones. These cases are described in Special Cases or Exceptions.
A shared component synchronization option is provided to meet situations in which all shared components must be synchronized. When the All Shared Components option is selected, the installer will upgrade all shared components currently installed and install any missing shared components, whether or not they are needed by any specific product component. This option applies to global zones and whole root zones, but not to sparse root zones.
The All Shared Components option, is needed in the following two zone-based scenarios:
Manually upgrading product components. The All Shared Components option is needed to perform the shared component installation and upgrade needed when upgrading product components that cannot be upgraded using the Java ES installer.
Installations or Upgrades in a Sparse Root Zone. Some shared components cannot be installed in default sparse root zones. (For details, see Installation of Product Components and Upgrade of Product Components.) Hence when running the installer in sparse root zones, you might first be required to synchronize shared components in the global zone, depending on the shared components involved. You use the All Shared Components option in the global zone to perform the shared component installation and upgrade required in this case.
The behaviors described above are summarized in the following table, which shows how the Java ES installer's treatment of shared components depends on the zone context as well as what has been selected in the component selection page.
Table A–1 Installer Behavior Regarding Shared Components
Zones Context |
Product Component Selected |
All Shared Components Selected |
---|---|---|
Non-zone operating System |
Upgrade all shared components currently installed Install any missing shared components required by the selected product component |
Upgrade all shared components currently installed Install any missing shared components, whether or not they are needed by any specific product component |
Global zone: no non-global zones |
Upgrade all shared components currently installed Install any missing shared components required by the selected product component |
Upgrade all shared components currently installed Install any missing shared components, whether or not they are needed by any specific product component |
Global zone: non-global zones exist |
Upgrade all shared components currently installed Install any missing shared components, whether or not they are needed by any specific product component |
Upgrade all shared components currently installed Install any missing shared components, whether or not they are needed by any specific product component |
Whole root zone |
Upgrade all shared components currently installed Install any missing shared components required by the selected product component |
Upgrade all shared components currently installed Install any missing shared components, whether or not they are needed by any specific product component |
Sparse root zone |
Cannot upgrade or install some shared components in read-only directories. If installer encounters such shared components, it blocks and instructs user to manage shared components in the global zone. |
Cannot upgrade or install some shared components in read-only directories. Installer therefore blocks and instructs user to manage shared components in the global zone. |