diff options
| author | Nikhil Komawar <nikhil.komawar@rackspace.com> | 2012-08-10 11:12:27 -0400 |
|---|---|---|
| committer | Nikhil Komawar <nikhil.komawar@rackspace.com> | 2012-08-21 15:03:36 +0000 |
| commit | ff8d3d95d43212b786e97769fda89628a1724880 (patch) | |
| tree | 9f07ca16f47038cb7ab40d1753706ea0d03aa2fe /nova/compute | |
| parent | 0272c063bbc32f1ff39f2baa8ae3f0764723ef73 (diff) | |
Implements sending notification on metadata change
It would be good to have a notification sent every time there is change
in the metadata. This merge prop implements sending a
compute.instance.update event for the above change.
fixes bug 1034547
Change-Id: I451796b6a83c4782df6f72f083755527ebd62a52
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/api.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 39b43594a..3453dfabe 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1742,6 +1742,8 @@ class API(base.Base): def delete_instance_metadata(self, context, instance, key): """Delete the given metadata item from an instance.""" self.db.instance_metadata_delete(context, instance['uuid'], key) + instance['metadata'] = {} + notifications.send_update(context, instance, instance) self.compute_rpcapi.change_instance_metadata(context, instance=instance, diff={key: ['-']}) @@ -1764,8 +1766,10 @@ class API(base.Base): _metadata.update(metadata) self._check_metadata_properties_quota(context, _metadata) - self.db.instance_metadata_update(context, instance['uuid'], + metadata = self.db.instance_metadata_update(context, instance['uuid'], _metadata, True) + instance['metadata'] = metadata + notifications.send_update(context, instance, instance) diff = utils.diff_dict(orig, _metadata) self.compute_rpcapi.change_instance_metadata(context, instance=instance, |
