Bug 616267
| Summary: | system.ListPackages returns empty set for pre-RHEL 4.8 systems due to null package_arch_id | ||
|---|---|---|---|
| Product: | Red Hat Satellite 5 | Reporter: | Xixi <xdmoon> |
| Component: | Server | Assignee: | Justin Sherrill <jsherril> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Michael Mráka <mmraka> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 530 | CC: | cperry, jhutar, mmraka, pnovotny, samuel.kielek, xdmoon |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-10-28 14:53:11 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: | 487678, 608754 | ||
|
Description
Xixi
2010-07-20 00:30:30 UTC
As seen in the data query below, the API call returns empty b/c the underlying data query joins by package_arch_id, which is null for affected clients.
spacewalk-java-0.5.44/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
...
public Object[] listPackages(String sessionKey, Integer sid) throws FaultException {
// Get the logged in user and server
User loggedInUser = getLoggedInUser(sessionKey);
Server server = lookupServer(loggedInUser, sid);
DataResult dr = SystemManager.installedPackages(server.getId());
return dr.toArray();
}
...
spacewalk-java-0.5.44/code/src/com/redhat/rhn/manager/system/SystemManager.java
...
public static DataResult installedPackages(Long sid) {
SelectMode m = ModeFactory.getMode("System_queries", "system_installed_packages",
Map.class);
Map params = new HashMap();
params.put("sid", sid);
return m.execute(params);
}
...
spacewalk-java-0.5.44/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
...
<mode name="system_installed_packages">
<query params="sid">
SELECT PN.name,
PE.version,
PE.release,
NVL(PE.epoch, ' ') as epoch,
PA.name as arch
FROM rhnPackageName PN, rhnPackageEVR PE, rhnServerPackage SP, rhnPackageArch PA
WHERE SP.server_id = :sid
AND PN.id = SP.name_id
AND PE.id = SP.evr_id
AND PA.id = SP.package_arch_id
ORDER BY PN.name, PE.evr
</query>
</mode>
...
Fixed in spacewalk master for satellite 5.4 5c8acab5438496c77ea1dda2c4e2ec02e5c60efd Verified.
on client
# systemListPackages.py
[{'release': '3', 'epoch': ' ', 'version': '3.15.2', 'arch': 'AMD64', 'name': 'MAKEDEV'}, {'release': '34.4', 'epoch': ' ', 'version': '2.85', 'arch': 'AMD64', 'name': 'SysVinit'}, {'release': '32', 'epoch': ' ', 'version': '2.3', 'arch': 'AMD64', 'name': 'anacron'}, {'release': '4.EL4', 'epoch': '12', 'version': '0.50.5', 'arch': 'AMD64', 'name': 'aspell'}, {'release': '11', 'epoch': '50', 'version': '0.51', 'arch': 'AMD64', 'name': 'aspell-en'},
...
on server
# rpm -q spacewalk-java
spacewalk-java-1.2.39-26.el5sat
The 5.4.0 RHN Satellite and RHN Proxy release has occurred. This issue has been resolved with this release. RHEA-2010:0801 - RHN Satellite Server 5.4.0 Upgrade https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10332 RHEA-2010:0803 - RHN Tools enhancement update https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10333 RHEA-2010:0802 - RHN Proxy Server 5.4.0 bug fix update https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10334 RHEA-2010:0800 - RHN Satellite Server 5.4.0 https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10335 Docs are available: http://docs.redhat.com/docs/en-US/Red_Hat_Network_Satellite/index.html Regards, Clifford |