Anton
сейчас так---
- hosts: all
user: root
sudo: yes
tasks:
- name: add string file network
lineinfile:
path: /etc/sysconfig/network-scripts/ifcfg-enp0s3
regexp: '^DOMAIN='
line: DOMAIN=" {{ JoinToDomain }} "
- name: restart network
service: name=network state=restarted
Ivan
что-то вроде
path: /etc/sysconfig/network-scripts/{{ item }}
with_items: "{{ ansible_interfaces }}"
Anton
Jack
привет, гайз, а мб кто подскажет, как проще всего передать в экстра вар path, в самой буке уже начинается пляска с экранированием и что он резолвится не совсем корректно.
Я и твой кот
Привет. В структуре роли файлик плейбука {role}/tests/test.yml нигде автоматически не вызывается? Его руками нужно запускать?
Я и твой кот
Если я ставлю веб сервер ролью, то куда мне логично засунуть проверку, что он начал отвечать на 80 порту? Неужели в {role}/tasks/main.yml?
George
или создать port-testing.yml in tasks folder
George
И вызывать его из основного *.yml в конце установки
George
ну как вариант, я бы так сделал
Denis 災 nobody
🗓 DevOps Quiz 30 июня в 19:00 (МСК)
DevOps Quiz – это командная интеллектуальная игра на знание и понимание методологии DevOps. Можно сравнить с форматом "60 секунд", "Что? Где? Когда?" и "Мозгобойней".
Регистрация: https://events.epam.com/events/devops-quiz
FAQ:
🔹Как будет проходить квиз?
Квиз будет в онлайн-формате. За день до мероприятия пришлём ссылку на трансляцию и ссылку на форму для заполнения ответов.
🔹Сколько игроков должно быть в команде? От 1 до 6 человек.
🔹А будут ли призы? Да, будут. Команды, занявшие первые 3 места, получат призы.
🔹Что нужно для участия? Хорошее качество интернета и отличное настроение :)
🔹Как участникам команды общаться между собой? Это на ваш выбор – можете использовать мессенджеры или созваниваться через приложения типа Skype, Zoom или Discord.
Проверьте свои знания и понимание DevOps-практик – примите участие в квизе!
Denis 災 nobody
участие бесплатное
Саша
где взять 6 девопсов в одной команде?
Alexander
О, хочу в тиму
Aleksey
у меня есть команда которая сегодня вся попросила доступ а все сервера. сказала такой у них t-shape
Aleksey
8 человек в команде.
2 бекендера, фронтентедр, по, тестер, девопс, и саентологи вроде еще
Aleksey
но нет. всё девопсят
Sergey
>> саентологи
дата-сатанисты?
Sebor▂▅▇█▓▒░
Gleb
Aleksey
Aleksey
я тут чот подумал, а не собирал ли кто в кучку набор опций которые будут максимально "безопасные" с точки зрения типов, изоляции и прочего такого ?
Junglist
Всем привет, вопрос от новичка, голову сломал с таким вот кейсом:
Есть инвентарь из N-цать хостов, все они входят в группу Main. Некоторые из них также входят в подгруппу SubGroup.
в group_vars для Main указываю список софта который необходимо установить и записываю в переменную software. В group_vars для SubGroup указываю дополнительынй софт для подгруппы в туже переменную software. Результат: получаю в software только значения для SubGroup. Нормальное поведение, но какой бест практис посоветуете чтобы решить такой кейс? использование hash_behaviour = merge вроде как моветон.
Aleksey
определить правильный порядок переиспользования переменных
Aleksey
скорее всего вторую субгруппу надо передать как vars или в другом месте
Anonymous
Aleksey
например private_role_vars имеет default False
Anonymous
в ансибле отсутствует понятие видимости переменных
Anonymous
есть фильтр omit(частный случай default) для откидывания несуществующих ключей. И более общий случай с default(), если переменная "пустая" и нужно что-то туда вкатить по умолчанию
Aleksey
или force_valid_group_names
Anonymous
это все что есть. хотя, могу ошибаться
Aleksey
там есть еще довольно много всякой нечисти которая оставлена потому что оно раньше так было и нам надо это деприкейтить но всё сломается.
Aleksey
иногда у меня есть green field и хочется сделать максимально норм
Sergey
Anonymous
лучше пересмотреть задачу и сделать проще
Anonymous
"упростить" логику
Anonymous
ansible не язык программирования. чем проще и "тупее" реализация playbook, тем лучше
Гайрат
башсибл: выходит на сцену
Anonymous
ну, не надо из крайности в крайность
Anonymous
https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html можно один два раза прочитать
Roman
Всем привет. Изредка плейбук сбрасывается с такой ошибкой "ERROR! A worker was found in a dead state" Т.е. даже это не трейсбек. Во всех случаях это случалось на долгих тасках. Как можно продиагностировать, почему воркер помирает? Ansible 2.9.6
Anonymous
если появилось желание написать плагин или модуль, то первым делом нужно прилечь на диван/кровать и еще раз подумать: "А точно ли надо?"
Anonymous
Roman
Anonymous
по "фотографии" сложно сделать диагноз
Владимир
Anonymous
есть конкретный кейс с воспроизводимой ошибкой?
Anonymous
selinux, файрвол, настройка ssh сессии. есть море факторов
Anonymous
Anonymous
чтобы посмотреть подробный дебаг
Alexander
Всем привет!
есть вот такой конфиг:
applications:
- name: application1
subfolder: subfolder1
- name: application2
subfolder: subfolder2
folder: /opt/
каким образом можно дополнить список, чтобы получить, например, вот такой список?
applications:
- name: application1
subfolder: subfolder1
fullPath: /opt/subfolder1
- name: application2
subfolder: subfolder2
fullPath: /opt/subfolder2
Sergey
Alexander
Alexander
И, судя по всему, тривиального решения нет :(
Slayer
для awx в докере нужен ансибль где то в отдельном докере или локально на системе? Или это полностью автономная сборка? awx_web awx_task...
Ilya
Slayer
ок, спасибо
Tadeusz
ну ты злодей)
Alexander
ну ты злодей)
лучше варианта не придумал.
вариант с кастомным фильтром как-то даже не рассматривал 🙂
Junglist
Junglist
как инветори то устроены у вас с таким подходом? флаты установить всё на всё?
Junglist
я так понимаю что в ансибл нкт подхода родитель-детенышь, и если ты изменяешь детенущевую сущность то будь добр считать что ты её перезаписал а не заапендил
Nikita
модуль stat фейлится на файлах из директориях с такими правами drwxr-x---
The full traceback is:
WARNING: The below traceback may *not* be related to the actual failure.
File "/tmp/ansible_stat_payload_b8TRux/__main__.py", line 476, in main
st = os.lstat(b_path)
fatal: [kube-master-02.srv-lan]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"checksum_algorithm": "sha1",
"follow": false,
"get_attributes": true,
"get_checksum": true,
"get_md5": null,
"get_mime": true,
"path": "/etc/audisp/audispd.conf"
}
}
}
MSG:
Permission denied
Nikita
что то уже все перепробовал(
Nikita
ansible-playbook -vvvvv -K --flush-cache test.ym
Nikita
добавил become: true заработало, но это плейбук kubespray
Michael
Michael
Sebor▂▅▇█▓▒░
что то уже все перепробовал(
А не пробовал сравнить владельца директории/файла с пользователем, из-под которого ходит ансиболь?
Nikita
ansible-playbook -b помог
Sebor▂▅▇█▓▒░
Ты хоть причину то понял?...
Sebor▂▅▇█▓▒░
Ну я надеюсь, что не все тут снежинки)
Просто не знать такие элементарные вещи, как права в юниксах - мягко сказать, странно
Sebor▂▅▇█▓▒░
Sergey
Ты хочешь всем желающим за незнание базовых вещей флаеры на повидло выдавать?
Sergey
Увидишь:
https://www.meme-arsenal.com/memes/b86e152fade9fcb696ab18e68e29ac5c.jpg