Aleksey
@FuxGN вон топик же
Aleksei
@FuxGN вон топик же
Да читал я про то, что они новые возможности напихали. Просто в день релиза в репы не приехал Анзюбль, вот я и притормозил с проверкой и переездом
Aleksey
а вообще вот это вот http://docs.ansible.com/ansible/2.5/plugins/lookup/openshift.html
с учетом Provides access the full range of K8s APIs.
выглядит стремно.
@vrutkovs
Vadim
Aleksei
Anonymous
Aleksey
Anonymous
видимо придётся, ну да ладно
Dok
Dmitry
Всем привет! Коллеги, как с помощью Ansible заменить в файле определенную по счету строку, например, 7ю? Все примеры, которые нахожу, используют либо regexp (мне не подходит, неизвестно что в этой строке), либо маркеры "начало\конец файла" - тоже не мой случай.
Tadeusz
shell %)
matt
openssl_privatekey в 2.5 так и не научили генерить ec-ключи
Anonymous
Интересно. Можешь отписать как получилось?
пока что заставил работать вот такое: '{% for item in sites %}{{ item | combine({"username": item.domain | regex_replace("\.|-", "_")}) }}{% endfor %}'. только возвращается это всё в виде строки, лол
Pavel
спрошу еще раз на всякий случай:
можно ли в 1 блок "blockinfile" воткнуть список целиком построчно?
Anonymous
я бы попробовал так:
- name: users
blockinfile:
dest: blabla
marker: "# {mark} my users"
insertafter: "^#USERS:"
block: |
{% for item in [1, 2, 3] %}
user: {{ item }}
{% endfor %}
Pavel
Dmitry
Господа. Есть ansible последней достпуной версии (2.1.1.0-1~ubuntu16.04.1). Ключи SSH есть, подключиться к целевым устройствам получается. но при попытке запустить любой плейбук, получаю fatal: [10.6.7.1]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true}. Что я делаю не так?
Sergey
запусти то же самое с ключом -vvvv, тогда увидишь подробный лог
eucariot отпуск (MSK+4)
Всем привет.
В модуле ce_config для хуавэйских коммутаторов нашёл не то багу, не то фичу, которая мешает нормальной работе. У себя на локалке подхачил, но такое не апстримят.
Что сделать, чтобы кто-то с прямыми руками посмотрел и переделал? Автор модуля на issue не отвечает.
Dmitry
Dok
А как подключаешься по ssh? С использованием ~/.ssh/config?
Sergey
ну и использование учётки root?...
Dmitry
Денис
В роли указан ключь?
Dok
Чёт не пойму, сначала 10.6.7.1, потом, 10.6.3.1, теперь 10.6.10.1
Добавь в тот файл
Host test
HostName 10.6.10.1
User root
И укажи в хостах ансибла test
Денис
Можно еще так в инвентори
ansible_user=root
ansible_ssh_port= 22
ansible_connection= ssh
Можно еще ключь
ansible_ssh_private_key_file=
Dmitry
Dok
И, кстати, можешь потом ссашаться уже через команду
ssh test
Денис
ansible_user=root это в переменные ансибла или так как сказал @Dok2d в .ssh/config добавить пользователя
Dok
Ну настроенный конфиг это, само по себе уже очень удобно
Aleksey
eucariot отпуск (MSK+4)
Исправленный под другим именем?
Aleksey
нет под тем же именем
Aleksey
создай папку в корне плейбука
Aleksey
положи туда исправленный модуль
eucariot отпуск (MSK+4)
Так я хочу заапстримить)
Aleksey
все хотят. список пулреквестов видишь да :)
Ievgen
)
Ievgen
это да
Ievgen
ну короче если кто то хочет сделать так:
{% for cl in clusters_config|json_query("[].cluster")|unique %}
<{{ cl }}>
{% for sh in clusters_config|json_query("[?cluster=='" + cl + "'].shard_id")|unique %}
<shard>
{% for replica in clusters_config|json_query("[?(cluster=='" + cl + "' && shard_id=='" + sh + "')]") %}
то так можно
Sergey
😃 в общем да, но это же ты кусок шаблона написал 😉
а я писал про то, что это вот всё можно прямо в var.yml вкарячивать
Ievgen
ну да, я знаю )
Денис
Ievgen
[ ]
Ievgen
только []
Ievgen
ну без пробела
Денис
Надо же ))
Ievgen
json_query("[].cluster")
Aleksey
json_query сильная магия
Ievgen
очень
Dok
А как добавить записи в крон без ковычек?
Например,
cron: name=SHELL env=yes value=/
bin/bash
Добавляет
SHELL="/bin/bash"
Ievgen
Dok
непривычно чёт
Ievgen
ну сделай файл test.sh:
#! /bin/bash
SHELL="/bin/bash"
echo $SHELL
Ievgen
и /bin/bash test.sh
Ievgen
нормально все, не заморачивайся
Dok
Уделал)
Aleksei
Коллеги, есть нужда выполнить задачу единажды на каждом сервере (после разворачивания машины хочу запускать yum update). Как это можно реализовать?
run_once запускает только на одном хосте задачу, а мне надо, чтобы задача выполнялась на всех. Единственный выход который придумал - создавать файл, при наличии которого Ansible будет понимать, что таск уже запускался
Aleksey
yum name=* state=latest
Aleksey
не выдумывайте граблей
Aleksei
не выдумывайте граблей
Он же будет каждый раз выполняться при запуске плейбука. У нас сейчас так и я мелкие проблемы получаю с версиями пакетов на средах
Vadim
"единожды" == в рамках плейбука или в рамках жизни сервера?
Vadim
ну раз не хотите строгого списка пакетов, которые ставить (== идемпотентность), то token file - это решение
Aleksei
Vadim
В рамках жизни сервера
энсибл о таком не знает. В виде альтернативы - сохранять в факт, но тогда их надо хранить только на сервере, со всеми вытекающими
Aleksey
флаговый файл да.
Dok
Или после апдейта обнулять source.list))
Aleksey
ой давайте не будем про плохие практики
Pavel
может я рукожоп, но у меня для таких "новых" хостов отдельная группа, при создании - я его туда добавляю, после накатки - удалаю
никакой автоматизации
Aleksey
надо меньше плохих практик
Aleksey
обновления пакетов на сервере мастхев.
Aleksey
выключать обновления на сервере — путь к сломаному серверу
Aleksey
процесс в котором нельзя обновлять пакеты сломан изначально.
Salem
Сделай отдельную роль с обновлением пакетов