Advertisement
Guest User

Untitled

a guest
Oct 4th, 2015
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. [master1]
  2. *hostname*
  3.  
  4. [master2]
  5. *hostname
  6.  
  7. 192.168.100.21 dc01-control-01
  8. 192.168.100.22 dc01-control-02
  9. 192.168.100.23 dc01-control-03
  10. 192.168.100.31 dc01-worker-01
  11. 192.168.100.32 dc01-worker-02
  12.  
  13. import jinja2
  14. from tempfile import NamedTemporaryFile
  15.  
  16. def return_hosts():
  17. hosts = open('./tfhosts','r')
  18. x = ""
  19. for line in hosts:
  20. x = x + str(line.split()[1:]).strip('[]').strip("''") + 'n'
  21. return [x][0:]
  22.  
  23. inventory = """
  24. [master1]
  25. {{ host_master01 }}
  26. [master2]
  27. {{ host_master02 }}
  28. """
  29.  
  30. gethosts = return_hosts()
  31.  
  32. inventory_template = jinja2.Template(inventory)
  33.  
  34. for servers in (gethosts):
  35. rendered_inventory = inventory_template.render({
  36. 'host_master01': servers[0],
  37. 'host_master02': servers[1],
  38. })
  39.  
  40. hosts = NamedTemporaryFile(delete=False)
  41. hosts.write(rendered_inventory)
  42. hosts.close()
  43.  
  44. [master1]
  45. d
  46. [master2]
  47. c
  48.  
  49. import jinja2
  50. from tempfile import NamedTemporaryFile
  51.  
  52. def return_hosts():
  53. 'return a list of host names'
  54. with open('./tfhosts') as hosts:
  55. return [host.split()[1].strip() for host in hosts]
  56.  
  57. inventory = """
  58. [master1]
  59. {{ host_master01 }}
  60. [master2]
  61. {{ host_master02 }}
  62. """
  63.  
  64. gethosts = return_hosts()
  65.  
  66. inventory_template = jinja2.Template(inventory)
  67.  
  68. rendered_inventory = inventory_template.render({
  69. 'host_master01': gethosts[0],
  70. 'host_master02': gethosts[1],
  71. })
  72.  
  73. hosts = NamedTemporaryFile(delete=False)
  74. hosts.write(rendered_inventory)
  75. hosts.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement