On 15/02/11 22:33, Michal Fojtik wrote:
Your instance needs to be in RUNNING state in order to execute some commands on
it.
This error usually happens if instance is not in RUNNING state or SSH is not
started.
Can you please try it again?
definitely in running state - same error
Btw. testing code I'm used:
require 'deltacloud'
c = DeltaCloud::new('rackspace_user', 'api_key', 'http://localhost:3001/api')
instance = c.instance('123456')
puts instance.run('ls -lah /', :username => 'root', :password => 'password')
-- Michal
shouldn't matter what client we use for testing (in fact thats one of
our arguments for REST right?). stacktrace:
[marios@marios deltacloud]$ curl --user 'foo:bar'
http://localhost:3001/api/instances?format=xml
<?xml version='1.0' encoding='utf-8' ?>
<instances>
<instance href='http://localhost:3001/api/instances/615721' id='615721'>
<name>TueFeb1522424402002011</name>
<owner_id>mandreou</owner_id>
<image href='http://localhost:3001/api/images/4' id='4'></image>
<realm href='http://localhost:3001/api/realms/us' id='us'></realm>
<state>RUNNING</state>
<hardware_profile
href='http://localhost:3001/api/hardware_profiles/1' id='1'>
</hardware_profile>
<actions>
<link href='http://localhost:3001/api/instances/615721/reboot'
method='post' rel='reboot' />
<link href='http://localhost:3001/api/instances/615721/stop'
method='post' rel='stop' />
</actions>
<public_addresses>
<address>50.56.69.214</address>
</public_addresses>
<private_addresses>
<address>10.181.83.165</address>
</private_addresses>
</instance>
</instances>
[marios@marios deltacloud]$ curl -id 'cmd=uname -a' -d 'password=bar'
--user 'bla:bla' http://localhost:3001/api/instances/615721/run?format=xml
HTTP/1.1 500 Internal Server Error
X-Runtime: 9.498340
Content-Type: application/xml;charset=utf-8
Content-Length: 4872
Connection: keep-alive
Server: thin 1.2.7 codename No Hup
<error status='500' url='/api/instances/615721/run?format=xml'>
<kind>backend_error</kind>
<backend driver='rackspace'>
<code>500</code>
<cause>Deltacloud::Runner::InstanceSSHError</cause>
<details><![CDATA[././lib/deltacloud/runner.rb:88:in `execute'
././lib/deltacloud/runner.rb:49:in `execute'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:122:in
`run_on_instance'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:389:in `call'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:389:in
`safely'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:121:in
`run_on_instance'
././server.rb:389
././lib/sinatra/rabbit.rb:87:in `instance_eval'
././lib/sinatra/rabbit.rb:87:in `POST /api/instances/:id/run'
...
</backend>
<message><![CDATA[Timeout::Error: execution expired]]></message>
</error>
On 15/02/11 13:40, [email protected] wrote:
From: Michal Fojtik<[email protected]>
@@ -85,25 +85,41 @@ class RackspaceDriver< Deltacloud::BaseDriver
safely do
server = rs.create_server(:name => opts[:name] || Time.now.to_s,
:imageId => image_id.to_i,
- :flavorId => opts[:hwp_id].to_i ||
hardware_profiles(credentials).first.id.to_i)
+ :flavorId => opts[:hwp_id].length>0 ?
opts[:hwp_id].to_i : 1)
result = convert_instance_after_create(server, credentials.user,
server.adminPass)
end
result
end
getting an error here. (you are still not catching the case where opts[:hwp_id]
is nil):
[marios@marios deltacloud]$ curl -i -d 'image_id=4' --user 'foo:bar'
http://localhost:3001/api/instances?format=xml
HTTP/1.1 500 Internal Server Error
X-Runtime: 4.845465
Content-Type: application/xml;charset=utf-8
Content-Length: 4739
Connection: keep-alive
Server: thin 1.2.7 codename No Hup
<error status='500' url='/api/instances?format=xml'>
<kind>backend_error</kind>
<backend driver='rackspace'>
<code>500</code>
<cause>NoMethodError</cause>
<details><![CDATA[././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:88:in
`create_instance'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:389:in `call'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:389:in `safely'
././lib/deltacloud/drivers/rackspace/rackspace_driver.rb:85:in
`create_instance'
././server.rb:333
...
</backend>
<message><![CDATA[undefined method `length' for nil:NilClass]]></message>
Michal Fojtik
Software Engineer, Deltacloud API project
http://www.deltacloud.org
[email protected]