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
}
}