[Spacewalk-list] removing channels and packages

Wolf, Christian Christian.Wolf at foxmobile.com
Fri Feb 20 15:44:17 UTC 2009


At first, it was my mistake with script. I do not change 'name' and
'id'.

 

ID and Label Name script

Scriptname: labelid 

#Start Script

#!/usr/bin/perl

use Frontier::Client;

my $HOST = 'spacewalk2.jcorp.ad.jamba.net';

my $user = 'spacewalk';

my $pass = 'spacewalk';

 

my $client = new Frontier::Client(url => "http://$HOST/rpc/api");

my $session = $client->call('auth.login',$user, $pass);

my $channel = $client->call('channel.listAllChannels', $session);

 

foreach my $channel (@$channel)

{

print ($channel->{'channel_id'});

print ($channel->{'channel_label'}."\n");

}

$client->call('auth.logout', $session);

#End Script

 

[root at spacewalk2 Desktop]# perl labelid

102fedora-10-i386

103fedora-9-i386

101testen

 

 

Then I use the script from Joaquin

Scriptname: deletepackage

#Start Script

#!/usr/bin/perl

use Frontier::Client;

 

my $HOST = 'spacewalk2.jcorp.ad.jamba.net';

my $user = 'spacewalk';

my $pass = 'spacewalk';

 

my $client = new Frontier::Client(url => "https://$HOST/rpc/api");

my $session = $client->call('auth.login',$user, $pass);

my $channels =
$client->call('channel.software.listPackagesWithoutChannel', $session);

 

foreach my $channel (@$channels)

{

  print "Deleting orphaned package: ".$channel->{'fedora-10-i386'}."\n";

  $client->call('packages.removePackage', $session, $channel->{'102'} );

}

$client->call('auth.logout', $session);

#End Script

 

 

And now I get failure message

[root at spacewalk2 Desktop]# perl deletepackage

Deleting orphaned package:

Fault returned from XML RPC Server, fault code -1:
com.redhat.rhn.common.translation.TranslationException: Could not find
translator for class java.lang.String to class java.lang.Integer

 

I don't  know what I must do to delete packages from channel
fedora-10-i386?

Did I something wrong in script?

 

From: spacewalk-list-bounces at redhat.com
[mailto:spacewalk-list-bounces at redhat.com] On Behalf Of Wolf, Christian
Sent: Friday, February 20, 2009 11:19 AM
To: spacewalk-list at redhat.com
Subject: RE: [Spacewalk-list] removing channels and packages

 

I want to delete all fedora 10 packages. I use this script but nothing
happen. 

Script:

#Start Script

 

 

#!/usr/bin/perl

use Frontier::Client;

 

my $HOST = 'spacewalk2."domain";

my $user = 'spacewalk';

my $pass = 'spacewalk';

 

my $client = new Frontier::Client(url => "https://$HOST/rpc/api");

my $session = $client->call('auth.login',$user, $pass);

 

my $channels =
$client->call('channel.software.listPackagesWithoutChannel', $session);

 

foreach my $channel (@$channels)

{

 

  print "Deleting orphaned package: ".$channel->{'name'}."\n";

 

  $client->call('packages.removePackage', $session, $channel->{'id'} );

 

}

 

$client->call('auth.logout', $session);

 

 

#End Script

 

Must I delete the packages at first from /var/satellite/redhat/1/ ?

or delete this script also the packages from there and from Spacewalk
UI?

If I delete from Spacewalk UI, this error will display

Service Temporarily Unavailable

The server is temporarily unable to service your request due to
maintenance downtime or capacity problems. Please try again later.

________________________________

Apache/2.2.3 (CentOS) Server at spacewalk2

 

 

Sorry for bad English

 

From: spacewalk-list-bounces at redhat.com
[mailto:spacewalk-list-bounces at redhat.com] On Behalf Of Joaquin Raventos
Sent: Monday, February 16, 2009 4:41 PM
To: spacewalk-list at redhat.com
Subject: Re: [Spacewalk-list] removing channels and packages

 

Michiel,

Try running this script. Works for me to get rid of all the obsolete
packages. Just change the $HOST, $user, and $pass variables to match you
environment.

Thanks,

Joaquin

------------------------------------------------------------
#Start Script


#!/usr/bin/perl
use Frontier::Client;

my $HOST = 'server.domain.com <http://server.domain.com> ';
my $user = 'user';
my $pass = 'password';

my $client = new Frontier::Client(url => "http://$HOST/rpc/api");
my $session = $client->call('auth.login',$user, $pass);

my $channels =
$client->call('channel.software.listPackagesWithoutChannel', $session);

foreach my $channel (@$channels)
{

  print "Deleting orphaned package: ".$channel->{'name'}."\n";

  $client->call('packages.removePackage', $session, $channel->{'id'} );

}

$client->call('auth.logout', $session);


#End Script

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/spacewalk-list/attachments/20090220/77e24410/attachment.htm>


More information about the Spacewalk-list mailing list