I have opened https://issues.apache.org/jira/browse/DTACLOUD-383 and
attached a patch to fix it.

> $app/cimi/models/volume.rb:83:in `from_storage_volume'
has
                :created => Time.parse(volume.created).xmlschema,

Fgcp driver doesn't set :created on volume because the backend doesn't
return it.
I suppose the same error would occur on RHEVM.

created attribute is not mandatory in cimi so it should just omit it
when the driver doesn't return it.

Regards,
Dies Koper


> -----Original Message-----
> From: Jesus nomellames [mailto:[email protected]]
> Sent: Thursday, 29 November 2012 10:41 AM
> To: [email protected]
> Subject: Re: CIMI MachineVolumes collection attach/detach volume
> 
> The cimi-mock works well. However the cimi-fgcp driver return a 405
> code. After further inspection, seems that the whole volume collection
> is now broken for cimi-fgcp:
> 
> GET http://localhost:3004/cimi/volumes
> --------------------------
> <error status="500" url="/cimi/volumes">
> <kind>backend_error</kind>
> <message>
> <![CDATA[ can't convert nil into String ]]>
> </message>
> <backend driver="fgcp">
> <code>500</code>
> </backend>
> <backtrace>
> [ Abbreviated trace pass fulltrace=1 as query param to see everything
> $app = /home/jesus/deltacloud/server/lib ] ...
> $app/cimi/models/volume.rb:83:in `from_storage_volume'
> $app/cimi/models/volume.rb:44:in `block in find'
> $app/cimi/models/volume.rb:44:in `collect!'
> $app/cimi/models/volume.rb:44:in `find'
> $app/cimi/models/collection.rb:117:in `list'
> $app/cimi/collections/volumes.rb:26:in `block (3 levels) in
> <class:Volumes>' ... $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_driver_select.rb:45:in `call'
> $app/sinatra/rack_matrix_params.rb:104:in `call'
> $app/sinatra/rack_etag.rb:41:in `call' $app/sinatra/rack_date.rb:31:in
> `call' $app/sinatra/rack_logger.rb:76:in `call'
> $app/sinatra/rack_accept.rb:164:in `call' ...
> $app/sinatra/rack_matrix_params.rb:104:in `call' ...
> </backtrace>
> </error>
> 
> On Wed, Nov 28, 2012 at 3:24 AM,  <[email protected]> wrote:
> >
> > Attach volume to Machine
> >
> > XML:
> >
> > curl -v --user "mockuser:mockpassword" -H "Content-Type:
application/xml"
> >     -H "Accept: application/xml" -X PUT -d
> >     '<MachineVolume
> xmlns="http://schemas.dmtf.org/cimi/1/MachineVolume";>
> >       <initialLocation> /dev/sdf </initialLocation>
> >       <volume href="http://localhost:3001/cimi/volumes/vol2"/>
> >     </MachineVolume>'
> http://localhost:3001/cimi/machines/inst1/volume_attach
> >
> > JSON:
> >
> > curl -v --user "mockuser:mockpassword" -H "Content-Type:
application/json"
> >     -H "Accept: application/xml" -X PUT -d
> >     '{"resourceURI":"http://schemas.dmtf.org/cimi/1/MachineVolume";,
> >     "initialLocation": "/dev/sdf",
> >     "volume": {"href":"http://localhost:3001/cimi/volumes/vol2"}}'
> >     http://localhost:3001/cimi/machines/inst1/volume_attach
> >
> > Detach volume (remove MachineVolume from the
MachineVolumeCollection):
> >
> > curl -v --user "mockuser:mockpassword" -H "Accept: application/xml"
> >     -X DELETE http://localhost:3001/cimi/machines/inst1/volumes/vol2
> >
> >
> > write-up and more info @
> http://mariosandreou.com/deltacloud/cloud_API/2012/11/28/cimi-machine-
> volumes-collection.html
> >
> > marios


Reply via email to