Using PTFs in Uyuni

SUSE provides temporary fixes for all currently supported solutions shipped directly to its customers. These PTFs (Program Temporary Fixes) are now available as repositories, which can be synced in Uyuni.

1. Understanding PTF packages

PTF packages are installed via a proxy package and are named ptf-xxxxxx, where xxxxxx is a number and part of the name of the package, not its version.

They will depend on the correct version of the package that is known to include the correction in the software. This type of package:

  • cannot be installed accidentally (i.e. zypper update will never suggest installing them),

  • cannot be removed accidentally (i.e. a newer package version will not replace the PTF one, unless the user makes it explicitly on the zypper command line),

  • is only updated when the newer version is known to address the specific issue previously solved by the PTF,

  • updates only packages already installed on the system (i.e. if a software is split into multiple packages, the PTF will replace only those currently installed on the system).

The correct ID of the package will be provided by SUSE Support during the course of the support case investigation, along with instruction on how to deploy/restart the affected services.

2. Installing PTF packages

PTF packages are currently only supported for SLE 12 and SLE 15 based systems. Other versions or operating systems do not have this feature and the pages are not visible for them.

Procedure: Enabling and synchronizing PTF repositories using the command line
  1. On the console enter mgr-sync refresh.

  2. Enter mgr-sync list channel and look for channels starting with your SCC account name and ptfs in its name. For example, a123456-sles-15.3-ptfs-x86_64.

  3. Enable the PTF channel with mgr-sync add channel <label>.

This channel is now available and can be added to every system which is using the same base channel.

PTF packages need to be installed explicitly, since they are not automatically picked up when updating a system. The SUSE Customer Support will provide the PTF number to fix a specific problem. With the number the proxy package can be identified in the PTF list. In Uyuni Web UI every system with PTFs available for installation has a page which lists them.

Procedure: Enabling and synchronizing PTF repositories via the Uyuni Web UI
  1. In the Uyuni Web UI, navigate to Admin  Setup Wizard  Products and look for the product you want to enable the PTF repository for.

  2. Click Show product’s channels next to the products sync status.

  3. You should see a popup listing mandatory and optional channels for the product.

  4. In the optional channels list look for channels starting with your SCC account name and ptfs in its name. For example a123456-sles-15.3-ptfs-x86_64.

  5. Select the channel using the checkbox next to its name and click Confirm to schedule the sync.

Note that the product has to be installed to be able to add optional channels to it.

Procedure: Installing the PTF packages
  1. In the Uyuni Web UI, navigate to Systems  Systems List and select the client where you want to install a PTF.

  2. Navigate to the Systems  Software  Packages  Software Channels and select the PTF channel.

  3. Click Next, and Confirm Software Channel Change with Confirm.

  4. To check if the channel assignment is finished, navigate to Systems  Events  History to see the results.

  5. Navigate to the Systems  Software  PTFs  Install sub tab.

  6. Select the PTF package you want to install.

  7. Click Install PTF, and Confirm Program Temporary Fixes (PTFs) Installation with Confirm.

  8. To see PTF installation results, navigate to Systems  Events  History.

In case a PTF should be installed using the API, the normal system.schedulePackageInstall API can be used with the proxy package name.

3. After PTF installation

Once a PTF is confirmed to address the reported issue, the updated package will be tracked for inclusion into a future maintenance update before being widely distributed as an regular maintenance update in the update repositories.

When this regular update with the fix is released, an updated version of the PTF will also be released into the account-specific PTF repository. The updated PTF will remove the strict dependencies and allow updates to be installed again.

The replacement of the PTF with the maintenance update which includes the fix happens automatically via a standard package update or patch installation.

4. Removing the patched version of a package

In cases where a PTF needs to be uninstalled and the non-patched version of the packages need to be installed on the system, a simple package remove cannot be used. The PTF package is not selectable in the standard package list page.

Procedure: Removing the PTF packages
  1. In the Uyuni Web UI, navigate to Systems  Systems List and select the client you want to remove a PTF from.

  2. Navigate to the Systems  Software  PTFs  List/Remove sub tab.

  3. Select the ptf package you want to remove.

  4. Click Remove PTFs, and on the Confirm Program Temporary Fixes (PTFs) Removal page click Confirm.

  5. To see the results, navigate to Systems  Events  History.

Removing PTFs requires a special version of libzypp and zypper to be installed on the client system. Check zypper --help to confirm whether removeptf is supported. The List/Remove tab is only visible if this condition is met.

In case the PTF should be removed using the API, the normal system.schedulePackageRemove API can be used with the proxy package name.

5. Removing the patched version of a package on the client

In case a PTF should be removed directly on the client using the console, it is required to use a special command zypper removeptf. All other ways result either in an error or can lead to unwanted behavior like removing important packages from the system and make the system unusable.