maniac
а на openbsd даже в новых.
Sergey
Ascandar
а какой бест?
Sergey
нести ответственность за содержание файла
Sergey
зафигачить шаблон
Ascandar
да в том дело, что они разные по содержанию могут быть
Ascandar
я бы и так давно в шаьо сделал бы
Sergey
Ascandar
они по содержанию разные, стопицот шаблоново городит чтоли?
Sergey
ну как.... можешь пнуть разработчиков - пусть сделают нормально
Womchik
ставлю roles_path = ..:. в ~/.ansible.cfg
получаю [skip]:/Users:/Users/wom:[skip] хотя нахожусь на 4-5 уровней глубже.
почему 2.4.[2|3] считает, что я нахожусь в ~ ?
manefesto
всегда ли плейбук должен начинаться с hosts ?
manefesto
как мне вкорячить глобальные переменные ?
Bogdan (SirEdvin)
есть просто vars или переменные группы
manefesto
- hosts: db
roles:
- backup_db
- hosts: master
roles:
- update_master
- hosts: slaves
roles:
- update_slave
manefesto
то есть каждая роль на определенной группе серверов
manefesto
допустим ситуацию что у нас свалилась ощибка на обновлении слейва
manefesto
- hosts: db
roles:
- backup_db
- hosts: master
roles:
- update_master
- hosts: slaves
roles:
- update_slave
when: '"update_slave" in roles'
manefesto
сответственно roles это массив из db,master,slave
manefesto
фишка в том что я сейчас делаю плейбук пока для awx, а потом для jenkins
manefesto
чтобы если работа его свалилась, то можно поправить свалившуюся роль. или исправить что-то на сервере и запустить только эту роль
manefesto
https://pastebin.com/HC9E7SSD
manefesto
ERROR! 'when' is not a valid attribute for a Play
Nklya
оу, пастебин еще живой
manefesto
ага
manefesto
кстати нашел вот такое решение
manefesto
https://stackoverflow.com/questions/21063159/how-to-skip-role-executing-in-ansible
manefesto
даже гугл групс живой
manefesto
хотя абсолютно убогий
manefesto
кто использовал ансибл с дженкинсом ?
Vladimir
я только планирую. из дженкинса буду поднимать/гасить анзиблом тестовое окружение.
Vladimir
но вопрос поддерживаю, на всякий случай)
manefesto
у меня идея достаточно простая, подготовка тестового окружения через ansible(накатываю из нужной ветки, союираю)
потом запуск контейнера с селениумом
запуск автотестов
гасим селениум
manefesto
хочу облегчить работу себе и тестировщику
Vladimir
ага, у меня сценарий похожий: анзиблом развёртывается набор lxc контейнеров, накатывается софт, уже собранный в деб-пакеты, прогоняются тестовые сценарии, далее либо lxc-контейнера гасятся и удаляются, либо, если использовать снапшоты, контейнеры откатываются в исходное состояние на момент запуска (хз что быстрее будет, надо ещё будет замерять).
Vladimir
накатили, прогнали тесты, погасили
manefesto
я тебе открою тайну, даже софт ставить не надо, я запаковал rootfs в архив
потом создаешь папку в /var/lib/lxc, в неё распаковываешь архив с rootfs и только правишь конфиги
manefesto
это быстрее
Vladimir
тоже вариант) но у меня ещё проверяется и раскатывание пакетов в кластере, с генерацией конфигов из темплейтов и прочего.
manefesto
знаешь, мне разворачивать дамп бд, править конфиги, собирать все через maven как то очень лень
Nklya
У вас какое-то странное соревнование как сделать решение более странным.
Aleksey
господа так вообще норм ?
skipping: [node2]
failed: [node2] (item=None) => {
"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
"changed": false
}
Aleksey
ага. артефакт strategy free
Aleksey
обе записи появляются под одним загловком и выглядит просто крайне странно
Pavel
добрый день. пытаюсь настроить мониторинг свободного места через ansible. не удается указать правило "выполнять команду только если свободного места осталось меньше 7гб". пишет "(ansible_mounts.mount == \"/\"): 'list object' has no attribute 'mount'"
- name: find files with size >=300M
find:
paths: /root
size: 300M
when:
- ansible_mounts.mount == "/"
- ansible_mounts.size_available < "7000000000"
Nklya
Ужас
Pavel
может я неправильно обращаюсь к ключам ansible_mounts ? в facts скобки так расположены
"ansible_mounts": [
{
...
"mount": "/",
"size_available": 26531971072,
....
},
Vladimir
по-моему вы пытаетесь забить гвоздь отвёрткой
Александр
Ievgen
кроме того ansible_mounts это лист а ты с ним пытаешься работать как с dict, ansible_mounts[0].mount и ansible_mounts[0].size_available при условии что желаемый mount будет первым решит вопрос, но это все равно бред
Ievgen
либо тебе надо json_query по mount/size_available и не when а with_items сразу, это более правильный бред )
manefesto
kbks
Коллеги, сильно не пинайте. Я только учусь. Не могу понять где ошибка. Насколько понимаю, в модуле apt параметр "update_cache: no" должно не запускать apt-get update перед выполнением задачи. Так?
manefesto
он вроде по дефолту
kbks
По дефолту или нет, не суть. Я не могу понять, почему при указанном явно плейбук не отрабатывает c ошибкой "changed": false, "cmd": "apt-get update", "failed": true ..." Сам плейбук тестовый, и кроме одной задачи в нем ничего нет
---
- hosts: all
tasks:
- name: install snmp
become: yes
become_user: root
apt:
name: snmp
state: present
update_cache: no
Vladimir
а чистки от чего?
Bsod
от свап файлов
Ievgen
а там дальше по ситуации вплоть до крона с truncate -s0 например или find индивидуально на каждом хосте, деплоить скрипт и создавать таск в кронтабе как раз можно через ansible
Vladimir
выше написали, да, по крону запускаете скрипт, в котором описаны мусорные файлы, объем их, и степень древности
Vladimir
а в плейбуках уже описываете, где должны лежать скрипты, с какой периодичностью эти скрипты дергать
Pavel
мусорные файлы, объем их, и степень древности
Vladimir
кого? )
Vladimir
скрипты и поищут, и удалят кого нужно, а кого нужно помилуют
Vladimir
у вас же есть какие-то требования формализованные к жертвам ваших репрессий?
Pavel
мне нужно найти "мусорные файлы, объем их, и степень древности"
Pavel
всё индивидуально. нужно пинать тестировщика который их оставил.
Ievgen
найти один раз, посмотреть на них, принять некоторый критерий мусорности/древности/расположения/паттерна имени итд итп и добавить в скрипт очистки
Ievgen
или повесить скрипт который будет слать мэйл персонажу со списком файлов так или иначе удовлетовряющих критерию мусорности
Ievgen
или тебе
Ievgen
)
Ievgen
или вам обоим
Pavel
имена файлов /важность/путь постоянно меняются
Ievgen
какой критерий постоянен? обьем?
Pavel
объём непостоянен. буду собирать список файлов. и пытаться запускать задачу на серверах через ansible_mounts[0].mount. ещё не удалось как отформатировать вывод.
Ievgen
ansible_mounts[0].mount это я немного криво описал