Update one property erase others

Asked by Édouard Thuleau on 2011-04-20

I use Glance (bzr116) on ubuntu 10.04 LTS.

if I update a property of an image, the older properties (set before) are erased.

Example:

$ glance show 71
URI: http://0.0.0.0/images/71
Id: 71
Public: No
Name: Ubuntu_64.71
Size: 0
Location: None
Disk format: ami
Container format: ami
Property 'image_location': snapshot
Property 'image_state': available
Property 'kernel_id': 59
Property 'ramdisk_id': None
Property 'architecture': x86_64
Property 'owner_id': simple

$ glance update 71 is_public=true

$ glance show 71
URI: http://0.0.0.0/images/71
Id: 71
Public: Yes
Name: Ubuntu_64.71
Size: 10737418240
Location: file:///media/nas/OpenStack/Glance/71
Disk format: ami
Container format: ami

Another sample :

$ glance show 60
URI: http://0.0.0.0/images/60
Id: 60
Public: Yes
Name: Ubuntu_64
Size: 3221225472
Location: file:///media/nas/OpenStack/Glance/60
Disk format: ami
Container format: ami
Property 'architecture': x86_64

$ glance upload 60 kernel_id=59

$ glance show 60
URI: http://0.0.0.0/images/60
Id: 60
Public: Yes
Name: Ubuntu_64
Size: 3221225472
Location: file:///media/nas/OpenStack/Glance/60
Disk format: ami
Container format: ami
Property 'kernel_id': 59

Question information

Language:
English Edit question
Status:
Solved
For:
Glance Edit question
Assignee:
No assignee Edit question
Solved by:
Édouard Thuleau
Solved:
2011-04-20
Last query:
2011-04-20
Last reply:
2011-04-20

This question was originally filed as bug #767027.

Dan Prince (dan-prince) said : #1

Hi Edouard,

This is a know behavior in glance. From the help page:

./glance help update

glance update [options] <ID> <field1=value1 field2=value2 ...>

Updates an image's metadata in Glance. Specify metadata fields as arguments.

Metadata fields that are not specified in the update command will be deleted.

All field/value pairs are converted into a mapping that is passed
to Glance that represents the metadata for an image.
----

We talked about this potential usability issue late in the cactus release cycle. Most everyone agrees that glance would benefit from a subresource style way to edit and manage properties for glance metadata. For now the glance bin 'update' method is overloaded a bit meaning that it deletes properties that are not longer there.

Hope this helps.

Édouard Thuleau (ethuleau) said : #2

Ok, I missed that. Sorry.

Should I close or transform this bug to question ?

Dan Prince (dan-prince) said : #3

I'd go question for this one.

Édouard Thuleau (ethuleau) said : #4

Transform it to a question

Édouard Thuleau (ethuleau) said : #5

The answer of Dan resolve it.