> BTW, attached is a patch that addresses a few URL conversion problems
> I
> found in the mock driver; feel free to commit if it doesn't make things
> worse ;)

ACK & pushed - I've confirmed things seem to not have gotten worse :)

Cheers,
Dies Koper


> -----Original Message-----
> From: David Lutterkort [mailto:lut...@redhat.com]
> Sent: Tuesday, 2 April 2013 11:27 AM
> To: dev@deltacloud.apache.org
> Cc: mfoj...@redhat.com
> Subject: Re: [PATCH] added Template subcollections to SystemTemplate
> 
> On Thu, 2013-03-28 at 12:19 +1100, Koper, Dies wrote:
> > A bit of background on this patch:
> > It contains my latest work on implementing cimi systems and system
> > templates for mock and fgcp.
> > It is not complete and contains some debugging statements. Its main
> > purpose is to show you what I have and what issues I'm seeing.
> >
> > It applies to master (fcffad13e66175152cf8a43d615b79727902b5ee) and
> > requires "[PATCH] CIMI schema: tolerate nil hash_map attributes" to
> > solve a nil error for system templates with fgcp.
> >
> > Issues I'm having:
> >
> > (1)
> > With mock, even unsupported subcollections are shown when retrieving
> > systems. With fgcp they are also shown, and their href urls are broken:
> 
> This is a shortcoming of how we populate models right now - there's no
> way to suppress collections that the driver doesn't support. In fact,
> the code goes through great length to make sure we generate the href for
> empty collections (since that href is needed to add the first element
> to
> an empty collection)
> 
> The easiest way to 'fix' this for now is to comment those unsupported
> collections out in system.rb.
> 
> A better fix is to add a mechanism similar to what we do for $select to
> models; call that the 'exclude' mechanism. The various generate_xxx
> methods should set the that exclude parameter based on collections that
> are declared in Rabbit, but not available (Rabbit knows that, Michal:
> how do we get that info out of Rabbit ?)
> 
> Similar to how CIMI::Model::Resource has @select_attrs it should also
> have @exclude_attrs that are consulted in prepare and cause the
> corresponding collection to be set to nil (which will remove it from the
> XML/JSON output)
> 
> > (2)
> > With mock (not with fgcp), when I list a system's volumes, its id is
> not
> > generated correctly:
> >
> > d:\projects>curl --user mockuser:mockpassword
> > http://localhost:3001/cimi/systems/system2/volumes?format=xml
> > <Collection xmlns="http://schemas.dmtf.org/cimi/1";
> >
> resourceURI="http://schemas.dmtf.org/cimi/1/SystemVolumeCollection";>
> >   <id>http://localhost:3001/cimi/system/system2/volumes</id>
> >   <count>1</count>
> >   <SystemVolume>
> >     <id>http://localhost:3001/cimi/volumes?id=sysvol1</id>
> > ...
> >
> > That should be http://localhost:3001/cimi/volumes/sysvol1.
> > Note my comment in mock_driver_cimi_methods.rb#system_volumes about
> the
> > 1st arg I pass to convert_cimi_mock_urls:
> >
> >       #FIXME: with ":volumes", delete url becomes
> > 'http://localhost:3001/cimi/volumes?id=sysvol1'
> >       #with ":system_volume" or ":system_volumes", undefined method
> > `system_volume_url' for #<CIMI::Collections::Systems:0x44fe338> in
> > mock_driver_cimi_methods.rb:261
> >       volumes.map{|vol|convert_cimi_mock_urls(:volumes, vol,
> > opts[:env])}.flatten
> 
> This seems to be a Rabbit problem with the names of the subcollections;
> somehow URL helpers for the subcollections do not get generated
> correctly. Michal ?
> 
> BTW, attached is a patch that addresses a few URL conversion problems
> I
> found in the mock driver; feel free to commit if it doesn't make things
> worse ;)
> 
> David

Reply via email to