diff options
| author | Mark Washenberger <mark.washenberger@rackspace.com> | 2011-10-24 15:18:06 -0400 |
|---|---|---|
| committer | Mark Washenberger <mark.washenberger@rackspace.com> | 2011-10-24 15:18:06 -0400 |
| commit | 86b10119ca3649411c50ac3700a934efe40a09e5 (patch) | |
| tree | 3770433c992d689d67eb8ddbfad2a8a0e5152ac1 /nova/compute | |
| parent | 022afb9b0686f9d7af128f1a19927867cf08a180 (diff) | |
Server metadata must support server uuids.
Change-Id: I933e8aebce94867e4d23c13d978032b0ae99b896
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/api.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 2305c09ab..57e0d9edd 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1528,13 +1528,21 @@ class API(base.Base): floating_address=address, fixed_address=fixed_ip_addrs[0]) + def _get_native_instance_id(self, context, instance_id): + """If an instance id is a UUID, convert it to a native ID.""" + if utils.is_uuid_like(instance_id): + instance_id = self.get(context, instance_id)['id'] + return instance_id + def get_instance_metadata(self, context, instance_id): """Get all metadata associated with an instance.""" + instance_id = self._get_native_instance_id(context, instance_id) rv = self.db.instance_metadata_get(context, instance_id) return dict(rv.iteritems()) def delete_instance_metadata(self, context, instance_id, key): """Delete the given metadata item from an instance.""" + instance_id = self._get_native_instance_id(context, instance_id) self.db.instance_metadata_delete(context, instance_id, key) def update_instance_metadata(self, context, instance_id, @@ -1545,6 +1553,8 @@ class API(base.Base): `metadata` argument will be deleted. """ + instance_id = self._get_native_instance_id(context, instance_id) + if delete: _metadata = metadata else: |
