[one-users] occi-compute and common.erb scripts

PEDRO ASSIS passis at eu.ipp.pt
Sat Mar 26 11:13:25 PDT 2011


Hi,

>From my debugging it looks like the error message

“No such file or directory - /usr/local/one/etc/occi_templates/common.erb”

is from the OpenNebula httpd (server side) and not from the client
side. Check the contents of the return value of the http connection
method of OCCIClient.rb,

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:87:            if
CloudClient::is_error?(res)
(rdb:1) p res
#<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>
(rdb:1) p res.body
"No such file or directory - /usr/local/one/etc/occi_templates/common.erb"

Presuming that my analysis is correct, is this a problem,
misconfiguration, with the dummy OpenNebula installation and it will
be fixed, or is it a limitation and it will not be changed soon?

I am developing an interface module between OpenNebula OCCI interface
and common NMS platforms, e.g., WBEM and SNMP, and for testing
purposes I am relying on OpenNebula dummy installation. Can I do that,
or should I run my own installation (which I rather not)?

Follows the full debug session.

Thanks,

Pedro
--

[passis at virtualf .one]$ ruby -rdebug /usr/bin/occi-compute create
compute.xml --url https://devel.cloud.opennebula.org --username passis
--password XXX
Debug.rb

Emacs support available.



/usr/bin/occi-compute:18:ONE_LOCATION=ENV["ONE_LOCATION"]

(rdb:1) list 153

[148, 157] in /usr/bin/occi-compute

   148          if !vm_xml || !File.exists?(vm_xml)

   149              puts "#{cmd_name} create: missing OCCI-XML or file
not found"

   150              exit(-1)

   151          end

   152

   153          rc = occi_client.post_vms(vm_xml)

   154

   155      when 'show'

   156          vm_id = ARGV[1]

   157

(rdb:1) b 153

Set breakpoint 1 at /usr/bin/occi-compute:153

(rdb:1) c

Breakpoint 1, toplevel at /usr/bin/occi-compute:153

/usr/bin/occi-compute:153:        rc = occi_client.post_vms(vm_xml)

(rdb:1) s

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:74:            xml=File.read(xmlfile)

(rdb:1) list

[69, 78] in /usr/lib/one/ruby/cloud/occi/OCCIClient.rb

   69          # Post a new VM to the VM Pool

   70          # :instance_type

   71          # :xmlfile

   72          ######################################################################

   73          def post_vms(xmlfile)

=> 74              xml=File.read(xmlfile)

   75

   76              url = URI.parse(@endpoint+"/compute")

   77

   78              req = Net::HTTP::Post.new(url.path)

(rdb:1) b 78

Set breakpoint 2 at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:78

(rdb:1) c

Breakpoint 2, post_vms at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:78

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:78:            req =
Net::HTTP::Post.new(url.path)

(rdb:1) p url

#<URI::HTTPS:0xb729dd3c URL:https://devel.cloud.opennebula.org/compute>

(rdb:1) list

[73, 82] in /usr/lib/one/ruby/cloud/occi/OCCIClient.rb

   73          def post_vms(xmlfile)

   74              xml=File.read(xmlfile)

   75

   76              url = URI.parse(@endpoint+"/compute")

   77

=> 78              req = Net::HTTP::Post.new(url.path)

   79              req.body=xml

   80

   81              req.basic_auth @occiauth[0], @occiauth[1]

   82

(rdb:1) b 81

Set breakpoint 3 at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:81

(rdb:1) c

Breakpoint 3, post_vms at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:81

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:81:
req.basic_auth @occiauth[0], @occiauth[1]

(rdb:1) list

[76, 85] in /usr/lib/one/ruby/cloud/occi/OCCIClient.rb

   76              url = URI.parse(@endpoint+"/compute")

   77

   78              req = Net::HTTP::Post.new(url.path)

   79              req.body=xml

   80

=> 81              req.basic_auth @occiauth[0], @occiauth[1]

   82

   83              res = CloudClient::http_start(url, @timeout) do |http|

   84                  http.request(req)

   85              end

(rdb:1) b 83

Set breakpoint 4 at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:83

(rdb:1) c

Breakpoint 4, post_vms at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:83

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:83:            res =
CloudClient::http_start(url, @timeout) do |http|

(rdb:1) p req

#<Net::HTTP::Post POST>

(rdb:1) b 84

Set breakpoint 5 at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:84

(rdb:1) c

Breakpoint 5, post_vms at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:84

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:84:                http.request(req)

