On 03/05, David Lutterkort wrote: > I've addressed that issue and uploaded a new patch series > ( http://tracker.deltacloud.org/set/368 )
For some reason, all patches have empty body :-) (tracker upload?) > I get a good number of test failures from the blackobox tests though. > Will have to investigate further tomorrow. > > Also, when I put the attached test into tests/cimi/collections, it > passes if I run it by itself with 'ruby > tests/cimi/collections/volumes_test.rb) but it fails when I run rake > test:cimi because the collection of volume configs is empty in > make_volume_create ... Maybe this has something to do with initializers? -- Michal > > David > > On Mon, 2013-03-04 at 17:35 -0800, David Lutterkort wrote: > > On Fri, 2013-03-01 at 17:25 -0800, David Lutterkort wrote: > > > On Fri, 2013-03-01 at 14:40 +0100, Michal Fojtik wrote: > > > > - ResourceMetada are now broken and need to be fixed. > > > > (an informative warning included ;-) > > > > > > I added one more patch to your series and rerecorded as > > > http://tracker.deltacloud.org/set/364 > > > > I noticed a bunch of minor issues, and one bigger one today: if you look > > at VolumeCreate#create now: > > > > def create(context) > > if volume_template.href? > > template = volume_template.find(context) > > else > > template = > > CIMI::Service::VolumeTemplate.from_xml(volume_template.to_xml) > > end > > > > volume_image = template.volume_image.href? ? > > template.volume_image.find(context) : template.volume_image > > > > volume_config = template.volume_config.href? ? > > template.volume_config.find(context) : template.volume_config > > > > ... > > end > > > > things blow up horribly because volume_template.find(context) winds up > > calling CIMI::Model::VolumeTemplate::find - which doesn't exist anymore. > > > > To address that, I want to add some magic to CIMI::Service::Base; I just > > haven't made up my mind what that magic should be exactly. Option (1) > > would be to wrap each model object in a service object as it is returned > > from Service::Base#[] .. but that seems like overkill. Option (2) is to > > only do something special for Ref's, but still return CIMI::Model > > objects from accessors. Ideally, that something could also help us get > > rid of the boilerplate above, so that you could just write > > > > template = volume_template.unref(context) > > > > and have it (a) look up the volume_template if href is set and (b) set > > attributes that were directly defined. That would have the advantage > > that we'd do the right thing where requests reference an existing entity > > and then override some of its attributes. > > > > Clearly, allowing to write volume_template.unref would require > > monkeypatching the CIMI::Model::VolumeTemplateRef class - and I am still > > hoping to come up with something that would avoid that. > > > > I'll look more into this business tomorrow. > > > > David > > > > > -- Michal Fojtik <mfoj...@redhat.com> Deltacloud API, CloudForms