Bug 142767
Summary: | up2date.solveDependencies needs to include the arch of the packages that solve the dep | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Network | Reporter: | Adrian Likins <alikins> | ||||
Component: | RHN/Backend | Assignee: | John Wregglesworth <wregglej> | ||||
Status: | CLOSED ERRATA | QA Contact: | Beth Nackashi <bnackash> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rhn370 | CC: | rhn-bugs | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | RHBA-2005-711 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2005-10-05 17:12:20 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 147875, 149472, 156320, 156322, 159859 | ||||||
Attachments: |
|
Description
Adrian Likins
2004-12-13 22:37:02 UTC
I added a couple of methods to server/xmlrpc/up2date.py and server/rhnDependency.py that should take care of this. solve_dependencies_arch should be available through xmlrpc. The only difference between this and the regular solve_dependencies from the caller's point of view is that arch info is included in the lists that are associated with each filename. arch info should be the last element of the lists. solve_dependencies_with_limits allows the caller to get all of the packages that solve a dependency and limit the packages that are returned to those that match the criteria defined by limit_operator and limit. This version of the function also returns the architecture label of the package[s] that get returned. -Setting the all parameter to 1 will cause the function to return info on all of the version of a file that solves a dependency. -The limit_operator can be any of: '<', '<=', '==', '>=', or '>'. -limit is a a string of the format [epoch:]name-version-release, name-version-release[:epoch], or name-version-release. -deps is a list of filenames that the packages that are returned must provide. (same as solve_dependencies) -version is the version of the client that is calling the function. (same as solve_dependencies, I believe). I'm working on a test plan. Small correction for my previous comment. From xmlrpc, the function calls are solveDependencies_arch and solveDependencies_with_limits, not solve_dependencies_arch and solve_dependencies_with_limits. I named them that way to be consistant with the original solveDependencies method (which is still available). Test Plan This is going to require a satellite that has these changes incorporated. I'll add a comment later when I know what build they're in. This will probably require a script to test. 1. Using XML-RPC connect to http[s]://<hostname>/XMLRPC. 2. Call solve_dependencies_arch and solve_dependencies_with_limits with various combinations of parameters. They are methods of the up2date object so calls to them will look something like: server.up2date.solveDependencies_arch(system_id, deps) server.up2date.solveDependencies_with_limit( system_id, deps, limit="10:name-1.0-1.0", limit_operator=">=" ) Notes: With solveDependencies_with_limit, limit and limit_operator must be used together. The method should throw an exception if they aren't. If limit can't be parsed, it should throw an exception instead of failing silently. Created attachment 111385 [details]
Example script
I've attached a simple Python script that shows the differences between the
solveDependencies functions.
mass move to ON_QA after 2005-05-09 QA push Dev & PM ACKs for U6 Devel & PM ACK for U2 bnackash -- 6/29/2005 Verified fix on a client registered to a 4.0.0-79a satellite. Note arch type is now displayed in the list. [root@test07 ~]# python /tmp/142767.py old stuff {'libcaps.so': [['mozilla', '1.7.8', '1.4.1', '37']]} new stuff {'libcaps.so': [['mozilla', '1.7.8', '1.4.1', '37', 'i386']]} other stuff {'libcaps.so': [['mozilla', '1.7.8', '1.4.1', '37', 'i386'], ['mozilla', '1.7.7', '1.4.2', '37', 'i386'], ['mozilla', '1.7.6', '1.4.1', '37', 'i386'], ['mozilla', '1.7.3', '19.EL4', '37', 'i386'], ['mozilla', '1.7.3', '18.EL4', '37', 'i386']]} bnackash -- 6/29/2005 Bug is now PROD_READY for rhel 3 u6 only. also verified on client registered to hosted Bug is now PROD_READY for all releases. This bug should be on both the R3U6 and R4U2 CanFix lists. This bug blocks bugs that are already on those lists. And it has finished RHN QA. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2005-711.html |