From b4f7066e7c074dd2fb50d99df593432937c7a8ae Mon Sep 17 00:00:00 2001 From: Pallavi Date: Wed, 24 Feb 2016 14:47:36 +0530 Subject: [PATCH] Update time is not updated when metadata of aggregate is updated For example, When aggregate zone is updated, time is not getting updated in updated_at field. So, modified the code such that time gets updated in updated_at field whenever the aggregate metadata content gets modified. Change-Id: Icb65313ba85562fadeddbc1890ca5d463e74d3c2 Closes-Bug: #1538014 --- .../os-aggregates/aggregates-metadata-post-resp.json | 2 +- nova/compute/api.py | 2 ++ .../os-aggregates/aggregates-metadata-post-resp.json.tpl | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) 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 } }