Dok
Ребят, как кинуть в register наличие установленного в ubuntu сервиса?
Sergey
Sergey
а ты как хочешь с ним потом поступать
Dok
Хочу поставить условие, если не стоит nginx, то выполнить блок.
В блоке добавить ключ, добавить репозитории, обновить кеш, установить nginx определённой версии.
Иначе, если nginx уже стоит, блок пропустить
Sergey
Хочу поставить условие, если не стоит nginx, то выполнить блок.
В блоке добавить ключ, добавить репозитории, обновить кеш, установить nginx определённой версии.
Иначе, если nginx уже стоит, блок пропустить
а нельзя просто указать в первых джобах ставить nginx такой то версии с такими то параметрами, если его нет, ансибл его установит, т.к все декларативно
Dok
Да, я первые джобы и делаю, просто эти проверки каждый раз долго идут
Sergey
Dok
Неужели так никто не делал?
Dok
Просто какой смысл при каждом обновлении конфига php-fpm проверять наличие установленных двух десятков библиотек php, если php уже стоит?
Pavel
Dok
Ну если надо обновить пакет везде, то разово его обновить отдельным запросом ансибла, а в плейбуке заменить версию пакета в этом условном блоке, не?
Dok
Чтоб при новых установках ставилась уже новая версия
Dok
Или я что-то неправильное говорю?
Pavel
k4k
Dok
Ну да, но и отдельных конфигов ансибла ustanovka_php.yaml не хочется плодить
Dok
Pavel
у меня внутри роли ставятся нужные пакеты нужных версий для этой роли... и так для многих ролей, даже если они вызываются в 1 плейбуке
Pavel
а наборы ролей для разных серверов могут быть разные
Pavel
соответственно разные плейбуки
Dok
Ну, у меня сервера одинаковые :)
Но дело даже не в этом, просто серверов тьма
Udjin
парни
а вот у меня проблема такая
на 2.5.3 было всё окей, но вот 2.6.4 мозги выносит
fatal: [nazgul.tech]: FAILED! => {"changed": false, "cmd": "/usr/bin/git clone --origin origin '' /home/alice/nazgul..tech", "msg": "fatal: destination path '/home/alice/nazgul.tech' already exists and is not an empty directory.", "rc": 128, "stderr": "fatal: destination path '/home/alice/nazgul..tech' already exists and is not an empty directory.\n", "stderr_lines": ["fatal: destination path '/home/alice/nazgul.tech' already exists and is not an empty directory."], "stdout": "", "stdout_lines": []}
а всё потому что в папке куда пулится - есть папка .ansible/tmp
Udjin
чо делать-то?
Fedor
/usr/bin/git clone --origin origin '' /home/alice/nazgul..tech", "msg": "fatal: destination path '/home/alice/nazgul.tech' already exists and is not an empty directory."
Fedor
гит не может клонить в существующую директорию
Udjin
да, там папка -
а всё потому что в папке куда пулится - есть папка .ansible/tmp
Udjin
нет
Udjin
ты не понял
Udjin
он не может пулить в директорию в которой уже что-то есть
Fedor
не может
Udjin
почему-то создаётся в папке .ansible
Udjin
ну я вот удалил щас полностью её
Udjin
гит модуль её создал а в ней внутри папка .ansible
Udjin
как избавиться
Udjin
?
Udjin
даунгрейд ансибла?
Udjin
решил проблему даунгрейдом ансибла до 2.6.0
cent
А кто-то ловил проблемы с heredoc ?
У меня почему-то в конце файла EOF добавляет постоянно
Dok
Dok
Евгений
Доброе!
Кто не видел, может у вас есть решение?
Только костыль типа
shell: if [ $(systemctl status zabbix-agent | grep running| wc -l) -eq 0 ]; then error; fi
register: zabbix_agent_service_status
when:
- zabbix_agent_service_status is succeeded
проверяет, запущен ли заббикс, тоже чтоб пропустить установку, настройку и много чего еще. Но я так больше не делаю, ибо ансибл второй раз ставить не будет, и файл конфигурционный пропустит если все ок. Так что лучше просто описать конечное состояние хоста
cent
Евгений
Всем гугл помог)
Fedor
Баш жи
shine
программирование через stackoverflow
Fedor
Dok
Евгений
Dok
Эх)
Anonymous
вот пример тебе
.wine/drive_c/Program\ Files\ \(x86\)/Skillbrains/lightshot/Lightshot.exe
Anonymous
пробел а также скобки левым слешом
Mikhail
вопрос на засыпку: есть список чисел, нужно через set_fact задать переменную, значение которой не входит в этот список
Mikhail
сходу напрашивается решение: получить unused_gids: "{{ gid_range | difference(all_gids) }} и взять из него
Mikhail
но результат, по непонятной мне причине: unused_gids == gid_range
Mikhail
разобрался, так работает, да
Shamil
Друзья! А почему даже при включенном pipelining'е у меня на таргет-хосте все равно остается висеть 270 ssh-agent'ов? Объясните, пожалуйста, для быдла.
Sergey
Sergey
Паблик-ключи обычно просто кладутся в $HOME/.ssh/authorized_keys.
Sergey
Либо ты делаешь странное, похожее на https://stackoverflow.com/questions/24124140/ssh-agent-forwarding-with-ansible.
Sergey
Тогда и чинить так, как там описано.
om
Привет
Тут такая штука - начинаю ансибл, хочу сделать красиво: линукс серверы в домене active directory (corp). Соответственно, подключение доменным пользователем по ssh происходит без запроса пароля (спасибо керберосу и realmd+sssd):
ssh ansible_svc@server1 - успешно.
При попытке запустить ansible all -m ping получаю, что ansible подставляет имя пользователя с доменным суффиксом:
server1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ansible_svc@corp@server1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"unreachable": true
}
Если ssh ansible_svc@corp@server1 то запрашивает пароль.
Можно ли уговорить ансибл не использовать суффикс?
Sergey
Sergey
вообще странные конструкции
Sergey
если тебе нужно сказать "захожу доменным пользователем на конкретный хост", то в винде это может выглядеть как DOMAIN\user, то есть в результате моет получиться что-то типа "CORP\ansible_svc@server1"
om
Sergey
всегда пожалуйста 😊
om
om
Я хожу доменным пользователем с линукса на линукс.
om
om
Есть такое. Один раз встретил нестандартное повдение по доступу к ФТП, кажется- оказалось у человека пароль с собакой и двоеточием.
om
server1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Sergey
Sergey
om