Report (current) errata for host in clone channels (point in time)

Latest response

We have run in to a few issues, mostly for reporting, as we deploy a Satellite model in our environment using Clone Channels.

My current hang up. If I clone the base at a particular date (say 2014-03-01) errata reports for hosts subscribed to that Channel say "all clear".

Is there an easy way to create an Errata Report based on Errata released up to today for a host that is subscribed to a Clone Channel from the past?

Responses

Hi James,

The clone channel that you have created based on date - 2014-03-01 was created using spacewalk-clone-by-date command?

Understanding how 'spacewalk-clone-by-date' works

After creating clone channel have you confirmed that repodata was generated for it ? under /var/cache/rhn/repodata/channel-label on satellite server. Also let us know whether "yum check-update" shows correct list of available packages ?

Regards,
Ashish

Yes - the clone was created using spacewalk-clone-by-date.

spacewalk-clone-by-date -y -c sms-rhel-x86_64-server-6 -d 2014-06-01

The clone (or cloning) process works as I expected. When I look at the host in the WebUI it indicates that all the packages are current and there is no errata to apply. Yum update would also indicate there are no packages to update.

What I would like to see is how out of date that machine is versus the packages that are current as of today. So - basically the differential between my host in a clone channel and the base channel (which is updated daily)

Thanks Ashish

I have essentially the same question.

The issue isn't whether the channels function as they should - they do, clients are able to subscribe and get packages with no problem. What we need here is visibility into the difference between the cloned channel's current state and all errata released to date.

All the reporting functionality in Satellite only seems to address the difference between the client's current state and the subscribed channel's available packages and errata, which does not help users of cloned channels.

Hi James, Jason,

Using below API you can get a list of errata available in Red Hat provided channels for clone channels.

API channel.software.listErrataNeedingSync 

 Parameters:

    string sessionKey
    string channelLabel - channel to update

Use below API to update cloned channel with latest Errata from respective Red Hat provided channel

channel.software.syncErrata


 Parameters:

    string sessionKey
    string channelLabel - channel to update

I do not see any way to get a comparison of the system (subscribed to clone channel) with Red Hat provided channel. Unless system is subscribed to the channel we can not get list of applicable errata/packages.

Regards,
Ashish

You can use

# spacewalk-api --server=satellite.example.com --user=admin --password=secret channel.software.listErrataNeedingSync  %session%  clone-of-rhel-x86_64-server-6 

I believe what you are suggesting will work for my situation. If I need the output based on an individual host, I could compare the host to it's Base Channel (the clone) and then aggregate that output with the differential between the clone and the Red Hat Base Channel it is being cloned from.

The API did not work for me, but I will try to chase that down on my own now that I have a direction to head towards ;-) (I'm also still running 5.5 - it appears that listErrataNeedingSync was introduced March 2014 to Spacewalk and I assume a little bit after for Satellite == Good motivation to upgrade ;-)

Thanks for your help and I will update the thread with what I find.

A coworker was messing around with spacecmd (on a 5.5 system) and found the following:

[root@rhnsat01 ~]# spacecmd softwarechannel_diff  sms-rhel-x86_64-server-6   tms-rhel-x86_64-server-6 
INFO: Connected to https://localhost/rpc/api as satadmin
--- sms-rhel-x86_64-server-6 

+++ tms-rhel-x86_64-server-6 

@@ -2499,6 +2499,8 @@

 gettext-libs-0.17-16.el6.i686
 gettext-libs-0.17-16.el6.x86_64
 gfs2-utils-3.0.12-23.el6.x86_64
+gfs2-utils-3.0.12-23.el6_0.4.x86_64
+gfs2-utils-3.0.12-23.el6_0.6.x86_64
 ggz-base-libs-0.99.5-5.1.el6.i686
 ggz-base-libs-0.99.5-5.1.el6.x86_64
 ghostscript-8.70-11.el6.i686

In the example above the sms channel actually lists 2 fewer package in the summary. So - in my case I want to exclude the packages that do not even exist in the one channel.

The following is an excerpt of the command between a clone I snapped with a date of 2014-06-01 compared to my base channel (sync'd daily)

[root@pdgllprhnsat01 ~]# spacecmd softwarechannel_diff  tms-rhel-x86_64-server-6 rhel-x86_64-server-6 
INFO: Connected to https://localhost/rpc/api as satadmin
--- tms-rhel-x86_64-server-6 

+++ rhel-x86_64-server-6 

@@ -628,6 +628,7 @@

 autofs-5.0.5-75.el6_4:1.x86_64
 autofs-5.0.5-88.el6:1.x86_64
 autofs-5.0.5-89.el6_5.1:1.x86_64
+autofs-5.0.5-89.el6_5.2:1.x86_64