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
This commit is contained in:
liusheng 2015-10-10 22:04:57 +08:00 committed by liusheng
parent 61dc67d3db
commit 2c1227e09d
2 changed files with 7 additions and 1 deletions

View File

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

View File

@ -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)