Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 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. template_dir = os.path.join(os.path.dirname(__file__), 'templates')
  7. jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape = True)
  8.  
  9. def render_template(template, params):
  10.     t = jinja_env.get_template(template)
  11.     return t.render(params)
  12.  
  13. def get_ipv4(server_group_list):
  14.     ipv4_list=[]
  15.     for server_group in server_groups:
  16.         for server_group_name in server_group:
  17.             hosts=server_group[server_group_name]['hosts']
  18.             for i in hosts:
  19.                 if server_group_name in server_group_list:
  20.                     local_ipv4_address=server_group[server_group_name]['hosts'][i]['local_ipv4']
  21.                     ipv4_list.append(local_ipv4_address)
  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