diff --git a/doc/api_samples/os-aggregates/aggregates-metadata-post-resp.json b/doc/api_samples/os-aggregates/aggregates-metadata-post-resp.json index 83bf953f0480..bcfeacd8f314 100644 --- a/doc/api_samples/os-aggregates/aggregates-metadata-post-resp.json +++ b/doc/api_samples/os-aggregates/aggregates-metadata-post-resp.json @@ -11,6 +11,6 @@ "key": "value" }, "name": "name", - "updated_at": null + "updated_at": "2013-08-18T12:17:55.986540" } } diff --git a/nova/compute/api.py b/nova/compute/api.py index 961611752090..7f2c2a5623de 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -3670,6 +3670,7 @@ class AggregateAPI(base.Base): action_name=AGGREGATE_ACTION_UPDATE) if values: aggregate.update_metadata(values) + aggregate.updated_at = timeutils.utcnow() self.scheduler_client.update_aggregates(context, [aggregate]) # If updated values include availability_zones, then the cache # which stored availability_zones and host need to be reset @@ -3689,6 +3690,7 @@ class AggregateAPI(base.Base): # which stored availability_zones and host need to be reset if metadata and metadata.get('availability_zone'): availability_zones.reset_cache() + aggregate.updated_at = timeutils.utcnow() return aggregate @wrap_exception() diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-aggregates/aggregates-metadata-post-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-aggregates/aggregates-metadata-post-resp.json.tpl index b15c40fa5dc9..98bf8bb6322c 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-aggregates/aggregates-metadata-post-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-aggregates/aggregates-metadata-post-resp.json.tpl @@ -11,6 +11,6 @@ "key": "value" }, "name": "name", - "updated_at": null + "updated_at": %(strtime)s } }