Andor
и это нормально
Andor
имхо
Andor
Andor
ща сделаю почти-хиеру и даже будет почти удобно
George
Anonymous
Подскажите кто чем в автоматическом режиме тестит плейбуки ?
Andor
molecule
Timur
Timur
Timur
Молекула + Gitlab CI + Travis CI
Anonymous
Слыхал о ней. Тоже к ней склоняю
Andor
George
для структурирования
George
типа ооп
George
инкапсуляция. абстракция и прочая фигота
Timur
а нахрен они тогда вообще нужны-то? %)
Переменные в vars? Там служебные переменные, как правило. Которые используются внутренней логикой роли, но которые не должны переопределяться юзером.
Переменные, которые являются кастомизируемыми параметрами, должны лежать в defaults
Timur
Тогда сразу исчезают вопросы вроде вашего - а какое значение переменной у меня подтянется - из vars роли или из group_vars инвентаря
Timur
Правильный ответ: эти переменные просто не должны пересекаться
George
поддержу Тимура. Это примерно как сравнивать публичные и приватные переменные класса.
George
Приватные - это его личное дело и сделаны просто для удобства дальнешей разработки роли
Andor
Timur
George
да, в ООП если нужна такая ботва - ты наследуешься от базового класса и переопределяешь что тебе нужно
George
в принципе здесь та же история - форкни роль и делай что душе угодно )
George
я согласен
Timur
И которые просто произвольно переопределять не нужно
George
согласен
George
публичным интерфейсом роли являются переменные, которые явно определены как доступные для изменения
Andor
Timur
У нас для наших ролей в ридми всегда описаны все переменные, лежащие в defaults. Потому что именно они параметризуют роль
Andor
Про варс роли я вообще не говорил если чо.
Timur
Timur
Andor
Но раз админ чята про ансибль считает, что говорил, значит я это делал
George
даже хиера возможна только для определенных переменных, кмк
George
не для всех
George
Pavel
George
но не приватным переменным? которые типа не предназначены для переопределения юзером ?
Andor
В ансибле даже есть опция мёржить дикты, но написано что не рекомендуется
Andor
George
Timur
Владимир
Привет.
Есть способ в плейбуке выполнять только задачи с определёнными тегами из включённых в него ролей?
Через командную строку как-то не удобно.
Андрей
Всем привет!
Такой вопрос - у меня есть ПО которое устанавливается своим инсталлятором (binary file). Процесс установки состоит из непосредственно установки самого ПО и апдейта на него. Установка выполняется от рута, а апдейт от юзера-овнера ПО.. Проблема в том что при запуске таски от рута фейлится установка апдейта
shell: "{{ temp_files_path }}/RHEL/installer/install -silent {{ temp_files_path }}/silent/response-file"
args:
executable: /usr/bin/ksh-
но когда я запускаю ту же команду на таргет машине
# ksh
# ./install -silent ../../silent/response-fileюзер переключается (это хендлится самим инсталятором). И весь процесс проходит успешно. Подозреваю, что проблема в том что Ансибл то ли не может переключить юзера в контексте одной таски то ли переключая не устанавливает необходимые переменные. Есть ли какой-то вариант решить этот вопрос?
George
Андрей
это уже хорошо) но у меня нет идей
George
проверяй под каким юзером запускается ансибл
George
проверяй какие переменные окружения (там шелл может быть не совсем "честный")
George
но это общие слова, а так - да, надо отлаживать
Damir
Парни, в чем может быть проблема? Есть такой скрипт на баше:
Damir
#!/bin/bash
base_port=7000
num_servers=$1
shift
report_base=$1
shift
iperf_options="$*"
# Run iperf multiple times
for i in `seq 1 $num_servers`; do
# Set server port
server_port=$(($base_port));
# Run iperf
iperf3 -s -p $server_port $iperf_options &
done
SM
я бы делал по нубски )
то есть создаешь баш файлик в котором производишь запуск той команды, а паралельно ещё и команду whoami и » в лог.
Damir
Пытаюсь его засунуть в такс:
---
- name: Task Run IPERF server - Default-1 - port on user-1-site-1
script: /root/phase2/Default_1/site-1-default-1.sh
George
Damir
Но на сервере iperf служба, как серввис не запускается
Damir
Да, могу, но времени дольше уйдет
Damir
Мне нужно быстро проверить одну фичу, здесь и сейчас как говорится
Damir
Почему то он амперсант & не воспринимает должным образом
George
Damir
Ага, как в фоне
Sergey
Sergey
Напиши нормальный юнит systemd и стартуй его как положено
Damir
Да, уже понял. Получается только напрямую запускать shell команды, без цикл оберток
Sergey
Sergey
ну или циклообёрку перепиши в однострочную форму - и всё получится
Sergey
Только это вот прям вообще точно стопудово не про Ansible
Damir
Ага, самому страшно становится, когда смотрю на bash oneline и все это в ансибл (
Damir
Понимаю что за это по рукам надо бить
Damir
До этого просто тестировал на баше трафик флоу и тут нужно быстро распаралелить эту процедуру
Damir
В лоб не получилось сделать, надо нормальный такс пилить
Damir
Этим и займусь
Andor