Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. #!/usr/bin/python
  2. import os, jinja2, yaml
  3.  
  4. inventory = open("/etc/ansible/hosts", "r")
  5. server_groups = yaml.load_all(inventory)
  6.  
  7. template_dir = os.path.join(os.path.dirname(__file__), 'templates')
  8. jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape = True)
  9.  
  10. def render_template(template, params):
  11.     t = jinja_env.get_template(template)
  12.     return t.render(params)
  13.  
  14. def get_ipv4(server_group_list):
  15.     ipv4_list=[]
  16.     for server_group in server_groups:
  17.         for server_group_name in server_group:
  18.             hosts=server_group[server_group_name]['hosts']
  19.             for i in hosts:
  20.                 if server_group_name in server_group_list:
  21.                     ipv4_list.append(server_group[server_group_name]['hosts'][i]['local_ipv4'])
  22.    
  23.     ipv4_string=','.join(ipv4_list)
  24.     return ipv4_string
  25.  
  26. def master_db_firewall_rules():
  27.     input_source_mysql=get_ipv4(['de-webbservers', 'de-primary-slave', 'de-secondary-slave'])
  28.     input_dest_mysql=get_ipv4(['de-database-master'])
  29.     jinja_vars={'input_source_mysql': input_source_mysql, 'input_dest_mysql': input_dest_mysql}
  30.     print render_template('db-master', jinja_vars)
  31.  
  32. master_db_firewall_rules()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement