Content lifecycle management

If you are managing a lot of clients and you need to apply customized packages to them, you can use content lifecycle management (CLM) to manage your packages. CLM allows you to customize and test packages before updating production clients. It is also useful if you need to apply updates during a limited maintenance window.

1. Use case

Content lifecycle management allows you to select software channels as sources, adjust them as required for your environment, and thoroughly test them before installing onto your production clients. You can use CLM to manage your software channels from development, through testing, and rolling the changes out to your clients.

2. Outcome

When you have completed this workflow, you will have a content lifecycle project set up. You will have created a basic CLM project, and promoted it through its lifecycle.

3. Preparations

Before you start, you should already have:

  • Uyuni Server installed, which you can access using the Web UI.

  • Client machine with an operating system installed, which you can access across the network that your Uyuni Server is on, using SSH.

  • Appropriate subscriptions from http://scc.suse.com for the products you are using.

4. Step-by-step workflow instructions

Procedure: Create a new CLM project
  1. In the Uyuni Web UI, navigate to Content Lifecycle  Projects, and click Create Project. Type a name, label, and description for your project, and click Create.

    clm new project
  2. In the Sources section, click Attach/Detach Sources. Select the source type, and select a base channel for your project. The available child channels for the selected base channel are displayed, including information on whether the channel is mandatory or recommended. Check the child channels you require, and click Save to return to the project page.

    clm add sources
  3. Leave the Filters section blank for now, we will not be using them in this example. You can add filters later on if you need to.

  4. In the Environment Lifecycle section, create three environments: production, testing, and development. Click Add Environment and complete the name and label for each. For the production environment, leave the Insert before field blank. For the testing environment, in the Insert before field, select production. For the development environment, in the Insert before field, select testing``.

    clm environments
  5. Click Build to build version 1 of your project:

    clm build 1
Procedure: Assign clients
  1. Navigate to Systems  System List, select the client to assign, and go to the Software  Software Channels tab.

  2. In the Base Channel section, select the CLM project and environment you want to assign the client to. For example, if you want this client to receive updates from your CLM only when packages are in the production environment, assign the base channel <CLM_Project_Name>-production-<Channel_Name>. Alternatively, you could use this client as a way to test if your CLM packages are working as expected before you promote them to development, so you assign the base channel <CLM_Project_Name>-testing-<Channel_Name>.

    clm assign
  3. Click Next to assign the client.

Procedure: Promote Environments
  1. In the Uyuni Web UI, navigate to Content Lifecycle  Projects, and select the project you want to work with.

  2. In the Environment Lifecycle section, locate the environment to promote to its successor, and click Promote. You can monitor build progress in the Environment Lifecycle section.

    clm promote