Bug 966344

Summary: Vendor isn't showing up on the client for non redhat cards
Product: OpenShift Online Reporter: Dan McPherson <dmcphers>
Component: PodAssignee: Rajat Chopra <rchopra>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 2.xCC: dmcphers, xtian
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-06-11 04:09:10 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 Dan McPherson 2013-05-23 06:08:43 UTC
Description of problem:

I added a non redhat vendored cart haproxy-status-api-0.1 and it's showing up on the client without vendor:

dmcphers@mcpherson:/tmp/rhc$ rhc cartridge remove -a blah2 -c openshift-haproxy-status-api-0.1 -l danmcp6Short Name             Full name
==========             =========
haproxy-status-api-0.1 HAProxy Status API
haproxy-1.4            OpenShift Web Balancer
php-5.3                PHP 5.3



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


How reproducible:


Steps to Reproduce:
1. Add a non redhat cart
2. Try to reference it with the vendor name
3.

Actual results:
It doesn't use the cart with vendor name

Expected results:
It should only work with the vendor name

Additional info:

Comment 1 Rajat Chopra 2013-05-25 19:02:01 UTC
fixed with rev#0188dd7a4cdbe6d837d174074789ebf11fa2c37c in origin-server.repo!

Comment 2 Xiaoli Tian 2013-05-27 08:21:40 UTC
Verified it on devenv_3277:

1) After creating an app with  vendor: xiaoliopenshift, cartidge_name:rubytest, it will be shown like following:

#rhc app-show -a rubyapp --gears
ID                       State   Cartridges                   Size  SSH URL
------------------------ ------- ---------------------------- ----- ------------------------------------------------------
965961927916299290148864 started xiaoliopenshift-rubytest-1.9 small 965961927916299290148864.rhcloud.com

2) And added a custom mongodb and a redhat mysql to it:
# rhc cartridge-add https://raw.github.com/xltian/mongotestonly/master/metadata/manifest.yml -a rubyapp

It will list the non-redhat cartridge with vendor name but redhat cartridge without vendor name:
# rhc app-show --gears -a rubyapp
ID                       State   Cartridges                                                         Size  SSH URL
------------------------ ------- ------------------------------------------------------------------ ----- ------------------------------------------------------
965961927916299290148864 started xiaoliopenshift-rubytest-1.9 openshiftxiaoli-mongodb-2.2 mysql-5.1 small 965961927916299290148864.rhcloud.com

3) Non-redhat cartridge could be referenced by with or without vendor name, if vendor name, related manifest file will not be listed,  but redhat cartridge could only be referenced without vendor name.

[root@ip-10-165-36-103 ~]# rhc cartridge restart -a rubyapp -c mongodb-2.2
The cartridge 'https://raw.github.com/xltian/mongotestonly/master/metadata/manifest.yml' will be downloaded and installed

RESULT:
openshiftxiaoli-mongodb-2.2 restarted

[root@ip-10-165-36-103 ~]# rhc cartridge restart -a rubyapp -c openshiftxiaoli-mongodb-2.2 
RESULT:
openshiftxiaoli-mongodb-2.2 restarted

[root@ip-10-165-36-103 ~]# rhc cartridge restart -a rubyapp -c mysql-5.1
RESULT:
mysql-5.1 restarted
[root@ip-10-165-36-103 ~]# rhc cartridge restart -a rubyapp -c redhat-mysql-5.1
Short Name                   Full name
==========                   =========
openshiftxiaoli-mongodb-2.2  MongoDB NoSQL Database 2.2
mysql-5.1                    MySQL Database 5.1
xiaoliopenshift-rubytest-1.9 RubyTest 1.9

There are no cartridges that match 'redhat-mysql-5.1'.

[root@ip-10-165-36-103 ~]# rhc cartridge restart -a rubyapp -c ruby
The cartridge 'https://raw.github.com/xltian/rubytestonly/master/metadata/manifest.yml' will be downloaded and installed

RESULT:
xiaoliopenshift-rubytest-1.9 restarted

[root@ip-10-165-36-103 ~]# rhc cartridge restart -a rubyapp -c xiaoliopenshift-rubytest-1.9
RESULT:
xiaoliopenshift-rubytest-1.9 restarted


Dan, Rajat: can you confirm if above are expected since current fix does not strictly match the expected result in the bug description?

Thanks

Comment 3 Dan McPherson 2013-05-28 13:45:42 UTC
What you describe is currently an expected client limitation.  The restart of redhat-mysql-5.1 should work against the REST api as redhat-mysql-5.1 or mysql-5.1.

Comment 4 Xiaoli Tian 2013-05-29 10:44:05 UTC
After bug 967409 is fixed, the vendor-name-version  and name-version works now:

#  curl -k -H "Accept: application/xml" --user "xtian+t1:redhat" https://localhost/broker/rest/domains/domx1/applications/phpapp/cartridges/mysql-5.1/events -d event=restart -X POST

 
     <text>Added restart on mysql-5.1 for application phpapp</text>

#curl -k -H "Accept: application/xml" --user "xtian+t1:redhat" https://localhost/broker/rest/domains/domx1/applications/phpapp/cartridges/redhat-mysql-5.1/events -d event=restart -X POST

      <text>Added restart on mysql-5.1 for application phpapp</text>