In the previous article, we have installed Spacewalk, and now it is time for futher configuration. Spacewalk is an open source Linux systems management solution rich with different functions, that include installing and upgrading software, OS, making security check and more. But the basis for most functions are configured channels, so let’s find out, how to configure channels in Spacewalk.
Channels are just collections of software packages. Channel may contain collection for a specific OS, like a repo, or packages for an application or group of applications. Any client can connect to a channel to download and install packages, so it’s like a custom repository, created by an administrator, in terms of Spacewalk.
There are two types of channels – base channels and child channels. Base channel represent global unification, such as processor architecture or OS release, and child channels are collections of packages for this release. Child channels are linked to base channels. So it is logical, that system can subscribe only to one base channel and to any number of child channels included.
And that is all theory we need, let’s move on with practice:
CentOS 7 How to configure channels in Spacewalk Step 1: Create a Base Channel
The process is rather straightforward. Login to your Spacewalk web-console. Navigate to Channels -> Manage Software Channels, and click – Create Channel:
Now submit this monstrous form with information needed (I’ve filled only necessary fields) to describe your architecture and click Create Channel:
Now let’s create a child channel and add some repositories to it.
CentOS 7 How to configure channels in Spacewalk Step 2: Create a Child Channel
Process is similar to creation a Base channel for one exception – you must choose parent channel as on the screenshot below:
Now we have appropriate structure of our Spacewalk Repo – and we are going to fill it with packages. We create a repository, and link it to the channel for that purpose.
CentOS 7 How to configure channels in Spacewalk Step 3: Create a Repository
Navigate to Channels -> Manage Software Channels -> Manage Repositories, and click – Create Repository
For creation of repository, you need to fill only two fields – a label (you need to name your repo somehow) and a URL. In my example, I create a repo of… CentOS Base Repository to proper work of my CentOS servers. This URL is taken from repos.d file, from any CentOS system according to your architecture.
But newly created repository is useless if it is not linked to the channel. Go to Channels -> Manage Software Channels, and click on the child channel we have created at Step 2. Now click on Repositories, mark your repository and click – Update Repositories
CentOS 7 How to configure channels in Spacewalk Step 4: Sync your repos and create a kickstartable tree
All necessary setings are done, now we need to upload packager of new repo to our server and set up a schedule of repo sync. Notice, that there is one very useful choice here – Create kickstartable tree. You will need this when you use Spacewalk for bare metal installations of new systems. You can mark this Checked only for Base repository, that we’ve created . Also, you may never check – Do not sync errata – For CentOS, there is no errata at all in the official repos. There is another way to solve this issue, and I will describe it in later articles.
CentOS 7 How to configure channels in Spacewalk Step 5: Create activation key for client installations
Now we have created a channel, linked a repo to it and syccessfully synced packages. We must do last thing for moving to the client configuration – create activation key, that is used for client subscriptions. Navigate to Systems -> Activation Keys and click Create Key. Enter a description for the key – and do not enter the key value – it will be generated by Spacewalk itself:
Now you see the key you will use on your clients for subscription:
At this point, we have fully configured channels and repos, synced and ready for use. Also, we have created an activation key for client installations. Now we can move to client installations, but this will be in the next article.