NAME
NCM::Component::spma::ips - NCM SPMA configuration component for IPS
SYNOPSIS
Configure ()
DESCRIPTION
Invoked by NCM::Component::spma via ncm-ncd --configure ncm-spma
when
/software/components/spma/packager
is ips. Processes requests for
IPS packages to be added to a new Solaris boot environment and generates a
command file that may be executed by spma-run.
This module is intended for package management with Quattor on Solaris 11 or later.
RESOURCES
-
/software/catalogues
? nlist {}A list of catalogues (package groups) to install. The format is:
{_package_name_}/{_version_}
For example:
prefix '/software/catalogues'; '{pkg://solaris/entire}/{0.5.11,5.11-0.175.1.10.0.5.0}' = '';
The intention is that a host's software inventory is predominantly defined by a small number of software catalogues that pull in almost all of the packages required for the build.
Catalogues must be versioned and a host is progressed from one version of a build to another by shifting the catalogue version numbers.
-
/software/requests
? nlist ()A list of additional packages to install. The format is:
{_package_name_}[/{_version_}]
For example:
'/software/requests/{ms/afs/client}' = nlist(); '/software/requests/{idr537}/{2}' = '';
The version number is optional and should generally be omitted. It is intended that the version number of packages that can be requested individually are defined by a catalogue (e.g. constrained by an incorporate dependency).
-
/software/uninstall
? nlist ()A list of packages to uninstall. Packages in this list will not be installed, and if found on the system will be removed. The format is the same as with
/software/requests
. -
/software/whitelist
? nlist ()A list of packages to whitelist. Packages in this list are permitted on the system even if they have not been explicitly requested and even if
userpkgs
is set tono
. The format is the same as with/software/requests
. -
/software/components/spma/packager
? stringMust contain
ips
to use this module. -
/software/components/spma/run
? stringSet to
yes
to allow this module to launchspma-run --execute
to make immediate changes to the new boot environment. If set tono
or omitted, this module prepares and validates the changes only, but does not perform any updates, it will be the responsibility of an external process to launchspma-run --execute
in this case. -
/software/components/spma/userpkgs
? stringSet to
yes
to allow user-installed packages. If set tono
or omitted, then SPMA will find all leaf packages that have not been requested and uninstall them via--reject
arguments topkg install
. -
/software/components/spma/pkgpaths
: string []Contains a list of resource paths where catalogues and individual package requests are located. Should be set to:
list("/software/catalogues", "/software/requests");
-
/software/components/spma/uninstpaths
: string []Contains a list of resource paths where packages to uninstall are located. Should be set to:
list("/software/uninstall");
-
/software/components/spma/whitepaths
: string []Contains a list of resource paths where packages to whitelist are located. Should be set to:
list("/software/whitelist");
-
/software/components/spma/cmdfile
: stringWhere to save commands for the spma-run script. Default location is
/var/tmp/spma-commands
. -
/software/components/spma/flagfile
? stringFile to touch if
/software/components/spma/run
is set tono
and this module has determined that there is work to do, i.e. packages to install or to uninstall. If the file exists after this module has completed, thenspma-run --execute
can be run to create a new BE and make package changes in that BE. -
/software/components/spma/ips/bename
? stringName of boot environment that spma-run will use when making any changes to packages. If a BE by that name already exists, then a unique number will be appended to the name. Package changes will be effected via
pkg install --be-name <bename>
.If this resource is missing then
pkg install --require-new-be
will be used instead, leaving Solaris to decide on the name of the new BE. -
/software/components/spma/ips/rejectidr
: booleanAdd a
--reject
option to thepkg install
command for every Solaris IDR installed that has not been explicitly requested.Default is
true
. -
/software/components/spma/ips/freeze
: booleanIgnore frozen packages. This will prevent SPMA from updating or uninstalling frozen packages.
Default is
true
.
NOTES
This module does not support making changes in the currently active boot
environment. The intention is that it is executed when a host is rebooted
via a call to ncm-ncd -configure spma
and then spma-run --execute
called immediately afterwards. The system will then reboot into the
newly created boot environment if any changes were made.
IPS publisher configuration is currently not supported by this module.
EXAMPLE CONFIGURATION
The following PAN code snippet demonstrates how to prepare SPMA for Solaris:
#
# Configure SPMA appropriately for Solaris
#
prefix "/software/components/spma";
"packager" = "ips";
"pkgpaths" = list("/software/catalogues", "/software/requests");
"uninstpaths" = list("/software/uninstall");
"whitepaths" = list("/software/whitelist");
"register_change" = list("/software/catalogues",
"/software/requests",
"/software/uninstall");
"flagfile" = "/var/tmp/spma-run-flag"