Randomize the diffs a little bit better.
This commit is contained in:
parent
e3bb9165e3
commit
0565871ee6
42 changed files with 161550 additions and 176153 deletions
20
initdb.py
20
initdb.py
|
@ -4,7 +4,7 @@ import shutil
|
||||||
import os
|
import os
|
||||||
import hashlib
|
import hashlib
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import storage
|
import storage
|
||||||
|
|
||||||
|
@ -24,41 +24,45 @@ SAMPLE_DIFFS = [
|
||||||
'test/data/sample/diffs/diffs3.json',
|
'test/data/sample/diffs/diffs3.json',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
REFERENCE_DATE = datetime(2013, 6, 23)
|
||||||
|
|
||||||
|
|
||||||
def __gen_checksum(image_id):
|
def __gen_checksum(image_id):
|
||||||
h = hashlib.md5(image_id)
|
h = hashlib.md5(image_id)
|
||||||
return 'tarsum+sha256:' + h.hexdigest()
|
return 'tarsum+sha256:' + h.hexdigest()
|
||||||
|
|
||||||
|
|
||||||
global_image_num = [0]
|
def __gen_image_id(repo, image_num):
|
||||||
def __gen_image_id(repo):
|
str_to_hash = "%s/%s/%s" % (repo.namespace, repo.name, image_num)
|
||||||
str_to_hash = "%s/%s/%s" % (repo.namespace, repo.name, global_image_num[0])
|
|
||||||
global_image_num[0] += 1
|
|
||||||
|
|
||||||
h = hashlib.md5(str_to_hash)
|
h = hashlib.md5(str_to_hash)
|
||||||
return h.hexdigest()
|
return h.hexdigest()
|
||||||
|
|
||||||
|
|
||||||
|
global_image_num = [0]
|
||||||
def create_subtree(repo, structure, parent):
|
def create_subtree(repo, structure, parent):
|
||||||
num_nodes, subtrees, last_node_tags = structure
|
num_nodes, subtrees, last_node_tags = structure
|
||||||
|
|
||||||
# create the nodes
|
# create the nodes
|
||||||
for i in range(num_nodes):
|
for i in range(num_nodes):
|
||||||
docker_image_id = __gen_image_id(repo)
|
image_num = global_image_num[0]
|
||||||
|
global_image_num[0] += 1
|
||||||
|
docker_image_id = __gen_image_id(repo, image_num)
|
||||||
logger.debug('new docker id: %s' % docker_image_id)
|
logger.debug('new docker id: %s' % docker_image_id)
|
||||||
checksum = __gen_checksum(docker_image_id)
|
checksum = __gen_checksum(docker_image_id)
|
||||||
|
|
||||||
new_image = model.create_image(docker_image_id, repo)
|
new_image = model.create_image(docker_image_id, repo)
|
||||||
model.set_image_checksum(docker_image_id, repo, checksum)
|
model.set_image_checksum(docker_image_id, repo, checksum)
|
||||||
|
|
||||||
|
creation_time = REFERENCE_DATE + timedelta(days=image_num)
|
||||||
new_image = model.set_image_metadata(docker_image_id, repo.namespace,
|
new_image = model.set_image_metadata(docker_image_id, repo.namespace,
|
||||||
repo.name, str(datetime.now()),
|
repo.name, str(creation_time),
|
||||||
'no comment', parent)
|
'no comment', parent)
|
||||||
|
|
||||||
# Populate the diff file
|
# Populate the diff file
|
||||||
diff_path = store.image_file_diffs_path(repo.namespace, repo.name,
|
diff_path = store.image_file_diffs_path(repo.namespace, repo.name,
|
||||||
docker_image_id)
|
docker_image_id)
|
||||||
source_diff = SAMPLE_DIFFS[i % len(SAMPLE_DIFFS)]
|
source_diff = SAMPLE_DIFFS[image_num % len(SAMPLE_DIFFS)]
|
||||||
|
|
||||||
with open(source_diff, 'r') as source_file:
|
with open(source_diff, 'r') as source_file:
|
||||||
store.stream_write(diff_path, source_file)
|
store.stream_write(diff_path, source_file)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
Reference in a new issue