I had run in to a situation where my Satellite had several hundred-thousand previously run scheduled jobs sitting in the history... I could delete them 25 at a time... and if I did "Select All" it would puke.
So - I created the following
#!/usr/bin/env python
import xmlrpclib
import time
SATELLITE_URL = "http://rhnsat01.company.com/rpc/api"
SATELLITE_LOGIN = "satadmin"
SATELLITE_PASSWORD = "notMyPassword"
client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
delete = 1
key = client.auth.login(SATELLITE_LOGIN, SATELLITE_PASSWORD)
###############################
# CHANGE THINGS AFTER THIS LINE
#
## Delete all Failed Actions
x = "Deleting all Failed Actions"
print(x)
failed_list = client.schedule.listFailedActions(key)
action_ids=[]
for action in failed_list:
action_ids.append(action['id'])
archive_result=client.schedule.archiveActions(key,action_ids)
## Archive all Completed Actions
## Generate an Array of size (max_num_ids) and purge it
x = "Archiving all Completed Actions"
print(x)
counter = 0
max_num_ids = 100
archived_list = client.schedule.listCompletedActions(key)
action_ids=[]
for action in archived_list:
print action.get('id')
action_ids.append(action['id'])
counter = counter + 1
if counter == max_num_ids:
del_result=client.schedule.archiveActions(key,action_ids)
time.sleep(.1)
action_ids=[]
counter = 0
## Delete all Archived Actions
## Generate an Array of size (max_num_ids) and purge it
x = "Deleting all Completed Actions"
print(x)
counter = 0
max_num_ids = 100
archived_list = client.schedule.listArchivedActions(key)
action_ids=[]
## Traverse Array in reverse [::-1]
#for action in archived_list[::-1]:
## Traverse Array in forward [:]
for action in archived_list:
print action.get('id')
action_ids.append(action['id'])
counter = counter + 1
if delete == 1:
if counter == max_num_ids:
del_result=client.schedule.deleteActions(key,action_ids)
time.sleep(.1)
action_ids=[]
counter = 0
##
## CHANGE THINGS BEFORE THIS LINE
###############################
client.auth.logout(key)
So - I created the following
#!/usr/bin/env python
import xmlrpclib
import time
SATELLITE_URL = "http://rhnsat01.company.com/rpc/api"
SATELLITE_LOGIN = "satadmin"
SATELLITE_PASSWORD = "notMyPassword"
client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
delete = 1
key = client.auth.login(SATELLITE_LOGIN, SATELLITE_PASSWORD)
###############################
# CHANGE THINGS AFTER THIS LINE
#
## Delete all Failed Actions
x = "Deleting all Failed Actions"
print(x)
failed_list = client.schedule.listFailedActions(key)
action_ids=[]
for action in failed_list:
action_ids.append(action['id'])
archive_result=client.schedule.archiveActions(key,action_ids)
## Archive all Completed Actions
## Generate an Array of size (max_num_ids) and purge it
x = "Archiving all Completed Actions"
print(x)
counter = 0
max_num_ids = 100
archived_list = client.schedule.listCompletedActions(key)
action_ids=[]
for action in archived_list:
print action.get('id')
action_ids.append(action['id'])
counter = counter + 1
if counter == max_num_ids:
del_result=client.schedule.archiveActions(key,action_ids)
time.sleep(.1)
action_ids=[]
counter = 0
## Delete all Archived Actions
## Generate an Array of size (max_num_ids) and purge it
x = "Deleting all Completed Actions"
print(x)
counter = 0
max_num_ids = 100
archived_list = client.schedule.listArchivedActions(key)
action_ids=[]
## Traverse Array in reverse [::-1]
#for action in archived_list[::-1]:
## Traverse Array in forward [:]
for action in archived_list:
print action.get('id')
action_ids.append(action['id'])
counter = counter + 1
if delete == 1:
if counter == max_num_ids:
del_result=client.schedule.deleteActions(key,action_ids)
time.sleep(.1)
action_ids=[]
counter = 0
##
## CHANGE THINGS BEFORE THIS LINE
###############################
client.auth.logout(key)
Comments
Post a Comment