Bug 754744 - launching audrey enabled rhevm instance returns nil:NilClass error
Summary: launching audrey enabled rhevm instance returns nil:NilClass error
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: CloudForms Cloud Engine
Classification: Retired
Component: deltacloud-core
Version: 1.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: rc
Assignee: Michal Fojtik
QA Contact: wes hayutin
URL:
Whiteboard:
Depends On:
Blocks: 754250
TreeView+ depends on / blocked
 
Reported: 2011-11-17 16:00 UTC by dgao
Modified: 2012-08-30 17:14 UTC (History)
5 users (show)

Fixed In Version: deltacloud-core-0.4.1-8
Clone Of:
Environment:
Last Closed: 2012-08-30 17:14:55 UTC
Embargoed:


Attachments (Terms of Use)
. (178.64 KB, image/png)
2011-11-17 16:01 UTC, dgao
no flags Details
rhevm_working (155.12 KB, image/png)
2011-11-17 23:37 UTC, dgao
no flags Details

Description dgao 2011-11-17 16:00:59 UTC
dcloud version: 3.0.0.0
rpm version: deltacloud-core-rhevm-0.4.1-7.el6.noarch

when launching a rhevm instance, this error shows up in conductor (see screenshot)

deltacloud-core/mock.log shows:

thin server (localhost:3002) [deltacloud-mock][10965]: [NO HANDLED] NoMethodError: undefined method `[]' for nil:NilClass
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:102:in `api_version?'

upon further investigation, the problematic line might be

"(result_xml/'/api/system_version').first[:major].strip == major" << This is trying to fetch the url api/system_version, but system_version no longer exists, so there's an inconsistency.

Comment 1 dgao 2011-11-17 16:01:27 UTC
Created attachment 534224 [details]
.

Comment 2 wes hayutin 2011-11-17 17:07:30 UTC
only happens to templates w/ audrey

