11 step_dir = Config().observer_steps_dir
12 sys_dir = Config().observer_sys_dir
14 step_dir = '/opt/planetstack/observer/steps'
15 sys_dir = '/opt/opencloud'
17 os_template_loader = jinja2.FileSystemLoader( searchpath=step_dir)
18 os_template_env = jinja2.Environment(loader=os_template_loader)
20 def parse_output(msg):
21 lines = msg.splitlines()
26 magic_str = 'ok: [127.0.0.1] => '
27 magic_str2 = 'changed: [127.0.0.1] => '
28 if (l.startswith(magic_str)):
33 elif (l.startswith(magic_str2)):
42 def id_generator(size=6, chars=string.ascii_uppercase + string.digits):
43 return ''.join(random.choice(chars) for _ in range(size))
45 def run_template(name, opts,path=''):
46 template = os_template_env.get_template(name)
47 buffer = template.render(opts)
51 #f = open('/tmp/obsans','w')
53 objname = opts['ansible_tag']
55 objname= id_generator()
56 os.system('mkdir -p %s'%'/'.join([sys_dir,path]))
57 fqp = '/'.join([sys_dir,path,objname])
64 #os.system('cp %s %s-backup'%(fqp,fqp))
65 run = os.popen('/opt/planetstack/observer/run_ansible '+fqp)
70 ok_results = parse_output(msg)
77 run_template('ansible/sync_user_deployments.yaml',{ "endpoint" : "http://172.31.38.128:5000/v2.0/",
78 "name" : "Sapan Bhatia",
79 "email": "gwsapan@gmail.com",
82 "admin_password":"6a789bf69dd647e2",
83 "admin_tenant":"admin",
85 "roles":['user','admin'] })