Update one property erase others
This bug report was converted into a question: question #153590: Update one property erase others.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Invalid
|
Undecided
|
Unassigned |
Bug Description
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://
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://
Id: 71
Public: Yes
Name: Ubuntu_64.71
Size: 10737418240
Location: file://
Disk format: ami
Container format: ami
Another sample :
$ glance show 60
URI: http://
Id: 60
Public: Yes
Name: Ubuntu_64
Size: 3221225472
Location: file://
Disk format: ami
Container format: ami
Property 'architecture': x86_64
$ glance upload 60 kernel_id=59
$ glance show 60
URI: http://
Id: 60
Public: Yes
Name: Ubuntu_64
Size: 3221225472
Location: file://
Disk format: ami
Container format: ami
Property 'kernel_id': 59
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.