Content Lifecycle Management Examples
This section contains some common examples of how you can use content lifecycle management. Use these examples to build your own personalized implementation.
1. Creating a Project for a Monthly Patch Cycle
An example project for a monthly patch cycle consists of:
-
Creating a
By Date
filter -
Adding the filter to the project
-
Applying the filter to a new project build
-
Excluding a patch from the project
-
Including a patch in the project
1.1. Creating a By Date
filter
The By Date
filter excludes all patches released after a specified date.
This filter is useful for your content lifecycle projects that follow a monthly patch cycle.
By Date
Filter-
In the Uyuni Web UI, navigate to
and click Create Filter. -
In the
Filter Name
field, type a name for your filter. For example,Exclude patches by date
. -
In the
Filter Type
field, selectPatch (Issue date)
. -
In the
Matcher
field,later or equal
is autoselected. -
Select the date and time.
-
Click Save.
1.2. Adding the Filter to the Project
-
In the Uyuni Web UI, navigate to
and select a project from the list. -
Click Attach/Detach Filters link to see all available filters
-
Select the new
Exclude patches by date
filter. -
Click Save.
1.3. Applying the Filter to a New Project Build
The new filter is added to your filter list, but it still needs to be applied to the project. To apply the filter you need to build the first environment.
-
Click Build to build the first environment.
-
OPTIONAL: Add a message. You can use messages to help track the build history.
-
Check that the filter has worked correctly by using the new channels on a test server.
-
Click Promote to move the content to the next environment. The build takes longer if you have a large number of filters, or they are very complex.
1.4. Excluding a Patch from the Project
Tests may help you discover issues.
When an issue is found, exclude the problem patch released before the by date
filter.
-
In the Uyuni Web UI, navigate to
and click Create Filter. -
In the
Filter Name
field, enter a name for the filter. For example,Exclude openjdk patch
. -
In the
Filter Type
field, selectPatch (Advisory Name)
. -
In the
Matcher
field, selectequals
. -
In the
Advisory Name
field, type a name for the advisory. For example,SUSE-15-2019-1807
. -
Click Save.
-
Navigate to
and select your project. -
Click Attach/Detach Filters link, select
Exclude openjdk patch
, and click Save.
When you rebuild the project with the Build button, the new filter is used together with the by date
filter we added before.
1.5. Including a Patch in the Project
In this example, you have received a security alert.
An important security patch was released several days after the first of the month you are currently working on.
The name of the new patch is SUSE-15-2019-2071
.
You need to include this new patch into your environment.
The |
-
In the Uyuni Web UI, navigate to
and click Create Filter. -
In the
Filter Name
field, type a name for the filter. For example,Include kernel security fix
. -
In the
Filter Type
field, selectPatch (Advisory Name)
. -
In the
Matcher
field, selectequals
. -
In the
Advisory Name
field, typeSUSE-15-2019-2071
, and checkAllow
. -
Click Save to store the filter.
-
Navigate to
and select your project from the list. -
Click Attach/Detach Filters, and select
Include kernel security patch
. -
Click Save.
-
Click Build to rebuild the environment.
2. Update an Existing Monthly Patch Cycle
When a monthly patch cycle is complete, you can update the patch cycle for the next month.
-
In the
by date
field, change the date of the filter to the next month. Alternatively, create a new filter and change the assignment to the project. -
Check if the exclude filter for
SUSE-15-2019-1807
can be detached from the project. There may be a new patch available to fix this issue. -
Detach the
allow
filter you added previously. The patch is included by default. -
Rebuild the project to create a new environment with patches for the next month.
3. Enhance a Project with Live Patching
This section covers setting up filters to create environments for live patching.
When you are preparing to use live patching, there are some important considerations
|
3.1. Exclude Packages with a Higher Kernel Version
In this example you update your systems with the SUSE-15-2019-1244
patch.
This patch contains kernel-default-4.12.14-150.17.1-x86_64
.
You need to exclude all patches which contain a higher version of kernel-default
.
-
In the Uyuni Web UI, navigate to
, and click Create Filter. -
In the
Filter Name
field, type a name for your filter. For example,Exclude kernel greater than 4.12.14-150.17.1
. -
In the
Filter Type
field, selectPatch (Contains Package)
. -
In the
Matcher
field, selectversion greater than
. -
In the
Package Name
field, typekernel-default
. -
Leave the the
Epoch
field empty. -
In the
Version
field, type4.12.14
. -
In the
Release
field, type150.17.1
. -
Click Save to store the filter.
-
Navigate to
and select your project. -
Click Attach/Detach Filters.
-
Select
Exclude kernel greater than 4.12.14-150.17.1
, and click Save.
When you click Build, a new environment is created. The new environment contains all the kernel patches up to the version you installed.
All kernel patches with higher kernel versions are removed. Live patching kernels remain available as long as they are not the first in a series. |
This procedure can be automated using a filter template. For more information on how to apply a live patching filter template, see administration:content-lifecycle.adoc#filter-templates. |
4. Switch to a New Kernel Version for Live Patching
Live Patching for a specific kernel version is only available for one year. After one year you must update the kernel on your systems. Execute these environment changes:
-
Decide which kernel version to upgrade to. For example:
4.12.14-150.32.1
-
Create a new kernel version Filter.
-
Detach the previous filter Exclude kernel greater than 4.12.14-150.17.1 and attach the new filter.
Click Build to rebuild the environment. The new environment contains all kernel patches up to the new kernel version you selected. Systems using these channels have the kernel update available for installation. You need to reboot systems after they have performed the upgrade. The new kernel remains valid for one year. All packages installed during the year match the current live patching kernel filter.
5. AppStream Filters
In a content lifecycle management project, you can use the AppStream filter to transform modular repositories into regular repositories. It does this by keeping the packages in the repository and stripping away the module metadata. The resulting repository can be used in Uyuni in the same way as a regular repository.
AppStream repositories are natively supported throughout the Web UI. Therefore, this process is not mandatory to work with AppStream repositories. |
The AppStream filter selects a single module stream to be included in the target repository. You can add multiple filters to select multiple module streams.
If you do not use an AppStream filter in your CLM project, the module metadata in the modular sources remains intact, and the target repositories contain the same module metadata. As long as at least one AppStream filter is enabled in the CLM project, all target repositories are transformed into regular repositories.
In some cases, you might wish to build regular repositories without having to include packages from any module.
To do so, add an AppStream filter using the matcher none (disable modularity)
.
This will disable all the modules in the target repository.
This is especially useful for Red Hat Enterprise Linux 9 clients, where the default versions of most modules are already included in the AppStream repository as regular packages.
To use the AppStream filter, you need a CLM project with a modular repository such as Red Hat Enterprise Linux AppStreams
.
Ensure that you included the module you need as a source before you begin.
-
In the Uyuni Web UI, navigate to your Red Hat Enterprise Linux 8 or 9 CLM project. Ensure that you have included the AppStream channels for your project.
-
Click Create Filter and use these parameters:
-
In the
Filter Name
field, type a name for the new filter. -
In the
Filter Type
field, selectModule (Stream)
. -
In the
Matcher
field, selectequals
. -
In the
Module Name
field, type a module name. For example,postgresql
. -
In the
Stream
field, type the name of the desired stream. For example,10
. If you leave this field blank, the default stream for the module is selected.
-
-
Click Save to create the new filter.
-
Navigate to
and select your project. -
Click Attach/Detach Filters, select your new AppStream filter, and click Save.
You can use the browse function in the Create/Edit Filter
form to select a module from a list of available module streams for a modular channel.
-
In the Uyuni Web UI, navigate to your Red Hat Enterprise Linux 8 or 9 CLM project. Ensure that you have included the AppStream channels for your project.
-
Click Create Filter and use these parameters:
-
In the
Filter Name
field, type a name for the new filter. -
In the
Filter Type
field, selectModule (Stream)
. -
In the
Matcher
field, selectequals
.
-
-
Click
Browse available modules
to see all modular channels. -
Select a channel to browse the modules and streams:
-
In the
Module Name
field, start typing a module name to search, or select from the list. -
In the
Stream
field, start typing a stream name to search, or select from the list.
-
Channel selection is only for browsing modules. The selected channel is not be saved with the filter, and does not affect the CLM process in any way. |
You can create additional AppStream filters for any other module stream to be included in the target repository. Any module streams that the selected stream depends on is automatically included.
Be careful not to specify conflicting, incompatible, or missing module streams. For example, selecting two streams from the same module is invalid. |
-
In the Uyuni Web UI, navigate to your Red Hat Enterprise Linux 8 or 9 CLM project. Ensure that you have included the AppStream channels for your project.
-
Click Create Filter and use these parameters:
-
In the
Filter Name
field, type a name for the new filter. -
In the
Filter Type
field, selectModule (Stream)
. -
In the
Matcher
field, selectnone (disable modularity)
.
-
-
Click Save to create the new filter.
-
Navigate to
and select your project. -
Click Attach/Detach Filters, select your new AppStream filter, and click Save.
This will effectively remove the module metadata from the target repository, excluding any package that belongs to a module.
When you build your CLM project using the Build button in the Web UI, the target repository is a regular repository without any modules, that contains packages from the selected module streams.
Disabling modularity altogether in Red Hat Enterprise Linux 8 projects might result in a faulty environment as some modules are essential for healthy operation in Red Hat Enterprise Linux 8. |