Bug 976734 - REST API fails to get cartridge info with redhat cart with vendor name.
Summary: REST API fails to get cartridge info with redhat cart with vendor name.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Master
Version: 2.x
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Rajat Chopra
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-06-21 10:21 UTC by Liang Xia
Modified: 2015-05-15 00:55 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-07 22:54:38 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Liang Xia 2013-06-21 10:21:32 UTC
Description of problem:
REST API fails to get cartridge info with redhat cart with vendor name.

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

How reproducible:
always

Steps to Reproduce:
1.create an app.
2.curl -k -X GET -H 'Accept: application/xml' --user lxia:redhat https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3
3.curl -k -X GET -H 'Accept: application/xml' --user lxia:redhat https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/redhat-php-5.3

Actual results:
Step 2 shown the result we want as below:
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>ok</status>
  <type>cartridge</type>
  <data>
    <cartridge>
      <name>php-5.3</name>
      <status-messages nil="true"></status-messages>
      <version>5.3</version>
      <display-name>PHP 5.3</display-name>
      <description>PHP is a general-purpose server-side scripting language originally designed for Web development to produce dynamic Web pages. Popular development frameworks include: CakePHP, Zend, Symfony, and Code Igniter.</description>
      <license>The PHP License, version 3.0</license>
      <license-url>http://www.php.net/license/3_0.txt</license-url>
      <tags>
        <tag>service</tag>
        <tag>php</tag>
        <tag>web_framework</tag>
      </tags>
      <website>http://www.php.net</website>
      <url nil="true"></url>
      <type>standalone</type>
      <usage-rates/>
      <scales-from>1</scales-from>
      <scales-to>1</scales-to>
      <current-scale>1</current-scale>
      <gear-profile>small</gear-profile>
      <base-gear-storage>1</base-gear-storage>
      <additional-gear-storage>0</additional-gear-storage>
      <collocated-with/>
      <supported-scales-from>1</supported-scales-from>
      <supported-scales-to>1</supported-scales-to>
      <properties>
        <property>
          <name>OPENSHIFT_TMP_DIR</name>
          <type>environment</type>
          <description>Directory to store application temporary files.</description>
        </property>
        <property>
          <name>OPENSHIFT_REPO_DIR</name>
          <type>environment</type>
          <description>Application root directory where application files reside. This directory is reset every time you do a git-push</description>
        </property>
        <property>
          <name>OPENSHIFT_PHP_PORT</name>
          <type>environment</type>
          <description>Internal port to which the web-framework binds to.</description>
        </property>
        <property>
          <name>OPENSHIFT_PHP_IP</name>
          <type>environment</type>
          <description>Internal IP to which the web-framework binds to.</description>
        </property>
        <property>
          <name>OPENSHIFT_APP_DNS</name>
          <type>environment</type>
          <description>Fully qualified domain name for the application.</description>
        </property>
        <property>
          <name>OPENSHIFT_APP_NAME</name>
          <type>environment</type>
          <description>Application name</description>
        </property>
        <property>
          <name>OPENSHIFT_DATA_DIR</name>
          <type>environment</type>
          <description>Directory to store application data files. Preserved across git-pushes. Not shared across gears.</description>
        </property>
        <property>
          <name>OPENSHIFT_APP_UUID</name>
          <type>environment</type>
          <description>Unique ID which identified the application. Does not change between gears.</description>
        </property>
        <property>
          <name>OPENSHIFT_GEAR_UUID</name>
          <type>environment</type>
          <description>Unique ID which identified the gear. This value changes between gears.</description>
        </property>
      </properties>
      <scales-with nil="true"></scales-with>
      <help-topics>
        <Developer-Center>https://www.openshift.com/developers</Developer-Center>
      </help-topics>
      <links>
        <link>
          <rel>Get cartridge</rel>
          <method>GET</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3</href>
          <required-params/>
          <optional-params/>
        </link>
        <link>
          <rel>Update cartridge configuration</rel>
          <method>PUT</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3</href>
          <required-params/>
          <optional-params>
            <optional-param>
              <name>additional_gear_storage</name>
              <type>integer</type>
              <description>Additional filesystem storage in gigabytes on each gear having cartridge php-5.3</description>
              <valid-options/>
              <default-value nil="true"></default-value>
            </optional-param>
            <optional-param>
              <name>scales_from</name>
              <type>integer</type>
              <description>Minimum number of gears having cartridge php-5.3</description>
              <valid-options/>
              <default-value nil="true"></default-value>
            </optional-param>
            <optional-param>
              <name>scales_to</name>
              <type>integer</type>
              <description>Maximum number of gears having cartridge php-5.3</description>
              <valid-options/>
              <default-value nil="true"></default-value>
            </optional-param>
          </optional-params>
        </link>
        <link>
          <rel>Start embedded cartridge</rel>
          <method>POST</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>start</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Stop cartridge</rel>
          <method>POST</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>stop</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Restart cartridge</rel>
          <method>POST</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>restart</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Reload cartridge</rel>
          <method>POST</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>reload</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Delete cartridge</rel>
          <method>DELETE</method>
          <href>https://int.openshift.redhat.com/broker/rest/domains/lxia/applications/intphp/cartridges/php-5.3</href>
          <required-params/>
          <optional-params/>
        </link>
      </links>
    </cartridge>
  </data>
  <messages>
    <message>
      <severity>info</severity>
      <text>Showing cartridge php-5.3 for application intphp under domain lxia</text>
      <exit-code>0</exit-code>
      <field nil="true"></field>
    </message>
  </messages>
  <version>1.5</version>
  <api-version>1.5</api-version>
  <supported-api-versions>
    <supported-api-version>1.0</supported-api-version>
    <supported-api-version>1.1</supported-api-version>
    <supported-api-version>1.2</supported-api-version>
    <supported-api-version>1.3</supported-api-version>
    <supported-api-version>1.4</supported-api-version>
    <supported-api-version>1.5</supported-api-version>
  </supported-api-versions>
