Skip to content

Instantly share code, notes, and snippets.

@janisz
Created November 14, 2016 21:18
Show Gist options
  • Save janisz/e4dcb001f19aa4b466f9112a6dd16853 to your computer and use it in GitHub Desktop.
Save janisz/e4dcb001f19aa4b466f9112a6dd16853 to your computer and use it in GitHub Desktop.
Generate huge Maintenance Schedule test data for Mesos
import json
import random
import string
def ip():
return ".".join(map(str, (random.randint(0, 255)
for _ in range(4))))
def name():
return ''.join(random.choice(string.ascii_uppercase + string.digits)
for _ in range(15))
def machine_id():
if random.choice([True, False]):
return {"hostname": name(), "ip": ip()}
else:
if random.choice([True, False]):
return {"ip": ip()}
else:
return {"hostname": name()}
def unavailability():
return {
"start": {"nanoseconds": random.randint(14438304, 15438304) * 100000000000},
"duration": {"nanoseconds": random.randint(1, 10) * 3600000000000}
}
def windows(n):
windows = []
for x in range(n):
ids = []
for j in range(random.randint(1,10)):
ids.append(machine_id())
windows.append({"machine_ids": ids, "unavailability": unavailability()})
return windows
print json.dumps({"windows": windows(500)}, sort_keys=True,indent=2, separators=(',', ': '))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment