Channel Management

Channels are a method of grouping software packages.

In Uyuni, channels are grouped into base and child channels, with base channels grouped by operating system type, version, and architecture, and child channels being compatible with their related base channel. When a system has been assigned to a base channel, it is only possible for that system to install the related child channels. Organizing channels in this way ensures that only compatible packages are installed on each system.

While Uyuni provides all required channels, you might find it useful to create custom channels specific to your environment. Uyuni Administrators and Channel Administrators have channel management authority, which gives them the ability to create and manage their own custom channels.

When you subscribe to a vendor channel with a traditional client, the product package will automatically be installed. On Salt clients, the packages will be added to the package state, and you will need to apply the highstate to push the changes to your systems.

This section gives more detail on how to create, administer, and delete custom channels.

Creating Custom Channels

If you have custom software packages that you need to install on your Uyuni systems, you can create a custom child channel to manage them. You will need to create the channel in the Uyuni Web UI and create a repository for the packages, before assigning the channel to your systems.

If you include a package with -release at the end of the package name in your channel, it will be automatically installed when the channel is installed.

Do not create child channels containing packages that are not compatible with the client system.

Procedure: Create a custom channel
  1. In the Uyuni Web UI, navigate to Software  Manage  Channels, and click Create Channel.

  2. On the Create Software Channel page, give your channel a name (for example, My Tools SLES 15 SP1 x86_64) and a label (for example, my-tools-sles15sp1-x86_64). Note that labels cannot contain space characters or capital letters.

  3. In the Parent Channel drop down, choose the relevant base channel (for example SLE-Product-SLES15-SP1-Pool for x86_64). Ensure that you choose the compatible parent channel for your packages.

  4. In the Architecture drop down, choose the appropriate hardware architecture (for example, x86_64).

  5. Provide any additional information in the contact details, channel access control, and GPG fields, as required for your environment.

  6. Click Create Channel

Procedure: Create a software repository
  1. In the Uyuni Web UI, navigate to Software  Manage  Repositories, and click Create Repository.

  2. On the Create Repository page, give your repository a label (for example, my-tools-sles15sp1-x86_64-repo).

  3. In the Repository URL field, provide the path to the folder that contains the repodata file (for example, file:///opt/mytools/). You can use any valid addressing protocol in this field.

  4. Uncheck the Has Signed Metadata? check box.

  5. Provide any additional information in the SSL fields, as required for your environment.

  6. Click Create Repository

  7. Synchronize your new repository with your custom channel by navigating to Software  Manage  Channels, clicking on the name of your newly created custom channel, and navigating to the Repositories tab.

  8. Ensure the repository you want to synchronize is checked, and click Update Repositories.

  9. Navigate to the Sync tab and click Sync Now to synchronize immediately. You can also set an automated synchronization schedule on this tab.

Procedure: Add custom channels to an activation key
  1. In the Uyuni Web UI, navigate to Systems  Activation Keys, and select the key you want to add the custom channel to.

  2. On the Details tab, in the Child Channels listing, select the channel to associate. You can select multiple channels, if you need to.

  3. Click Update Activation Key.

Deleting Custom Channels

You cannot delete Uyuni channels. Only custom channels can be deleted.

  1. In the Uyuni Web UI, navigate to Software  Manage  Channels, and select the channel you want to delete.

  2. Click Delete software channel.

  3. On the Delete Channel page, check the details of the channel you are deleting, and check the Unsubscribe Systems checkbox to remove the custom channel from any systems that might still be subscribed.

  4. Click Delete Channel.

When channels are deleted, the packages that are part of the deleted channel are not automatically removed. If you try to update packages that have had their channel deleted, it can cause errors. In this case, you will need to manually remove the packages. Packages can be manually removed in the Uyuni Web UI by going to Systems  Systems  All and selecting the system, navigating to the States  Packages tab, and setting the package state to Removed. Note that removing the package using a command line package manager or the Software menu will not permanently remove the package.