Bug 772722

Summary: Content Repository Syncing Does Not Use SHA256 for Checksum and Version
Product: [Other] RHQ Project Reporter: Stefan Negrea <snegrea>
Component: ContentAssignee: Stefan Negrea <snegrea>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: high    
Version: 4.3CC: hrupp
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:
: 789023 (view as bug list) Environment:
Last Closed: 2013-09-01 10:01:24 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: 758753, 789023    

Description Stefan Negrea 2012-01-09 19:25:56 UTC
Description of problem:
The content repository syncing plugins do not use SHA256 consistently as a checksum. Display version and version are not correctly set and do not follow agent side discovery conventions.

How reproducible:
Everytime.

Steps to Reproduce:
1. Attempt to sync RHQ with a remote package repository. 
2. Observe the version and display version for each package version synchronized.

  
Actual results:
MD5 is used as the checksum and version of packages.

Expected results:
The display version and version use the same format as the agent side plugins that discover content. The version format: [sha256=aaa1234..]


Additional info:
There are five server side plugins available for remote repository syncing. This BZ should focus on consistency with regards to version, display version and SHA256 as the checksum.

Comment 1 Mike Foley 2012-01-23 20:34:17 UTC
Setup:
1) JON server started
2) CSP URL: https://access.redhat.com/jbossnetwork/restricted/feed/software.html?product=all&downloadType=all&flavor=rss&version=&jonVersion=2.0

Stimulate:
1) Navigate to Administration -> Content -> Content Sources -> JBoss CP Patch Feed -> Edit
2) Select Yes from Active radio buttons
3) Type RedHat Network credentials
4) Save
5) Synchronize the repository

Verification steps:
1) Verify that after Step 6 there are packages in the synchornized repository
2) Look in the database, rhq_package_version and check display version and version fields. Display version should have the old version content, version should have the following format [sha256=abcd1234]

Comment 2 Mike Foley 2012-01-23 20:37:17 UTC
2nd verification steps



Setup:
1) RHQ server started
2) Two sample war archives (eg. sample1.war, sample2.war)

Stimulate:
1) Create the following folder tree:
      /rhqsources    <- folder
      /rhqsources/testrepo    <- folder
      /rhqsources/testrepo/subfolder    <- folder
      /rhqsources/testrepo/sample1.war    <- file
      /rhqsources/testrepo/subfolder/sample2.war    <-file
2) Navigate to Administration -> Content -> Content Sources -> Create New -> Local Disk Storage 
3) Fill in the fields required with the following info:
    a) Name of the sources should be testrepo
    b) Root directory should be /rhqsources
    c) Package type: JBossAS5 - Web Application (WAR) - WAR File
    d) Resource type: JBossAS5 - Web Application (WAR)
4) Save
5) Synchronize the repository

Verification steps:
1) Verify that after Step 6 there are packages in the synchornized repository
    a) only sample1.war is present
    b) sample2.war was not discovered
    c) there are no synchronization errors
2)  Look in the database, rhq_package_version and check display version and  version fields. Display version should have the old version content,  version should have the following format [sha256=abcd1234]

Comment 3 Stefan Negrea 2012-02-09 16:00:08 UTC
Some negative test cases for the second test case presented here:

1) Step 1, create /rhqresources/testrepo but leave it empty. No packages should be discovered for the repo. 
2) Step 1, create two subfolders underneath /rhqresources/testrepo. Add subpackages in each subfolder. Only packages directly underneath testrepo folder should be discovered.
3) Step 3, name the resource testrepo3. There should be no packages discovered since testrepo3 is not in the subdirectory structure of rhqresources.

Comment 5 Heiko W. Rupp 2013-09-01 10:01:24 UTC
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.