Fix for Log Delivery

* In generate_dynamic_large_object and
  generate_static_large_object, added
  segment response data for DLO and
  SLO to aid in log validation.

Change-Id: I36e13a9e7eb3f83b9f54d875244acf19d978d173
This commit is contained in:
josh7810 2014-08-18 16:08:43 -05:00
parent c78afad2a4
commit 7bff0439d8
1 changed files with 21 additions and 8 deletions

View File

@ -235,13 +235,18 @@ class ObjectStorageGenerator(object):
if data_op:
(segment_data, segment_extra_data) = data_op(
segment_data, segment_extra_data)
extra_data['segments'].append(segment_extra_data)
segment_etag = md5(segment_data)
segment_etag = segment_etag.hexdigest()
data_md5.update(segment_data)
data_etag.update(segment_etag)
self.client.create_object(
container_name, segment_name, data=segment_data)
segment_response = self.client.create_object(
container_name,
segment_name,
data=segment_data)
segment_extra_data['response'] = segment_response
extra_data['segments'].append(segment_extra_data)
default_headers = {'X-Object-Manifest': '{0}/segment.{1}'.format(
container_name, object_name)}
@ -254,7 +259,9 @@ class ObjectStorageGenerator(object):
all_headers[key] = value
response = self.client.create_object(
container_name, object_name, headers=all_headers)
container_name,
object_name,
headers=all_headers)
return {'md5': data_md5.hexdigest(),
'etag': data_etag.hexdigest(),
@ -340,20 +347,26 @@ class ObjectStorageGenerator(object):
if data_op:
(segment_data, segment_extra_data) = data_op(
segment_data, segment_extra_data)
extra_data['segments'].append(segment_extra_data)
segment_etag = md5(segment_data)
segment_etag = segment_etag.hexdigest()
data_md5.update(segment_data)
data_etag.update(segment_etag)
self.client.create_object(
container_name, segment_name, data=segment_data)
segment_response = self.client.create_object(
container_name,
segment_name,
data=segment_data)
segment_extra_data['response'] = segment_response
extra_data['segments'].append(segment_extra_data)
manifest.append({'path': segment_path, 'etag': segment_etag,
'size_bytes': segment_size})
response = self.client.create_object(
container_name, object_name, data=json.dumps(manifest),
container_name,
object_name,
data=json.dumps(manifest),
params={'multipart-manifest': 'put'}, headers=headers)
return {'md5': data_md5.hexdigest(),