Bug 758753 - CLI Method updateBackingContent Does Not Persist Information Correctly in Database
CLI Method updateBackingContent Does Not Persist Information Correctly in Dat...
Product: RHQ Project
Classification: Other
Component: CLI (Show other bugs)
Unspecified Unspecified
high Severity high (vote)
: ---
: RHQ 4.3.0
Assigned To: Stefan Negrea
Mike Foley
Depends On: RHQ-2387 602475 727959 761593 767247 767393 769986 771418 771777 772722 773061 781763 782207 790753 801997 802787 802793 824503
Blocks: jon310-sprint11/rhq44-sprint11 788629
  Show dependency treegraph
Reported: 2011-11-30 11:27 EST by Stefan Negrea
Modified: 2013-09-01 06:07 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 788629 (view as bug list)
Last Closed: 2013-09-01 06:07:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Stefan Negrea 2011-11-30 11:27:55 EST
Description of problem:
CLI command updateBackingContent(fileName) for a resource does not persist correctly provided files.

How reproducible:
Every time

Steps to Reproduce:
1. Create four versions of a WAR files to upload to a resource.
2. Use resource.updateBackingContent(fileName) consecutively to upload the versions of the file.
Actual results:
The WAR files are not replaced correctly with new content on the third and subsequent attempts.

Expected results:
The WAR file should be updated correctly each time updateBackingContent is invoked.

Additional info:
This problem is exclusive only to the CLI; the similar UI functionality works as expected. A code inspection uncovered signification implementation differences between UI and CLI. 

The solution is to update the CLI code to use the same APIs as the UI. Such update requires code changes in the CLI, server, and remote interfaces.
Comment 1 Stefan Negrea 2011-12-08 10:59:35 EST
After further investigation this issue affects both the UI and CLI for deploying packages to content type resources. The CLI problem is more visible because the code relies on the existing version of a package to find the version for the current deployment. The UI has a less visible/obvious problem because the user is required to type the version of the package to be deployed and thus avoids retrieval of inconsistent data (see explanation below). 

The current deployment request life-cycle request is very complex; the big picture is this:
1) A package deployment is requested by the user.
2) The new packages are stored in the database.
3) Based on database information a request is generated for the agent
4) The agent receives the request and:
  a) copies the new packages to the correct location and sends the result of the deployment action back to the server. 
  b) starts discovery processes for content, service and server; each of thse processes will then send their results back to the server. 
5) The server receives the deployment response and does some database updates.
6) The server receives the discovery response and does some database updates.

The root cause is missing/incorrect installed package information on the server. The server actions from 5 and 6 operate over the same data but they update slightly different content. The defect stems from the fact that steps 5 and 6 leave the server data inconsistent with the actual agent-side state. The issue is even more visible on Tomcat 6 because of unimplemented SHA computation functionality. 

Based on the current investigation code fixes are required only in the backend, agent, and plugins. This would resolve both the UI and CLI issues without explicit updates.
Comment 3 Stefan Negrea 2012-02-08 11:26:27 EST
For verification please execute and refer to test cases for dependent bugs (in particular bug 761593, bug 767247, and bug 767393).
Comment 6 Heiko W. Rupp 2013-09-01 06:07:59 EDT
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.

Note You need to log in before you can comment on or make changes to this bug.