Мне нужно настроить соединение ssh между каждым сервером в кластере из 3 узлов.У меня есть формула соли, которая генерирует ключи SSH для 3 миньонов.Сгенерированные ключи ssh должны быть доступны другим миньонам через функцию соляной шахты (определена в столбике):
mine_functions:
file.read: ['/root/.ssh/id_rsa.pub']
Проблема в том, что данные шахты не доступны во время первого запуска состояния соли.Когда я запускаю состояние во второй раз, мои данные доступны, и все работает нормально.Какие-нибудь предложения, как сделать данные шахты доступными во время первого запуска?Формула соли:
ssh-keygen -q -N '' -f /root/.ssh/id_rsa:
cmd.run:
- unless: test -f /root/.ssh/id_rsa
- parallel: True
mine.update:
module.run:
- tgt: '*'
- parallel: True
- require:
- cmd: ssh-keygen -q -N '' -f /root/.ssh/id_rsa
{% for host,ssh_key in salt['mine.get']('some-test-minions*', 'file.read', expr_form='glob', exclude_minion=True).items() %}
"{{ssh_key.rstrip('\n')}}":
ssh_auth.present:
- user: root
- enc: ssh-rsa
- require:
- module: mine.update
{% endfor %}