Cloning a child channel of one base channel in to another base channel...

Latest response

I've got the following situation:

I've got a clone for the RHEL Server 6 base channel, and several child channels, and some hosts subcribed to this. On these hosts the output of rhn-channel -l looks like this:
dev-rhel-x86_64-server-6
dev-rhel-x86_64-server-6-ost-3
dev-rhel-x86_64-server-optional-6
dev-rhel-x86_64-server-supplementary-6
dev-rhn-tools-rhel-x86_64-server-6

Some hosts however require RHEL Server 6.4, so I've got a clone of server 6.4.z as well. Output of rhn-channel -l is there:

dev-rhel-x86_64-server-6.4.z
dev-rhel-x86_64-server-6-rhs-2.1
dev-rhel-x86_64-server-sfs-6.4.z
dev-rhn-tools-rhel-x86_64-server-6.4.z

My problem is that I need a few packages (in this case "puppet") from dev-rhel-x86_64-server-6-ost-3 on those hosts that have dev-rhel-x86_64-server-6.4.z as base channel. So I tried to create a clone of dev-rhel-x86_64-server-6-ost-3 under dev-rhel-x86_64-server-6.4.z, but this doesn't work. Trying to create such a channel using the web console fails silently.

I am wondering if I am atacking this problem the right way. Is something wrong with my satellite that keeps me from creating this clone? Or is there another way to have a host subscribe to a channel that is not a child of its base channel?

Responses

Are you trying to keep your Servers at 6.x and not update to 6.4? All 6.x RH server releases fall under a single channel - rhel-x86_64-server-6. Unless you have a ISO of the repo starting at 6.4? You can subscribe to the channel and just ignore the RH server update. Please follow up with more information.

Red Hat Storage Server 2.1 is a child of "RHEL EUS Server (6.4.z)", so those servers where I have RHS 2.1 need to have this as base channel. However, I have cloned this channel, and subscribed the servers to the clone (as I want to have a DEV/QA/PROD separation).
I also have clones of Red Hat Enterprise Linux Server 6.0 (again DEV,QA, PROD).

I find myself now in the situation where I want to install "puppet" on my storage servers. Puppet is available in RH OST3, which is a child channel of RHEL 6, but not of RHEL EUS. So I can't subscribe my RHS 2.1 servers to this channel.
To solve this problem I want to clone the RH OST3 child channel under my RHEL EUS clone. In other words, I'm trying to clone a channel from one tree to another. According to everything I've found in the manuals this should be possible.
The Satellite console accepts my imput, but does not do anything. I don't even get any error or log messages...
So either I'm trying to do something that is not possible (but neither the manuals, nor the satellite console bother to inform me of this fact), or there is something wrong with my satellite server. If there is something wrong I'd like to find out, and like to receive some hints as how I can start looking for something, as currently I'm not even seeing any acknowledgment that may attempts even reach the server...

Hello Krist - unfortunately I do not quite understand what you are attempting, or why it would fail. I can offer this though - I would try to do what you are doing by CLI using spacewalk-clone-channel

https://access.redhat.com/site/documentation/en-US/Red_Hat_Network_Satellite/5.5/html/User_Guide/chap-Red_Hat_Network_Satellite-User_Guide-Cloning_a_Machine.html

I'm familiar with "spacewalk-clone-by-date" (which is not the same as spacewalk-clone-channel AFAIK), but it does not solve my problem. This tool will not clone channels across trees.

Let me try to be a bit more specific.

I have the following base and child channels:

dev1403-rhel-x86_64-server-6
-> dev1403-rhel-x86_64-server-6-ost-3

dev1403-rhel-x86_64-server-6.4.z
-> dev1403-rhel-x86_64-server-6-rhs-2.1

I want make dev1403-rhel-x86_64-server-6-ost-3 available to servers that have dev1403-rhel-x86_64-server-6.4.z as bas channel. On order to do this I tried to make a clone of this channel under dev1403-rhel-x86_64-server-6.4.z using the web console.
This fails without any error, any indication as to why it fails.

Can anybody help me here? Or am I trying to do something I shouldn't?

I have tried to clone child channel with a change in parent channel as you have defined above and I couldn't see any error as well as it worked fine. During the cloning process, what exactly happens when you select the different parent and click on "Create Channel" ? Does it stay on that page or redirects to some other page ?

You don't see any errors in the logs as well ? Execute tail -f /var/log/httpd/*log in terminal and try to clone the channel. Check if there is any error in the logs here. If not then I think it would be best to open a support case with the latest spacewalk-debug.

What happens then was that when I clicked on "Create Channel" is that the browser sends a request to the satellite server, but no answer came. It just timed out.

Now today I try again I see something different. When I attempt this clone now it works, but when I then try to clone my new clone using a script on the command line I get

"Unable to read repository information.
Please verify repodata has been generated in /var/cache/rhn/repodata/clone-rhel-x86_64-server-6-ost-3."

I now have my suspicion that when you clone a channel the satellite server continues doing some stuff in the background, so the channel isn't really ready for use yet. If you then try to clone it again you get an error message when you do it on the command line, but a time out on the web console...

I'll try again in a few hours...