Hi All

ON PIT are in the process of qualifying new IPS based automation for ON PIT and 
DIY PIT.

The rest of this email describes how we propose to validate that the correct 
IPS packages
have been installed on our test systems.

Your review and feedback on this proposal would be appreciated.
thanks
Brian Keane


Proposal:

There is a need in ON-PIT (and by extension in DIY) for a facility that enables test systems to verify that what they have been installed with is indeed what they were meant to be installed with.

Such a facility has existed in PIT for some time in the case of WOS-based 
installs and an analog for IPS is now required.

Here is a synoptic overview of the logic that will be used to achieve that purpose. Implementation for that logic is more or less halfway through:

---

Step 1. A new build of Solaris is made known to ON-PIT's tools. This step is driven either by an engineer from PIT or by a customer of our DIY service.

If this build is based on IPS, then the URL of one or more IPS repository is 
supplied. A checksum is created in the following way:

Step 1.1 A meta-package that is significant for this repository is manually selected. The meta-package of choice for content repositories would be slim_install, on_all for nightly repos and on_extra for on_extra repos.

Step 1.2.Two ordered lists of package FMRIs are built for all packages that 
would be installed on a x86 and on a sparc system.

For instance, the list created for build 132 on a x86 system would look like:
---
[email protected],5.11-0.132:20100130T055919Z
[email protected],5.11-0.132:20100130T055936Z
[email protected],5.11-0.132:20100130T055952Z
[email protected],5.11-0.132:20100130T060135Z
[email protected],5.11-0.132:20100130T060242Z
[email protected],5.11-0.132:20100130T060303Z
[email protected],5.11-0.132:20100130T060217Z
<SNIP>
[email protected],5.11-0.132:20100130T063034Z <--- this package is x86 specific
<SNIP>
---

Step 1.3. Each list is then digested into a SHA1 checksum.

Step 1.4. The checksum, the meta-package it was derived from and the 
architecture it is concerned with are stored in a database.


Step 2. (Optional). A local mirror of the supplied repository(ies) is created.


Step 3. Clients are installed using either the repository URL(s) supplied or 
local mirrors thereof.


Step 4. Once installed, each client is supplied with the meta-package chosen for this repository as well as the reference checksum that is relevant to its architecture.

Step 4.1. The client builds an ordered list of packages required by the meta-package using 'pkg contents -m'. Packages that do not apply to its architecture are filtered out of the list.

Step 4.2. This list is digested into a SHA1 checksum

Step 4.3. The checksum thus obtained is compared against the reference 
checksum. An error is raised if they do not match.

Note that this does nothing for the internal consistency of each package, ie. to ascertain that the files present on a client really match what the packages' manifests prescribe. This latter function could be handled by 'pkg verify'/'pkg fix' if needed.
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to