consul-demo

Форк
1
/
build-ansible-inventory.py 
38 строк · 913.0 Байт
1

2
INPUT_FILE = "./inventory.list"
3
OUTPUT_FILE = "./inventory.ini"
4

5

6
def main():
7
    
8
    input_text = None
9
    with open(INPUT_FILE, 'r') as f:
10
        input_text = f.readlines()
11
    
12
    inventory = {}
13
    for entry in input_text:
14
        
15
        (host, ip) = entry.split(":")
16
        (group, num) = host.split("-")
17
        ip = ip[:-1]
18
        
19
        if group not in inventory:
20
            inventory[group] = []
21
        inventory[group].append({ "host": host, "ip": ip })
22
    
23
    with open(OUTPUT_FILE, "w") as f:
24
        
25
        for group in inventory:
26
            f.writelines([f"\n[{group}]\n"])
27
            for entry in inventory[group]:
28
                f.writelines([f"{entry['host']} ansible_host={entry['ip']}\n"])
29
            
30
        f.writelines([
31
            "\n[java-apps:children]\n",
32
            "gw\n",
33
            "srv\n"
34
        ])
35

36

37
if __name__ == "__main__":
38
    main()
39
    print("done")
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.