Bug 1000033

Summary: [RFE] system.schedulePackageInstall should support an array of serverId's like system.scheduleApplyErrata
Product: Red Hat Satellite 5 Reporter: graeme <gbrooksc>
Component: APIAssignee: Tomáš Kašpárek <tkasparek>
Status: CLOSED DUPLICATE QA Contact: Martin Korbel <mkorbel>
Severity: medium Docs Contact:
Priority: medium    
Version: 550CC: cperry, mkorbel, pdrouet, tkasparek, tlestach, xdmoon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-23 12:40:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1113221    

Description graeme 2013-08-22 14:20:40 UTC
Description of problem:

system.scheduleApplyErrata allows for an array of serverId's in a single API call. 

system.schedulePackageInstall should have this functionality as well as its very useful for batch schedules and status checks as it is via SSM.

Maybe another call can be added that doesn't interfere with current client scripts.

Below is the Errata API that supports an array of serverId's:

<from API>
Method: scheduleApplyErrata
 Description:
 Schedules an action to apply errata updates to multiple systems. 
Parameters:
 
• string sessionKey 
• array: ◦int - serverId
 
• array: ◦int - errataId

• dateTime.iso8601 earliestOccurrence 

Returns: 
• int - 1 on success, exception thrown otherwise. 
</from API>

<from API>


The current PackageInstall:

Method: schedulePackageInstall
 Description:
 Schedule package installation for a system. 
Parameters:
 
• string sessionKey 
• int serverId 
• array: ◦int - packageId
 
• dateTime.iso8601 earliestOccurrence 

Returns: 
• int - 1 on success, exception thrown otherwise. 

</from API>


What we would ideally like:

from API>
Method: schedulePackageInstall
 Description:
Schedule package installation for multiple systems. 
Parameters:
 
• string sessionKey 
• array: ◦int - serverId
 
• array: ◦int - packageId

Returns: 
• int - ID of the action scheduled, otherwise exception thrown on error
(covered in BZ910739) 
</from API>

...and then the API call that we can send the actionID (perhaps a liskPackageActions)and get a status on all systems associated with that actionID.

Impact:

We currently use customized tools/scripts to schedule package installs which based on the above isn't ideal as its an individual api call for each client server. Install schedules for 500+/1000+ systems can be cumbersome. You also need to consider the scheduled time making sure you dont have an overlap.

We then have another call which uses the time stamp of the scheduled job to find the systems and get the job status from them, this again is one call per system.

Justification:

schedulePackageInstall is our most used call, having this functionality would be a really nice feature and most other customers im sure would agree.

Comment 2 Tomáš Kašpárek 2014-07-10 11:47:32 UTC
Requested api call was added in Spacewalk: 6b84302fec6ff558e31807e09259e02f51607c82

Comment 4 Tomas Lestach 2014-10-23 12:40:00 UTC
Closing as duplicate of Bug 1008677 (that is already VERIFIED).

*** This bug has been marked as a duplicate of bug 1008677 ***