Package Bundling Concepts
Introduction
One of the assumptions the Grid Packaging
Technology (GPT) is based on is that smaller is better. The idea
is that software should be distributed as a collection of small
well defined packages. In this way, the software can be tailored
by changing the content of the collection. This assumption leads
to the need to manage software as a collection of packages.
Concepts for managing these collections (which we will call
bundles) is the focus of this page.
Bundle Types
In order to understand bundle management
requirements better we define the following types:
Transient Bundles
These bundles are used as a transport
mechanism for a collection of packages. For example, the bundles
could be created by a web based front end to a package repository
which allows the user to select overall components and features
which are then translated into package sets. These packages are
then downloaded and installed as a bundle. The command line tool
gpt-bundle does something similar. In this case the
bundle identity is irrelevent.
Pre-Wrapped bundles
These bundles have identity for
people but not for GPT. They allow collections of packages to be
grouped into components and subcomponents. For example people
will want the MDS 2.1 bundle but to GPT its just a set of
packages. The current beta bundles are this way. For pre-wrapped
bundles there may be a need to maintain this identity in the
installation data so that users can find the components installed
on a machine.
Persistent bundles
These bundles have an identity for GPT
because they together provide an API that a package normally
provides. For example the GSSAPI can be fulfilled by a GSI bundle
or a bundle that uses kerberos. For this reason persistent bundles
will come with packaging data.
Bundling Types
Another subtle distinction that needs to
be made is how these bundles are created. Pre-wrapped and
persistent bundles are static collections of packages. Transient
bundles on the other hand are created "on-the-fly" by users using
a web interface or command line tool. We will call this type of
procedure dynamic bundling.
Dynamic Bundling and Software
Localization
The true power provided by software bundles is
when these bundles include various forms of localization. This allows bundles
to be tailored to specific needs. Consider the following diagram:
The diagram shows the relationships between various types of
bundles. Here is a description of these bundle types:
- Developer Bundle
- Software provided by the developer. Contains no localization.
- NMI Bundle
- These are bundles
created from multiple developer distributions. Contains no
localization.
- Organization Bundle
- Software that
is localized for a particular organization such as NEES.
- Site Bundle
- Software that is
localized for a particular site. This a possible method for
campus wide deployments.
- Cluster Bundle
- Software localized for a particular computing cluster.
- Machine Bundle
- Software localized
for a particular host machine. This is useful for remote
administration or cluster management tools
- Installation
- The actual installation of the software
Summary
With the concepts discussed in this page,
software deployment now can be discussed in terms of collections
of packages.
Last modified: Mon Mar 18 20:05:44 Central Standard Time 2002