Greetings,

In today's pkg team discussion, the topics of staged publishing and 
repository deployment came up.

Here's my proposed solution:

Staged Publishing
=================
Staged publishing being defined as the ability to publish packages to a 
repository without packages from a given publishing "session" being 
added to the catalog until explicitly instructed.

Right now, if clients retrieve a new catalog from a repository as a new 
OpenSolaris release is being published, they may inadvertently attempt 
to upgrade to a release that hasn't yet had all of its packages 
published causing errors.

Changing the publishing step so that packages added during a "publishing 
  session" are not added to the "current" catalog, until instructed, 
would allow a repository to remain available during publishing without 
negatively impacting clients in the aforementioned way.

To implement this, the depot server needs to be changed to support two 
publishing modes: immediate and staged.

- Immediate publishing mode would add packages to the catalog and 
updatelog as they are published (matches existing behaviour) and would 
be the default.

- Staged publishing mode would add packages to a special temporary 
catalog and updatelog file until the depot is instructed to "commit" 
whatever packages have been published so far.  Once the depot is 
instructed to "commit" these packages, it will add the contents of the 
temporary catalog and updatelog files to the current catalog and 
updatelog (repo_dir/catalog/).  It will then create a copy of the 
current catalog and updatelog and place them into 
repo_dir/catalogs/ISO8601DATE/.

Staged Deployment
=================
Staged deployment being defined as the ability to serve multiple 
versions of the catalog.

This would require changing the depot server to allow the administrator 
to provide a date representative of a catalog snapshot 
(repo_dir/catalogs/ISO8601DATE/) to serve instead of serving the current 
catalog data (repo_dir/catalog/).

Storing the current catalog in repo_dir/catalog allows backwards 
compatibility with our existing depot versions allowing staged 
deployment/publishing catalog support to simply be ignored by older 
depot versions.

-- 
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to