Bug 812805 - [REST API] node execution failure when trigger 'show-port' event for application with jenkins client embedded.
Summary: [REST API] node execution failure when trigger 'show-port' event for applicat...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OKD
Classification: Red Hat
Component: Pod
Version: 2.x
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: ---
Assignee: Rob Millner
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-16 09:38 UTC by Johnny Liu
Modified: 2015-05-15 01:51 UTC (History)
3 users (show)

Fixed In Version: rubygem-stickshift-controller-0.9.10-1+
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-04-27 20:47:02 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 806401 0 medium CLOSED [REST API] node execution failure when trigger 'show-port' event for a scalable application 2021-02-22 00:41:40 UTC

Internal Links: 806401

Description Johnny Liu 2012-04-16 09:38:45 UTC
Description of problem:
$ curl -k -X POST -H 'Accept: application/xml' -d event=show-port --user jialiu:214214 https://ec2-107-22-102-43.compute-1.amazonaws.com/broker/rest/domains/jialiu/applications/phptest/events
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>internal_server_error</status>
  <type nil="true"></type>
  <version>1.0</version>
  <messages>
    <message>
      <severity>error</severity>
      <field nil="true"></field>
      <exit-code>143</exit-code>
      <text>Failed to add event show-port to application phptest due to: Node execution failure (invalid exit code from node).  If the problem persists please contact Red Hat support.</text>
    </message>
  </messages>
  <data>
    <datum nil="true"></datum>
  </data>
</response>


