From 2c1227e09d7cedd9f10b21d0c8f18b2ebd03432f Mon Sep 17 00:00:00 2001 From: liusheng Date: Sat, 10 Oct 2015 22:04:57 +0800 Subject: [PATCH] Correct the timestamp type when make test samples data When recording samples to database, the timestamp should be datetime.datetime type, but in make_test_data.py, the timestamp will be transformed to iso format with unicode type. Change-Id: Iffb09a293684fb8eab768c7370e8967349032ae5 Closes-Bug: #1504539 --- tools/make_test_data.py | 4 +++- tools/send_test_data.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/make_test_data.py b/tools/make_test_data.py index d99650c1..fd2a5995 100755 --- a/tools/make_test_data.py +++ b/tools/make_test_data.py @@ -84,7 +84,9 @@ def make_test_data(name, meter_type, unit, volume, random_min, ) data = utils.meter_message_from_counter( c, cfg.CONF.publisher.telemetry_secret) - + # timestamp should be string when calculating signature, but should be + # datetime object when calling record_metering_data. + data['timestamp'] = timestamp yield data n += 1 timestamp = timestamp + increment diff --git a/tools/send_test_data.py b/tools/send_test_data.py index fb7dc0fb..0344d4da 100755 --- a/tools/send_test_data.py +++ b/tools/send_test_data.py @@ -81,6 +81,10 @@ def generate_data(send_batch, make_data_args, samples_count, resource = resources_list[random.randint(0, len(resources_list) - 1)] resource_samples[resource] += 1 sample['resource_id'] = resource + # need to change the timestamp from datetime.datetime type to iso + # format (unicode type), because collector will change iso format + # timestamp to datetime.datetime type before recording to db. + sample['timestamp'] = sample['timestamp'].isoformat() # need to recalculate signature because of the resource_id change sig = utils.compute_signature(sample, cfg.CONF.publisher.telemetry_secret)