(rdb:1) p http

#<Net::HTTP devel.cloud.opennebula.org:443 open=true>

(rdb:1) list

[79, 88] in /usr/lib/one/ruby/cloud/occi/OCCIClient.rb

   79              req.body=xml

   80

   81              req.basic_auth @occiauth[0], @occiauth[1]

   82

   83              res = CloudClient::http_start(url, @timeout) do |http|

=> 84                  http.request(req)

   85              end

   86

   87              if CloudClient::is_error?(res)

   88                  return res

(rdb:1) b 87

Set breakpoint 6 at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:87

(rdb:1) c

Breakpoint 6, post_vms at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:87

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:87:            if
CloudClient::is_error?(res)

(rdb:1) p res

#<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>

(rdb:1) p res.body

"No such file or directory - /usr/local/one/etc/occi_templates/common.erb"

(rdb:1) c

Breakpoint 6, post_vms at /usr/lib/one/ruby/cloud/occi/OCCIClient.rb:87

/usr/lib/one/ruby/cloud/occi/OCCIClient.rb:87:            if
CloudClient::is_error?(res)

(rdb:1) s

/usr/lib/one/ruby/cloud/CloudClient.rb:128:
value.class==CloudClient::Error

(rdb:1) c

No such file or directory - /usr/local/one/etc/occi_templates/common.erb


-- 
pfa

Pedro Assis | Tel. +351 228 340 500 | Ext. 1141 | Fax +351 228 321 159

Institute of Engineering of the Porto Polytechnic   | pfa at isep.ipp.pt
Porto Polytechnic EU Community | passis at eu.ipp.pt
EuroCloud Portugal Association   | pfa at eurocloud.pt



2011/3/25 PEDRO ASSIS <passis at eu.ipp.pt>:
> Hi,
>
> I just upgrade my OpenNebula installation to the latest stable
> version: 2.1.90, with Ruby version 1.9.2p180. Also, I'm running some
> tests with OCCI client scripts. As I don't have an OCCI server
> installed in my localhost, I'm targeting the dummy OpenNebula cloud:
> https://devel.cloud.opennebula.org
>
> Running the following command:
>
> occi-compute create compute.xml --url
> https://devel.cloud.opennebula.org --username passis --password XXX
>
> I get the error message:
>
> No such file or directory - /usr/local/one/etc/occi_templates/common.erb
>
>
> This was true in the first trial, as the directory and files were both
> missing. But, after a manual copy, I  placed the following files at
> the /usr/local/one/etc/occi_templates/ directory
>
> -rw-r--r-- 1 pfa  pfa  1128 2011-03-25 11:15 common.erb
>
> -rw-r--r-- 1 pfa  pfa   461 2011-03-25 11:15 custom.erb
>
> -rw-r--r-- 1 pfa  pfa   213 2011-03-25 11:15 large.erb
>
> -rw-r--r-- 1 pfa  pfa   215 2011-03-25 11:15 medium.erb
>
> -rw-r--r-- 1 pfa  pfa   214 2011-03-25 11:15 small.erb
>
>
> The compute.xml file is in the current directory and has the following content:
>
> <COMPUTE>
>
> <NAME>MyCompute 1</NAME>
>
> <INSTANCE_TYPE>large</INSTANCE_TYPE>
>
> <DISK><STORAGE href=https://devel.cloud.opennebula.org/storage/0 /></DISK>
>
> <NIC><NETWORK href=https://devel.cloud.opennebula.org/network/26 /><IP>192.168.1
>
> .1</IP></NIC>
>
> <!-- CONTEXT><HOSTNAME>MAINHOST</HOSTNAME><DATA>DATA1</DATA></CONTEXT -->
>
> </COMPUTE>
>
>
> Also, I've run the same command under another system, Ruby 1.8.6 and
> OpenNebula 2.0.1, and got the same result. I've reviewed the
> installations procedures and searched the mailing list contents, but I
> didn't found anything of relevance.
>
> Can someone in the list provide me with some hints?
>
> Meantime, I will try to run previous command with the -rdebug option.
>
> Thanks,
>
> Pedro
>
> --
> pfa
>
> Pedro Assis | Tel. +351 228 340 500 | Ext. 1141 | Fax +351 228 321 159
>
> Institute of Engineering of the Porto Polytechnic   | pfa at isep.ipp.pt
> Porto Polytechnic EU Community | passis at eu.ipp.pt
> EuroCloud Portugal Association   | pfa at eurocloud.pt
>



More information about the Users mailing list