Broker log:
DEBUG: rpc_exec_direct: rpc_client=#<MCollective::RPC::Client:0x7f84cd2aab08>
DEBUG: rpc_client.custom_request('cartridge_do', {:cartridge=>"jenkins-client-1.4", :args=>"'phptest' 'jialiu' '7895502c5dcd4851a46ac0fc858c29b3'", :action=>"show-port"}, @id, {'identity' => @id})
DEBUG: [#<MCollective::RPC::Result:0x7f84cda48720 @results={:statusmsg=>"cartridge_do_action ERROR action 'show-port' not found.", :sender=>"ip-10-62-7-53", :statuscode=>1, :data=>{:exitcode=>127}}, @action="cartridge_do", @agent="libra">]
Node execution failure (invalid exit code from node).  If the problem persists please contact Red Hat support.
#<StickShift::NodeException: Node execution failure (invalid exit code from node).  If the problem persists please contact Red Hat support.>


Mcollective log:
D, [2012-04-16T05:35:56.640549 #1015] DEBUG -- : libra.rb:60:in `cartridge_do_action' cartridge_do_action call / request = #<MCollective::RPC::Request:0x7f6b6b5b1278
 @action="cartridge_do",
 @agent="libra",
 @caller="cert=mcollective-public",
 @data=
  {:action=>"show-port",
   :process_results=>true,
   :args=>"'phptest' 'jialiu' '7895502c5dcd4851a46ac0fc858c29b3'",
   :cartridge=>"jenkins-client-1.4"},
 @sender="ip-10-62-7-53",
 @time=1334568956,
 @uniqid="93c0c717917cae03e95b721277f13811">

D, [2012-04-16T05:35:56.640762 #1015] DEBUG -- : libra.rb:61:in `cartridge_do_action' cartridge_do_action validation = jenkins-client-1.4 show-port 'phptest' 'jialiu' '7895502c5dcd4851a46ac0fc858c29b3'
D, [2012-04-16T05:35:56.641269 #1015] DEBUG -- : aes_security.rb:142:in `serialize' Serializing using yaml


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-04-16 09:39:17 UTC
This bug is found against devenv_1723

Comment 2 Rob Millner 2012-04-24 01:29:47 UTC
Fixed in commits 7912787, 3a32e804, and 0ec053d.

Comment 3 Johnny Liu 2012-04-24 03:24:48 UTC
Retest this bug with devenv_1738, still failed.


broker log:
<--snip-->
#<ComponentInstance:0x7f8f95c37590 @changed_attributes={"parent_cart_group"=>nil, "parent_cart_name"=>nil, "name"=>nil, "group_instance_name"=>nil, "dependencies"=>nil, "parent_cart_profile"=>nil, "cart_data"=>[], "parent_component_name"=>nil, "exec_order"=>nil}, @parent_component_name="default", @cart_data=["Job URL: https://jenkins-jialiu.dev.rhcloud.com/job/phptest-build/\n"], @exec_order=[], @dependencies=[], @parent_cart_profile="default", @name="@@app/cart-jenkins-client-1.4", @group_instance_name="@@app/cart-jenkins-client-1.4", @parent_cart_name="jenkins-client-1.4", @parent_cart_group="default">

DEBUG: rpc_exec_direct: rpc_client=#<MCollective::RPC::Client:0x7f8f95bb3970>
DEBUG: rpc_client.custom_request('cartridge_do', {:action=>"show-port", :args=>"'phptest' 'jialiu' '638774dfc3d44fe28d5347f57fe405f5'", :cartridge=>"jenkins-client-1.4"}, @id, {'identity' => @id})
DEBUG: [#<MCollective::RPC::Result:0x7f8f95b3e2d8 @agent="libra", @results={:sender=>"ip-10-62-97-178", :statusmsg=>"cartridge_do_action ERROR action 'show-port' not found.", :statuscode=>1, :data=>{:exitcode=>127}}, @action="cartridge_do">]
Node execution failure (invalid exit code from node).  If the problem persists please contact Red Hat support.
<--snip-->


mcollective log:
<--snip-->
D, [2012-04-23T23:19:27.256162 #1014] DEBUG -- : libra.rb:60:in `cartridge_do_action' cartridge_do_action call / request = #<MCollective::RPC::Request:0x7f2da7438588
 @action="cartridge_do",
 @agent="libra",
 @caller="cert=mcollective-public",
 @data=
  {:process_results=>true,
   :cartridge=>"jenkins-client-1.4",
   :args=>"'phptest' 'jialiu' '638774dfc3d44fe28d5347f57fe405f5'",
   :action=>"show-port"},
 @sender="ip-10-62-97-178",
 @time=1335237567,
 @uniqid="e5400d5dfd0cba1d7a83afea4a9dbb4f">

D, [2012-04-23T23:19:27.256541 #1014] DEBUG -- : libra.rb:61:in `cartridge_do_action' cartridge_do_action validation = jenkins-client-1.4 show-port 'phptest' 'jialiu' '638774dfc3d44fe28d5347f57fe405f5'
<--snip-->


Look like broker is trying to call show-port hooks against jenkinks-client which doesn't have one.

Comment 4 Rob Millner 2012-04-24 18:12:02 UTC
Sorry about that - the commits missed devenv_1723 but are in devenv_1739 and later.

$ devrun 

Launching latest DevEnv instance ami-ca66bda3
I, [2012-04-24T10:54:41.846568 #3166]  INFO -- : Creating new instance...


$ curl -k -X POST -H 'Accept: application/xml' -d event=show-port  --user "rmillner:[hidden]" https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events


<?xml version="1.0" encoding="UTF-8"?>
<response>
  <version>1.0</version>
  <type>application</type>
  <data>
    <application>
      <name>rmtest</name>
      <uuid>bd2c0c1d1c96457f8f8d2c009ced75c7</uuid>
      <git-url>ssh://bd2c0c1d1c96457f8f8d2c009ced75c7.rhcloud.com/~/git/rmtest.git/</git-url>
      <aliases/>
      <app-url>http://rmtest-rmillner0127.dev.rhcloud.com/</app-url>
      <health-check-path>health</health-check-path>
      <scalable nil="true"></scalable>
      <embedded>
        <jenkins-client-1.4>
          <info>Job URL: https://jenkins-rmillner0127.dev.rhcloud.com/job/rmtest-build/
</info>
        </jenkins-client-1.4>
      </embedded>
      <creation-time>2012-04-24T14:04:57-04:00</creation-time>
      <links>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>restart</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Restart application</rel>
        </link>
        <link>
          <method>GET</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/cartridges</href>
          <required-params/>
          <optional-params/>
          <rel>List embedded cartridges</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>expose-port</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Expose port</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>start</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Start application</rel>
        </link>
        <link>
          <method>GET</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/gears</href>
          <required-params/>
          <optional-params/>
          <rel>Get application gears</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>show-port</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Show port</rel>
        </link>
        <link>
          <method>DELETE</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest</href>
          <required-params/>
          <optional-params/>
          <rel>Delete application</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>scale-down</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Scale down application</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>conceal-port</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Conceal port</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>stop</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Stop application</rel>
        </link>
        <link>
          <method>GET</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/descriptor</href>
          <required-params/>
          <optional-params/>
          <rel>Get application descriptor</rel>
        </link>
        <link>
          <method>GET</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest</href>
          <required-params/>
          <optional-params/>
          <rel>Get application</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/cartridges</href>
          <required-params>
            <param>
              <name>cartridge</name>
              <description>framework-type, e.g.: mysql-5.1</description>
              <type>string</type>
              <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>haproxy-1.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>
          <optional-params/>
          <rel>Add embedded cartridge</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>scale-up</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Scale up application</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>add-alias</valid-options>
            </param>
            <param>
              <name>alias</name>
              <description>The server alias for the application</description>
              <type>string</type>
              <valid-options/>
            </param>
          </required-params>
          <optional-params/>
          <rel>Add application alias</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>remove-alias</valid-options>
            </param>
            <param>
              <name>alias</name>
              <description>The application alias to be removed</description>
              <type>string</type>
              <valid-options/>
            </param>
          </required-params>
          <optional-params/>
          <rel>Remove application alias</rel>
        </link>
        <link>
          <method>POST</method>
          <href>https://50.17.177.181/broker/rest/domains/rmillner0127/applications/rmtest/events</href>
          <required-params>
            <param>
              <name>event</name>
              <description>event</description>
              <type>string</type>
              <valid-options>force-stop</valid-options>
            </param>
          </required-params>
          <optional-params/>
          <rel>Force stop application</rel>
        </link>
      </links>
      <domain-id>rmillner0127</domain-id>
      <framework>python-2.6</framework>
      <gear-profile>small</gear-profile>
    </application>
  </data>
  <messages>
    <message>
      <exit-code nil="true"></exit-code>
      <text>Added show-port to application rmtest</text>
      <field nil="true"></field>
      <severity>INFO</severity>
    </message>
  </messages>
  <status>ok</status>
  <supported-api-versions>
    <supported-api-version>1.0</supported-api-version>
  </supported-api-versions>
</response>

Comment 5 Johnny Liu 2012-04-25 02:56:03 UTC
Verified this bug on devenv_1741, and PASS.


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