[Spacewalk-list] Content Merge - Child Channels
Matthew Madey
mattmadey at gmail.com
Mon Jul 21 16:39:17 UTC 2014
Alex,
Using the api in a python script is probably the best way to do this. I set
up a cron job to merge packages.
I simply create two arrays, one for source channels and one for destination
channels like so:
## Source and Destination Channels. All items must be positioned
identically in the corresponding lists!
src_channels = ['rhel-x86_64-server-6-base',
'rhel-x86_64-server-6-base-epel', 'rhel-x86_64-server-6-base-hpsa',
'rhel-x86_64-server-6-base-optional',
'rhel-x86_64-server-6-base-puppet-dependencies',
'rhel-x86_64-server-6-base-puppet-product',
'rhel-x86_64-server-6-base-spacewalk-client',
'rhel-x86_64-server-6-base-thd-tools', 'rhel-x86_64-server-6-base-tools',
'rhel-x86_64-server-6-base-updates']
dst_channels = ['rhel-x86_64-server-6-stores',
'rhel-x86_64-server-6-stores-epel', 'rhel-x86_64-server-6-stores-hpsa',
'rhel-x86_64-server-6-stores-optional',
'rhel-x86_64-server-6-stores-puppet-dependencies',
'rhel-x86_64-server-6-stores-puppet-product',
'rhel-x86_64-server-6-stores-spacewalk-client',
'rhel-x86_64-server-6-stores-thd-tools',
'rhel-x86_64-server-6-stores-tools', 'rhel-x86_64-server-6-stores-updates']
print "Merging selected channels!"
client.channel.software.mergePackages(key, src_channels[0], dst_channels[0])
client.channel.software.mergePackages(key, src_channels[1], dst_channels[1])
client.channel.software.mergePackages(key, src_channels[2], dst_channels[2])
client.channel.software.mergePackages(key, src_channels[3], dst_channels[3])
client.channel.software.mergePackages(key, src_channels[4], dst_channels[4])
client.channel.software.mergePackages(key, src_channels[5], dst_channels[5])
client.channel.software.mergePackages(key, src_channels[6], dst_channels[6])
client.channel.software.mergePackages(key, src_channels[7], dst_channels[7])
client.channel.software.mergePackages(key, src_channels[8], dst_channels[8])
client.channel.software.mergePackages(key, src_channels[9], dst_channels[9])
print "All channels have been synchronized!"
client.auth.logout(key)
I'm no expert on python, so I'm sure there's a more pythonic way to do
this, but it works.
On Fri, Jul 18, 2014 at 7:50 AM, Alexander Dacre <alex.dacre at aridhia.com>
wrote:
> Hi,
>
> Firstly, apologies if this appears as a duplicate post - first mailing
> list.
>
> The spacewalk-clone-by data command seems great, but it only seems to do
> packages with errata?
>
> If I was to just keep channels in sync from a package point of view and
> ignore errata, what would be the best way? I'm currently using the
> spacewalk-api and channel.software.mergePackages.
>
> Thanks,
> Alex
>
>
> _______________________________________________
> Spacewalk-list mailing list
> Spacewalk-list at redhat.com
> https://www.redhat.com/mailman/listinfo/spacewalk-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/spacewalk-list/attachments/20140721/419aaede/attachment.htm>
More information about the Spacewalk-list
mailing list