During the email discussion for this case last
week it was discovered that Fujitsu has issued
their patches in the 9xxxxx range that we were
originally proposing for special patches.
We have exchanged email off-line with Fujitsu and
they are only using the 9xxxxx range for their
patches. They plan to continue to use that range
for their patches.
Internally we have discussed this and we are simply
changing the range for special patches to be the
8xxxxx range. I have included a new draft of the
proposal which specifies this. As was previously
noted, moving into this range does not significantly
impact the consumption of patch IDs over the course of
their expected lifetime.
Because this is such a small change to the proposal,
I left the timeout for the 16th, but I can extend it
if anyone needs more time.
Thanks,
Jerry
---
SUMMARY:
This fast-track documents a new convention used for patch IDs on Solaris.
There is no pre-existing architecture to build on that has been documented
in this area, so this case is being filed to publically record a
new convention which reserves the patch ID namespace beginning with
the number 8 for "special patches".
Patch binding is requested for the code using this new convention.
The stability of this interface is committed.
DETAILS:
There has been a long-standing practice by gatekeepers and the release
process to create a "special patch" as a bookkeeping mechanism when a
modification outside of a normal engineering delivery is made to
a product being released. These special patches are created with a
standard patch ID and appear on end-user systems as an installed patch.
However, the special patches are never actually released to customers as
a downloadable patch, they only show up as metadata on an installed system
(e.g. special patches appear to be installed on systems running Solaris 10
Update releases). Special patches are intended from the start to never be
released to customers as real patches.
This causes a problem for the Solaris Zones [1] "update on attach"
feature [2] since the special patches appear as a dead-end during
the validation. This happens because we do not allow a user to
downgrade their system, so a missing patch appears as a downgrade.
For example, if a system with a zone was running S10u5, then the S10u5
special patches would appear to be installed in that zone. If you then
tried to migrate the zone to a S10u6 system, the S10u5 special patches
would not be on the u6 system, so "update on attach" sees those as
missing patches, treats this as a downgrade and prevents the migration.
Because there is no way for a customer to get the special patches to
install onto the u6 system, and because the special patches are never
obsoleted in a subsequent release, the zone migration is at a dead-end.
The problem from the "update on attach" perspective is that special
patches look just like normal patches. Some way is needed to identify
these patches as bookkeeping, and not patches that need to be validated
during a zone migration. During discussions with all of the interested
parties (RE, gatekeeping, patch test) a variety of solutions were
considered to address this. In the end, all parties agreed to a simple
solution which makes special patches self-identifying by creating these
patches in the patch ID range 8xxxxx. This solution was agreed to have an
acceptable impact on the existing processes and teams which deal with
patches. Everyone involved recognized that this is not the cleanest
architecture, but it is also recognized that there is no architecture for
special patches. A more complex design and implementation for handling
this in all impacted areas is not considered a feasible alternative.
Originally the intent was to use patches in the 9xxxxx range but during
the course of this case it was discovered that Fujitsu is issuing their
patches in the 9xxxxx range. This should be noted for any future project
wishing to consume the patch ID namespace.
Up to this point the zone "update on attach" code has kept a blacklist
of special patches, but this is not maintainable going forward. The zones
code will be modified to ignore patches in this new range during the
validation phase of a zone migration.
The patch and gatekeeping teams are modifying their tools and processes
to generate special patches in the 8xxxxx range and audit for this
in the patch pipeline. A test patch in this range has been generated
and tested throughout the pipeline to ensure that all existing tools
work correctly with patches in this range.
EXPORTED INTERFACES
Patch ID range 8xxxxx Committed
reserved for special patches
IMPORTED INTERFACES
None
REFERENCES
1. PSARC 2002/174 Virtualization and Namespace Isolation in Solaris
2. PSARC 2007/621 zone update on attach
3. 'update on attach' should ignore special patches in 8xxxxx range
Bugid 6791625 http://bugs.opensolaris.org/view_bug.do?bug_id=6791625