Bug 798933

Summary: [REST API] Missing scale usage for applications api
Product: OKD Reporter: Johnny Liu <jialiu>
Component: PodAssignee: Lili Nader <lnader>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.xCC: mfisher, rmillner
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-13 18:34:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Johnny Liu 2012-03-01 10:22:11 UTC
Description of problem:

1. In "Create new application" section, only mention "name" and "cartridge" parameters, no "scale" parameters.

$ curl -k -X GET -H 'Accept: application/xml' --user jialiu:214214 https://ec2-184-73-117-151.compute-1.amazonaws.com/broker/rest/domains
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <type>domains</type>
  <version>1.0</version>
  <messages/>
  <data>
    <domain>
      <namespace>jialiu</namespace>
      <links>
        <--snip-->
        <link>
          <required-params>
            <param>
              <description>Name of the application</description>
              <type>string</type>
              <name>name</name>
              <valid-options/>
            </param>
            <param>
              <description>framework-type, e.g: php-5.3</description>
              <type>string</type>
              <name>cartridge</name>
              <valid-options>
                <valid-option>nodejs-0.6</valid-option>
                <valid-option>jbossas-7</valid-option>
                <valid-option>haproxy-1.4</valid-option>
                <valid-option>python-2.6</valid-option>
                <valid-option>jenkins-1.4</valid-option>
                <valid-option>ruby-1.8</valid-option>
                <valid-option>raw-0.1</valid-option>
                <valid-option>php-5.3</valid-option>
                <valid-option>perl-5.10</valid-option>
              </valid-options>
            </param>
          </required-params>
          <href>/domains/jialiu/applications</href>
          <method>POST</method>
          <rel>Create new application</rel>
          <optional-params/>
        </link>
      </links>
    </domain>
  </data>
  <status>ok</status>
</response>

2. After created a scalable application, no "scale-up" and "scale-down" event is mentioned.

$ curl -k -X POST -H 'Accept: application/xml' -d name=myapp -d cartridge=php-5.3 -d scale=true --user jialiu:214214 https://ec2-184-73-117-151.compute-1.amazonaws.com/broker/rest/domains/jialiu/applications
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <type>application</type>
  <version>1.0</version>
  <messages>
    <message>
      <field nil="true"></field>
      <severity>info</severity>
      <exit-code nil="true"></exit-code>
      <text>Application myapp was created.</text>
    </message>
  </messages>
  <application>
    <embedded>
    </embedded>
    <domain-id>jialiu</domain-id>
    <name>myapp</name>
    <aliases/>
    <creation-time>2012-03-01T03:03:18-05:00</creation-time>
    <uuid>e27b5f72fa164f6e949e354b7fa0c3a4</uuid>
    <links>
      <link>
        <required-params>
          <param>
            <description>event</description>
            <type>string</type>
            <name>event</name>
            <valid-options>start</valid-options>
          </param>
        </required-params>
        <href>/domains/jialiu/applications/myapp/events</href>
        <method>POST</method>
        <rel>Start application</rel>
        <optional-params/>
      </link>
      <link>
        <required-params/>
        <href>/domains/jialiu/applications/myapp/cartridges</href>
        <method>GET</method>
        <rel>List embedded cartridges</rel>
        <optional-params/>
      </link>
      <link>
        <required-params/>
        <href>/domains/jialiu/applications/myapp</href>
        <method>DELETE</method>
        <rel>Delete application</rel>
        <optional-params/>
      </link>
      <link>
        <required-params>
          <param>
            <description>event</description>
            <type>string</type>
            <name>event</name>
            <valid-options>force-stop</valid-options>
          </param>
        </required-params>
        <href>/domains/jialiu/applications/myapp/events</href>
        <method>POST</method>
        <rel>Force stop application</rel>
        <optional-params/>
      </link>
      <link>
        <required-params>
          <param>
            <description>event</description>
            <type>string</type>
            <name>event</name>
            <valid-options>stop</valid-options>
          </param>
        </required-params>
        <href>/domains/jialiu/applications/myapp/events</href>
        <method>POST</method>
        <rel>Stop application</rel>
        <optional-params/>
      </link>
      <link>
        <required-params/>
        <href>/domains/jialiu/applications/myapp/gears</href>
        <method>GET</method>
        <rel>Get application gears</rel>
        <optional-params/>
      </link>
      <link>
        <required-params>
          <param>
            <description>framework-type, e.g.: mysql-5.1</description>
            <type>string</type>
            <name>cartridge</name>
            <valid-options>
              <valid-option>mongodb-2.0</valid-option>
              <valid-option>cron-1.4</valid-option>
              <valid-option>mysql-5.1</valid-option>
              <valid-option>postgresql-8.4</valid-option>
              <valid-option>10gen-mms-agent-0.1</valid-option>
              <valid-option>phpmyadmin-3.4</valid-option>
              <valid-option>metrics-0.1</valid-option>
              <valid-option>phpmoadmin-1.0</valid-option>
              <valid-option>rockmongo-1.1</valid-option>
              <valid-option>jenkins-client-1.4</valid-option>
            </valid-options>
          </param>
        </required-params>
        <href>/domains/jialiu/applications/myapp/cartridges</href>
        <method>POST</method>
        <rel>Add embedded cartridge</rel>
        <optional-params/>
      </link>
      <link>
        <required-params>
          <param>
            <description>event</description>
            <type>string</type>
            <name>event</name>
            <valid-options>restart</valid-options>
          </param>
        </required-params>
        <href>/domains/jialiu/applications/myapp/events</href>
        <method>POST</method>
        <rel>Restart application</rel>
        <optional-params/>
      </link>
    </links>
    <framework>haproxy-1.4</framework>
  </application>
  <status>created</status>
</response>


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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Johnny Liu 2012-03-27 07:44:27 UTC
Verified this bug with devenv_1674, and PASS.
$ curl -k -X GET -H 'Accept: application/xml' --user jialiu:xx https://ec2-23-20-26-98.compute-1.amazonaws.com/broker/rest/domains/jialiu/applications
...
        <link>
          <rel>Scale up application</rel>
          <method>POST</method>
          <href>/domains/jialiu/applications/myapp/events</href>
          <optional-params/>
          <required-params>
            <param>
              <valid-options>scale-up</valid-options>
              <name>event</name>
              <description>event</description>
              <type>string</type>
            </param>
          </required-params>
        </link>
...
        <link>
          <rel>Scale down application</rel>
          <method>POST</method>
          <href>/domains/jialiu/applications/myapp/events</href>
          <optional-params/>
          <required-params>
            <param>
              <valid-options>scale-down</valid-options>
              <name>event</name>
              <description>event</description>
              <type>string</type>
            </param>
          </required-params>
        </link>
...