Administer > Satellite administration > Managing the satellite software repository cache > Creating software repository cache manual updates

Creating software repository cache manual updates

To create a manual update, you can use the SA DCML Exchange Tool (DET) to copy existing software from an SA core. You then save an export file you can copy over the network to the Satellite’s Software Repository Cache or burn to CD or DVD to be applied later to the cache. You can also use the Staging Utility to upload software. See Staging files to a software repository cache.

This section discusses the following topics:

Creating a manual update using the DCML Exchange Tool (DET)

You perform this procedure by using the DET. Using the DET, export the software for the Manual Update and export the packages associated with selected software policies.

See the SA 10.51 Developer section for more information about using DET.

To create a manual update:

  1. On the server where you installed the DET component, run the following command to create the following directory:

    # mkdir /var/tmp/sneakernet

  2. From the server running the SA Client, copy the following files from the
    /var/opt/opsware/crypto/occ directory:

    opsware-ca.crt

    spog.pkcs.8

    to the following directory:

    /usr/cbt/crypto

    This is the directory where you installed DET.

  3. Create the file, /usr/cbt/conf/cbt.conf, so that it contains this content:

    twist.host=<twist's hostname>

    twist.port=1032

    twist.protocol=https

    twist.username=buildmgr

    twist.password=buildmgr

    twist.certPaths=/usr/cbt/crypto/opsware-ca.crt

    spike.username=<your username>

    spike.password=<your password>

    spike.host=<way's hostname>

    way.host=<way's hostname>

    spin.host=<spin's hostname>

    word.host=<word's hostname>

    ssl.keyPairs=/usr/cbt/crypto/spog.pkcs8

    ssl.trustCerts=/usr/cbt/crypto/opsware-ca.crt

  4. Create the following DCML Exchange Tool filter file /usr/cbt/filters/myfilter.rdf that contains this content:

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE rdf:RDF [

    <!ENTITY filter "http://www.opsware.com/ns/cbt/0.1/filter#">

    ]>

    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

    xmlns="http://www.opsware.com/ns/cbt/0.1/filter#">

    <ApplicationFilter rdf:ID="a1">

    <path>/Other Applications</path>

    <directive rdf:resource="&filter;Descendants" />

    </ApplicationFilter>

    </rdf:RDF>

    In the <path> directive of the filter file, replace /Other Applications with the path to the node you want to export (all node information about that node, its descendants, and all associated packages will be exported).

    This filter will export from the Applications area of the SA Client. If you want to export packages from some other category of software in the SA Client, you need to create a different filter. See the SA 10.51 Developer section for information.

  5. On the server where you installed the DET component, run the DCML Exchange Tool by entering the following command:

    # /usr/cbt/bin/cbt -e /var/tmp/myexport --config /usr/cbt/conf/cbt.conf --filter /usr/cbt/filters/myfilter.rdf

    The DCML Exchange Tool places the packages associated with the exported nodes in the following directory:

    /var/tmp/myexport/blob

    The packages are named unitid_nnnnnnn.pkg.

  6. Copy all of the .pkg files to a directory on the server running the Software Repository Cache, either over the network or by burning the files to a set of CDs or DVDs.

Applying a manual update to a software repository cache

To apply a manual update to a Software Repository Cache, run a utility
(import_sneakernet), which moves or copies the software you want to update into the right location on the Software Repository Cache and registers it with the Model Repository in the SA core.

To apply a manual update to a Software Repository Cache, perform the following steps:

  1. Log in as root on the server running the Satellite’s Software Repository Cache.
  2. Copy the export file to a directory on the Software Repository Cache server, mount the CD containing the software export file, or copy the CD contents to a temporary directory.
  3. Enter the following command to change directories:

    # cd /opt/opsware/mm_wordbot/util

  4. Enter the following command to import the contents of the export file to the Software Repository Cache:

    # ./import_sneakernet -d dir

    where dir is the CD mount point or the temporary directory containing the export file.

Staging files to a software repository cache

A Server Agent on a Managed Server can override the caching policy in effect for a Realm. The ability to override the caching policy of a Software Repository Cache allows you to stage software to a cache that is configured to be manual update to resolve the following situations:

  • You must circulate an emergency patch, and you do not have time to create a manual update export file and physically visit a Facility to upload the software.
  • A necessary patch must be installed during a specified maintenance period, and the period is not long enough to download a patch and install it on all managed servers.
  • The utilization of a network link to the Satellite is known to be low at a particular time of day, making that time advantageous for upload.

To force package staging, the Staging Utility provides the argument override_caching_policy=1, which is specified in the URL request for the software.

The Software Repository Cache allows a client to request that it obtain a file but that it not actually send the file to the client. If the file is not already cached, the Software Repository Cache will obtain it from the parent Software Repository Cache if the caching policy allows it. To use this feature, the client includes the argument checkonly=1 in the URL request for the file.

Running the staging utility

To run the staging utility:

  1. On the server running the Software Repository component (part of the Slice Component bundle), verify that the certificate token.srv is in your CRYPTO_PATH. During installation token.srv is copied to:

    /var/opt/opsware/crypto/gateway/token.srv.

  2. Log into the server running the Core’s Software Repository.
  3. Enter the following command to change directories:

    # cd /opt/opsware/mm_wordbot/util

  4. To stage the files you want, run the utility stage_pkg_in_realm, which has the following syntax:

    ./stage_pkg_in_realm [-h | --help] [-d | --debug]
    [--user <
    USER>] --pkgid <ID> --realm <REALM> [--gw <IP:PORT>] [--spinurl <URL>] [--wayurl <URL>] [--word <IP:PORT>]

To force package staging, the Staging Utility provides the argument override_caching_policy=1, which is specified in the URL request for the software. For example:

./stage_pkg_in_realm --user admin --pkgid 80002 --realm luna
--gw 192.168.164.131:3001
Password for admin: <password>
Package /packages/opsware/Linux/3ES/miniagent is now being staged in realm luna

Microsoft utility uploads and manual updates

When you upload new Microsoft patching utilities (described in the SA Installing System Requirements section), you should immediately stage those files to all Realms where the Software Repository Cache is configured for manual updates only.

If you do not stage these files to the remote Realms, Server Agents running on Windows servers in those Realms will be unable to download new versions of the utilities and will be unable to register their software packages. It is not necessary to stage packages to Realms where the Software Repository Cache is configured for on-demand updates.

The Software Repository Cache allows a client to request that it obtain a file but that it not actually send the file to the client. If the file is not already cached, the Software Repository Cache will obtain it from the parent Software Repository Cache if the caching policy allows it. To use this feature, the client includes the argument checkonly=1 in the URL request for the file. See Running the staging utility for information about how to stage files.