Comment 3 dgao 2011-11-17 19:04:29 UTC
Looks like this bug is caused by a combination of userdata (from <services> in deployable.xml and lack of RHEVM hook for audrey and a change in the api. 


<deployable name="application_stack">
  <description>Deployable For JBoss Application Stack</description>
  <assemblies>
    <!-- when a deployable is launched, each assembly defition in this file
         will map to a launched instance -->
    <assembly name="Proxy Server" hwp="hwp1">
      <!-- this image element references an image that exists in the image
           warehouse
           images get into the image warehouse either by building the
           image from a template XML file, or by importing from an
           external source (such as an Amazon AMI) -->
      <image id="046069e0-5579-4ac1-b9ed-8ceacde33be8"/>
      <services>
        <service name="proxy1">
          <!-- - this is a URL that the Audrey Configuration Server must be
               able to access, and points to a script that is meant to
               setup the proxy
               - the user will be responsible for authoring and providing
               this script -->
          <executable url="https://www.aeolusproject.org/redmine/attachments/download/169/start_simple"/>
          <!-- - the parameters that are fed into the "proxy_setup_script"
               above are identified here in the "services" section
               - this is a bit clunky and will likely change -->
          <parameters>
            <!-- only scalar parameter types are going to be supported
                 initially -->
            <parameter name="proxy_server_1_param_1" type="scalar"/>
            <parameter name="proxy_server_1_param_2" type="scalar"/>
            <parameter name="proxy_server_1_param_3" type="scalar">
            </parameter>
          </parameters>
        </service>
        <service name="proxy2">
          <!-- - this is a URL that the Audrey Configuration Server must be
               able to access, and points to a script that is meant to
               setup the proxy
               - the user will be responsible for authoring and providing
               this script -->
          <executable url="https://www.aeolusproject.org/redmine/attachments/download/169/start_simple"/>
          <!-- - the parameters that are fed into the "proxy_setup_script"
               above are identified here in the "services" section
               - this is a bit clunky and will likely change -->
          <parameters>
            <!-- only scalar parameter types are going to be supported
                 initially -->
            <parameter name="proxy_server_1_param_1" type="scalar"/>
            <parameter name="proxy_server_1_param_2" type="scalar"/>
          </parameters>
        </service>
      </services>
      <!-- the items listed under the "returns" element are values that
           are collected by the launched guest and returned to the
           configuration server
           the values that are returned to the configuration server can be
           shared with other launched instances in this deployable -->
      <returns>
        <return name="hostname"/>
      </returns>
    </assembly>
  </assemblies>
</deployable>

Comment 4 dgao 2011-11-17 19:09:31 UTC
thin server (localhost:3002) [deltacloud-mock][28633]: Server: thin 1.2.11 codename Bat-Shit Crazy
thin server (localhost:3002) [deltacloud-mock][28633]: Accept: application/xml
thin server (localhost:3002) [deltacloud-mock][28633]: [NO HANDLED] NoMethodError: undefined method `[]' for nil:NilClass
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:102:in `api_version?'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:341:in `send'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:341:in `method_missing'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:128:in `create_vm'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:364:in `instance_eval'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:364:in `insert'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:350:in `method_missing'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:118:in `create_vm'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:291:in `instance_eval'
/usr/lib/ruby/gems/1.8/gems/nokogiri-1.4.3.1/lib/nokogiri/xml/builder.rb:291:in `initialize'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:117:in `new'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:117:in `create_vm'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_driver.rb:199:in `create_instance'
/usr/share/deltacloud-core/bin/../lib/deltacloud/base_driver/exceptions.rb:151:in `call'
/usr/share/deltacloud-core/bin/../lib/deltacloud/base_driver/exceptions.rb:151:in `safely'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_driver.rb:190:in `create_instance'
/usr/share/deltacloud-core/bin/../server.rb:450
/usr/share/deltacloud-core/bin/../lib/sinatra/rabbit.rb:125:in `instance_eval'
/usr/share/deltacloud-core/bin/../lib/sinatra/rabbit.rb:125:in `POST /api/instances'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1151:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1151:in `compile!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:724:in `instance_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:724:in `route_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:708:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:758:in `process_route'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:755:in `catch'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:755:in `process_route'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:707:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:706:in `each'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:706:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:843:in `dispatch!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:644:in `call!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `instance_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `invoke'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `catch'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `invoke'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:644:in `call!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:629:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_syslog.rb:48:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_date.rb:31:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_accept.rb:149:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/head.rb:9:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_driver_select.rb:45:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_matrix_params.rb:102:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_runtime.rb:36:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_etag.rb:41:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-accept-0.4.3/lib/rack/accept/context.rb:22:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/head.rb:9:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/methodoverride.rb:24:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1272:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1303:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1272:in `call'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:84:in `pre_process'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1060:in `call'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1060:in `spawn_threadpool'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1057:in `initialize'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1057:in `new'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1057:in `spawn_threadpool'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1049:in `defer'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:54:in `process'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/controllers/controller.rb:86:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `send'

/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `run_command'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:151:in `run!'
/usr/share/deltacloud-core/bin/deltacloudd:226
/usr/bin/deltacloudd:5:in `load'
/usr/bin/deltacloudd:5

Comment 5 dgao 2011-11-17 23:37:11 UTC
Created attachment 534327 [details]
rhevm_working

.

Comment 6 dgao 2011-11-17 23:38:04 UTC
verified according to attached screenshot and updated deltacloud

[root@intel-s3ea2-03 html]# rpm -qa | egrep "aeolus|deltacloud"
deltacloud-core-ec2-0.4.1-8.el6.noarch
rubygem-ZenTest-4.3.3-2.aeolus.el6.noarch
aeolus-conductor-doc-0.6.0-3.el6.noarch
aeolus-all-0.6.0-3.el6.noarch
rubygem-deltacloud-client-0.4.0-3.el6.noarch
rubygem-rack-mount-0.7.1-3.aeolus.el6.noarch
rubygem-arel-2.0.10-0.aeolus.el6.noarch
deltacloud-core-vsphere-0.4.1-8.el6.noarch
rubygem-aeolus-cli-0.1.0-4.el6.noarch
deltacloud-core-0.4.1-8.el6.noarch
rubygem-aeolus-image-0.1.0-6.el6.noarch
aeolus-configure-2.3.0-1.el6.noarch
aeolus-conductor-daemons-0.6.0-3.el6.noarch
aeolus-conductor-0.6.0-3.el6.noarch
deltacloud-core-rhevm-0.4.1-8.el6.noarch

Comment 7 wes hayutin 2011-11-28 01:16:38 UTC
removing bugs from ce-sprint from the tracker.. you can find these bugs by querying the "qa whiteboard" for ce-sprint-60


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