Greetings,
With the putback for the following issues in revision 1504:
9969 client support for multiple origins desired
11715 ImageConfig does not handle None for publisher correctly
11793 image-create example partially disagrees with the usage
...the client now supports multiple origins for publisher repositories.
==================
What is an origin?
==================
An origin is simply a location of a package repository that contains
package file, manifest, and catalog data; such as:
http://pkg.opensolaris.org/dev. The default mode for the pkg.depotd
process is to run as an 'origin'.
A mirror, in contrast, only contains package file data and is currently
provided by a pkg.depotd server running in --mirror mode.
===========================
What does this change mean?
===========================
This change means that you redundancy can now more easily be built into
package server infrastructure. For example, you could have
http://pkg1.example.com/, http://pkg2.example.com/, and
http://pkg3.example.com/.
A client, once configured, would have pkg publisher output similar to
the following:
PUBLISHER TYPE STATUS URI
example.com (preferred) origin online http://pkg1.example.com/
example.com (preferred) origin online http://pkg2.example.com/
example.com (preferred) origin online http://pkg3.example.com/
During package operations, the client will automatically attempt to
select and use the best repository origin if any data needs to be
retrieved for that publisher.
In addition, ipkg branded zone creation and attach has been updated to
use this additional origin and mirror information when configuring zones.
==================
How do I use this?
==================
For consistency, and to support this new client functionality, the
image-create and set-publisher subcommands for pkg(1) have changed as
follows:
image-create
New Options:
[-g|--origin ...] [-m|--mirror ...]
set-publisher
New Options:
[-g origin_to_add | --add-origin=origin_to_add ...]
[-G origin_to_remove | --remove-origin=origin_to_remove ...]
Deprecated Options:
[-O uri]
So, as an example, to create a new, full image, with publisher
example.com, that also has an additional mirror, two additional origins
and that is stored at /aux0/example_root:
$ pkg image-create -F -p example.com=http://pkg.example.com:10000 \
-g http://alternate1.example.com:10000/ \
-g http://alternate2.example.com:10000/ \
-m http://mirror.example.com:10000/ \
/aux0/example_root
Alternatively, to add a new publisher or update an existing publisher
with the above information:
$ pkg set-publisher \
-g http://pkg.example.com:10000 \
-g http://alternate1.example.com:10000/ \
-g http://alternate2.example.com:10000/ \
-m http://mirror.example.com:10000/ \
example.com
================================================
Are there are any client compatibility concerns?
================================================
No. Clients upgrading from older versions of the pkg client software to
this version of the client software will not experience any issues. In
addition, some care has been taken to ensure older clients that
understand the current image format are compatible with this new
configuration, although they will be limited to using the first origin
for a repository.
===============================================
Do I need to update my scripts or client usage?
===============================================
While the '-O' option has been deprecated for the set-publisher command
and is no longer documented, it will continue to work exactly as it has
in the past so no change is strictly necessary. The command-line option
compatibility for -O is currently planned to be maintained through the
next major OpenSolaris release (2010.x), but will be dropped after that.
However, if you are using any scripts or programs that parse the output
of the 'pkg publisher' command, and only expect a single origin to be
listed for each publisher, they will need to be updated to account for this.
Comments or concerns should be sent to pkg-discuss.
Cheers,
--
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss