Bug 601895
| Summary: | qpid-tool uses QMFv1 format for method calls regardless of the version of the agent | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Ted Ross <tross> | ||||||
| Component: | qpid-qmf | Assignee: | Ken Giusti <kgiusti> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Frantisek Reznicek <freznice> | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | medium | ||||||||
| Version: | Development | CC: | esammons, freznice, gsim, tross | ||||||
| Target Milestone: | 1.3 | ||||||||
| 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-20 11:30:02 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: | 583526, 601841 | ||||||||
| Attachments: |
|
||||||||
|
Description
Ted Ross
2010-06-08 20:21:47 UTC
Created attachment 429542 [details]
Suggested fix
The issue here is that all unsolicited messages on which qpid-tool operates come via the QMF v1 path, even though the broker agent is recognised as a v2 agent. The method used to call management methods uses the object id of the object in question to determine which form of method to use.
This patch forges a v2 object-id and passes that through in place of the v1 id. It does this only if the agent for the object is a v2 agent.
The patch looks ok. It emulates the object-name generation algorithm used in the broker's embedded agent. I'll note that this is a broker-specific fix which is ok because the broker is the only agent that will act as a V2 agent yet publish objects updates in V1 form. Created attachment 430668 [details]
revised patch
A minor revision to the patch that uses the newly added ObjectId.create() classmethod.
Submitted Gordon's patch upstream: Committed revision 962526. on mrg_1.3.x branch: http://mrg1.lab.bos.redhat.com/git/?p=qpid.git;a=commitdiff;h=9f98f8bb00756b244466b7983bfb63afb1882d03 The issue has been fixed (python qmf console/client as well as qpid-tool is able to purge in standalone / clustered environment), tested on RHEL 4.8 / 5.5 i386 / x86_64 on packages: python-qmf-0.7.946106-8.el5 python-qpid-0.7.946106-11.el5 qmf-0.7.946106-11.el5 qmf-devel-0.7.946106-11.el5 qpid-cpp-client*-0.7.946106-11.el5 qpid-cpp-mrg-debuginfo-0.7.946106-11.el5 qpid-cpp-server*-0.7.946106-11.el5 qpid-java-client-0.7.946106-7.el5 qpid-java-common-0.7.946106-7.el5 qpid-tools-0.7.946106-8.el5 rh-qpid-cpp-tests-0.7.946106-11.el5 ruby-qmf-0.7.946106-11.el5 ruby-qpid-0.7.946106-2.el5 -> VERIFIED |