Bug 767328
Summary: | cannot edit a template with more than 1 definition attached | |||
---|---|---|---|---|
Product: | [Other] RHQ Project | Reporter: | John Mazzitelli <mazz> | |
Component: | drift | Assignee: | John Sanda <jsanda> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Mike Foley <mfoley> | |
Severity: | high | Docs Contact: | ||
Priority: | high | |||
Version: | 4.2 | CC: | skondkar | |
Target Milestone: | --- | |||
Target Release: | RHQ 4.3.0 | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 785968 (view as bug list) | Environment: | ||
Last Closed: | 2013-08-31 10:12:53 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: | 760116, 785968 |
Description
John Mazzitelli
2011-12-13 19:53:43 UTC
git commit 9b42a3a83b51bdce587b6841774e373b25343e5a doesn't fix this bug, but it fixes another bug that shows up when basedir is null (which is the real problem - basedir should not be null). See the diff of that commit for details. Template updates are propagated to attached definitions. This means that DriftManagerBean.updateDriftDefinition is invoked for each attached definition. Note that this all occurs within the same transaction. updateDriftDefinition sends a request to the agent to add/update the definition. To avoid hibernate proxy issues on the agent, we flush and clear the persistence context before calling the agent. When updateDriftDefinition is called for the second definition, the proxy for DriftDefinition.configuration has been cleared and we wind up with the following exception, Caused by: java.lang.NullPointerException at org.rhq.enterprise.server.drift.DriftManagerBean.validateDriftDefinition(DriftManagerBean.java:804) at org.rhq.enterprise.server.drift.DriftManagerBean.updateDriftDefinition(DriftManagerBean.java:720) The short term, temporary solution is to reload each definition before we call updateDriftDefinition. master commit hash: ee66d10c7c3dee5a9c9bd102d9ea2db347e0e769 I was talking with mazz and jshaughn about a longer term solution that involves sending requests to agents out of band using quartz. The solution ought to be generic as it would have applicability in other places outside of drift code. Verified on master build#833 (Version: 4.3.0-SNAPSHOT Build Number: ee66d10) Imported two EAP5.x servers and created a drift template on JBossAS5 server. Created drift definitions from that template on both the EAP servers. Verified that editing and saving the drift template does not throw any exception and the attached drift definitions are updated successfully. Also verified by creating two definitions from the same template on the same resource and updating the template. Setting the Target Release version correctly to match where the issue was tested. verified JON 3.01 RC3 Bulk close of old bugs in VERIFIED state. |