Bug 979134

Summary: oo-accept-node does not properly account for old cart versions
Product: OpenShift Online Reporter: Rob Millner <rmillner>
Component: ContainersAssignee: Rob Millner <rmillner>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.xCC: bmeng, mfisher, yadu
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-22 15:18:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rob Millner 2013-06-27 17:40:40 UTC
Description of problem:

The "check_cartridge_repository" function in oo-accept-node gets confused if there's an older version of the cartridge in the repository as well as a newer one.

Version-Release number of selected component (if applicable):


How reproducible:
Always, if there's both an old and new version installed

Steps to Reproduce:
1. Upgrade cartridges
2. run oo-accept-node

Actual results:


FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/phpmyadmin/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/python/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/switchyard/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/zend/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/jbossews/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/perl/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/php/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/jbosseap/metadata/manifest.yml
FAIL: cart repo version is older than /usr/libexec/openshift/cartridges/v2/jbossas/metadata/manifest.yml

Expected results:

No failures.

Additional info:

http://pastebin.test.redhat.com/149630

Comment 1 Rob Millner 2013-06-27 18:56:42 UTC
Taking off the blocker list.  To work around, do the following:
find /var/lib/openshift/.cartridge_repository -name manifest.yml | xargs touch

Comment 2 Rob Millner 2013-06-27 19:40:50 UTC
Back on blocker list.

Comment 3 Rob Millner 2013-06-27 20:00:54 UTC
Master pull request:
https://github.com/openshift/origin-server/pull/2955

Comment 4 Rob Millner 2013-06-27 20:04:03 UTC
Stage pull request:
https://github.com/openshift/origin-server/pull/2956

Comment 5 openshift-github-bot 2013-06-27 22:04:44 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/aefff2b83a30ae153765756d3bcda173bb1b8b93
Bug 979134 - the v1 cart version check was matching older versions of the v2 cart and is no longer necessary.

Comment 6 Meng Bo 2013-06-28 09:02:48 UTC
Checked on devenv-stage_382,

1. Modify the Cartridge Version to older one in manifest file under /usr/libexec/openshift/cartridges/v2/zend
2. Install the cartridge 
3. Check there are two versions installed.

# tree /var/lib/openshift/.cartridge_repository/redhat-zend/ -L 1
/var/lib/openshift/.cartridge_repository/redhat-zend/
├── 0.0.1
└── 0.0.2

4. Run oo-accept-node

It will not report the cartridge version unmatched.


Move bug to verified.