saltstack динамически обновляет хосты и т. д.

Как динамически обновлять файл /etc/hosts с помощью saltstack.

Есть пример, который отлично работает с ansible, но не знаю, как это сделать с солью.

http://xmeblog.blogspot.fr/2013/06/ansible-dynamicaly-update-etchosts.html

  - name: add hostname in /etc/hosts
    lineinfile: dest=/etc/hosts regexp='.*{{ item }}$' line="{{ hostvars[item]['ansible_default_ipv4']['address'] }} {{item}}" state=present
    when: hostvars[item]['ansible_default_ipv4']['address'] is defined
    with_items: groups['all']

Это обновит /etc/hosts со всеми возможными IP-адресами хостов и адресами хостов, доступными в файле инвентаризации.

Как можно с солью? Я хочу собрать IP-адрес и имя хоста всех миньонов и обновить их на всех миньонах /etc/hosts.

minion1 => ip (192.168.1.1) hostname is (example1.net)
minion2 => ip (192.168.1.2) hostname is (example2.net)
minion3 => ip (192.168.1.3) hostname is (example3.net)

Во всех миньонах запись в файле /etc/hosts должна выглядеть так:

127.0.0.1 localhost
::1 localhost
192.168.1.1  example1.net
192.168.1.2  example2.net
192.168.1.3  example3.net

person pankaj ghadge    schedule 03.07.2014    source источник


Ответы (1)


Пожалуйста, загляните на https://github.com/saltstack-formulas/hostsfile-formula, надеюсь, это соответствует вашим потребностям.

Эта конкретная формула позволяет «автоматически» создавать /etc/hosts записей для всех известных миньонов.

Пожалуйста, нет, я заметил, что ссылка на формулу в документации по формулам не работает, попробуйте вместо этого Инструкции по установке и использованию Salt Formulas.


Объяснение формул соли

Формулы — это заранее написанные солевые состояния. Они так же открыты, как и сами соляные состояния, и могут использоваться для таких задач, как установка пакета, настройка и запуск службы, настройка пользователей или разрешений и многих других общих задач.

person leonardinius    schedule 28.07.2014