</response>

Step 3 shown:
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>not_found</status>
  <type nil="true"></type>
  <data>
    <datum nil="true"></datum>
  </data>
  <messages>
    <message>
      <severity>error</severity>
      <text>Cartridge 'redhat-php-5.3' not found for application 'intphp'</text>
      <exit-code>129</exit-code>
      <field nil="true"></field>
    </message>
  </messages>
  <version>1.5</version>
  <api-version>1.5</api-version>
  <supported-api-versions>
    <supported-api-version>1.0</supported-api-version>
    <supported-api-version>1.1</supported-api-version>
    <supported-api-version>1.2</supported-api-version>
    <supported-api-version>1.3</supported-api-version>
    <supported-api-version>1.4</supported-api-version>
    <supported-api-version>1.5</supported-api-version>
  </supported-api-versions>
</response>

Expected results:
Step 3 should shown the same result as step 2.

Additional info:

Comment 1 Rajat Chopra 2013-07-23 23:02:57 UTC
fixed with rev#f3e625e08e8e7ad07d2128afb02c2870a4348621 in origin-server.repo!

Comment 2 Liang Xia 2013-07-24 02:16:17 UTC
Verified on devenv_3544, it has been fixed.

# curl -k -X GET -H 'Accept: application/xml' --user lxia:redhat https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/redhat-php-5.3
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>ok</status>
  <type>cartridge</type>
  <data>
    <cartridge>
      <name>php-5.3</name>
      <status-messages nil="true"></status-messages>
      <version>5.3</version>
      <display-name>PHP 5.3</display-name>
      <description>PHP is a general-purpose server-side scripting language originally designed for Web development to produce dynamic Web pages. Popular development frameworks include: CakePHP, Zend, Symfony, and Code Igniter.</description>
      <license>The PHP License, version 3.0</license>
      <license-url>http://www.php.net/license/3_0.txt</license-url>
      <tags>
        <tag>service</tag>
        <tag>php</tag>
        <tag>web_framework</tag>
      </tags>
      <website>http://www.php.net</website>
      <url nil="true"></url>
      <type>standalone</type>
      <usage-rates/>
      <scales-from>1</scales-from>
      <scales-to>1</scales-to>
      <current-scale>1</current-scale>
      <gear-profile>small</gear-profile>
      <base-gear-storage>1</base-gear-storage>
      <additional-gear-storage>0</additional-gear-storage>
      <collocated-with/>
      <supported-scales-from>1</supported-scales-from>
      <supported-scales-to>1</supported-scales-to>
      <properties>
        <property>
          <name>OPENSHIFT_TMP_DIR</name>
          <type>environment</type>
          <description>Directory to store application temporary files.</description>
        </property>
        <property>
          <name>OPENSHIFT_REPO_DIR</name>
          <type>environment</type>
          <description>Application root directory where application files reside. This directory is reset every time you do a git-push</description>
        </property>
        <property>
          <name>OPENSHIFT_PHP_PORT</name>
          <type>environment</type>
          <description>Internal port to which the web-framework binds to.</description>
        </property>
        <property>
          <name>OPENSHIFT_PHP_IP</name>
          <type>environment</type>
          <description>Internal IP to which the web-framework binds to.</description>
        </property>
        <property>
          <name>OPENSHIFT_APP_DNS</name>
          <type>environment</type>
          <description>Fully qualified domain name for the application.</description>
        </property>
        <property>
          <name>OPENSHIFT_APP_NAME</name>
          <type>environment</type>
          <description>Application name</description>
        </property>
        <property>
          <name>OPENSHIFT_DATA_DIR</name>
          <type>environment</type>
          <description>Directory to store application data files. Preserved across git-pushes. Not shared across gears.</description>
        </property>
        <property>
          <name>OPENSHIFT_APP_UUID</name>
          <type>environment</type>
          <description>Unique ID which identified the application. Does not change between gears.</description>
        </property>
        <property>
          <name>OPENSHIFT_GEAR_UUID</name>
          <type>environment</type>
          <description>Unique ID which identified the gear. This value changes between gears.</description>
        </property>
      </properties>
      <scales-with nil="true"></scales-with>
      <help-topics>
        <Developer-Center>https://www.openshift.com/developers</Developer-Center>
      </help-topics>
      <links>
        <link>
          <rel>Get cartridge</rel>
          <method>GET</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3</href>
          <required-params/>
          <optional-params/>
        </link>
        <link>
          <rel>Update cartridge configuration</rel>
          <method>PUT</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3</href>
          <required-params/>
          <optional-params>
            <optional-param>
              <name>additional_gear_storage</name>
              <type>integer</type>
              <description>Additional filesystem storage in gigabytes on each gear having cartridge php-5.3</description>
              <valid-options/>
              <default-value nil="true"></default-value>
            </optional-param>
            <optional-param>
              <name>scales_from</name>
              <type>integer</type>
              <description>Minimum number of gears having cartridge php-5.3</description>
              <valid-options/>
              <default-value nil="true"></default-value>
            </optional-param>
            <optional-param>
              <name>scales_to</name>
              <type>integer</type>
              <description>Maximum number of gears having cartridge php-5.3</description>
              <valid-options/>
              <default-value nil="true"></default-value>
            </optional-param>
          </optional-params>
        </link>
        <link>
          <rel>Start embedded cartridge</rel>
          <method>POST</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>start</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Stop cartridge</rel>
          <method>POST</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>stop</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Restart cartridge</rel>
          <method>POST</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>restart</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Reload cartridge</rel>
          <method>POST</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3/events</href>
          <required-params>
            <param>
              <name>event</name>
              <type>string</type>
              <description>event</description>
              <valid-options>
                <valid-option>reload</valid-option>
              </valid-options>
              <invalid-options/>
            </param>
          </required-params>
          <optional-params/>
        </link>
        <link>
          <rel>Delete cartridge</rel>
          <method>DELETE</method>
          <href>https://ec2-54-242-195-38.compute-1.amazonaws.com/broker/rest/domains/lxia/applications/app1/cartridges/php-5.3</href>
          <required-params/>
          <optional-params/>
        </link>
      </links>
    </cartridge>
  </data>
  <messages>
    <message>
      <severity>info</severity>
      <text>Showing cartridge redhat-php-5.3 for application app1 under domain lxia</text>
      <exit-code>0</exit-code>
      <field nil="true"></field>
    </message>
  </messages>
  <version>1.5</version>
  <api-version>1.5</api-version>
  <supported-api-versions>
    <supported-api-version>1.0</supported-api-version>
    <supported-api-version>1.1</supported-api-version>
    <supported-api-version>1.2</supported-api-version>
    <supported-api-version>1.3</supported-api-version>
    <supported-api-version>1.4</supported-api-version>
    <supported-api-version>1.5</supported-api-version>
  </supported-api-versions>
</response>


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