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@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 <[email protected]>: > 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 > _______________________________________________ Users mailing list [email protected] http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
