Хтонический
http://docs.ansible.com/ansible/latest/faq.html#how-do-i-configure-a-jump-host-to-access-servers-that-i-have-no-direct-access-to так делаешь?
Проблема решена. Надо пользоваться модулем с гитхаба производителя железки.
NO
а
Хтонический
Убил почти сутки, однако...
Andrew
А тесты плейбукам пишете? Или
Andrew
matt
тестим на dev-окружении
Andrew
не, это не то
Хтонический
А тесты плейбукам пишете? Или
я только вчера первый раз ансибл увидел, о чем вы?
Хтонический
какие тесты?
Хтонический
если сработает в условиях лабы - поставим в прод. Там простая задача
Хтонический
нужно всего-лишь коннектиться на железку через бастионный хост, проваливаться в шел, коннектится оттуда на нужную карту. Делать там df -k и, если места мало, писать панические письма.
Хтонический
строго говоря, пока проблема почти по всем пунктам. Вчера научился коннектится через бастионный хост. Но пока не пробовал проваливаться из cli в шелл. Не пробовал коннектиться на отдельные карты. и не пробовал там запускать команды
Andrew
=) спасибо за развернутый ответ, но я не к Вам, а к уважаемому сообществу адресовал
Andrew
но у вас мощная задача
Andrew
по-моему и df делать не обязательно, если gather_facts: true
Andrew
там все само соберется
Andrew
можно огранить набор собираемых фактов одним
Хтонический
Мониторинг?
ага. надо мониторить количество свободного диска на каждой карте маршрутизатора
Andrew
какой-то хитрый бекам нужен
Andrew
и делегейт то
Andrew
snmp?
Хтонический
не на роутинг-энджине, а на самой линейной карте
Хтонический
то-есть - нужно провалиться в шелл, оттуда попасть на линейную карту, там посмотреть
Хтонический
условно говоря - три команды: start shell rsh -Ji fpc0 df -k
Хтонический
snmp?
не умеет.
Shamil
А тесты плейбукам пишете? Или
Ну расскажи уж, как сам тестируешь?
Andrew
@Shamil Sattarov дык я то тоже прогоняю на девбоксе, или сначала нежно на бою, оставляя только ридонли блоки
Andrew
@youngbluesman но как-то ж можно по умному
Shamil
@youngbluesman но как-то ж можно по умному
http://kitchen.ci — вот что-то такое есть. Но по своей сути ансибль, коль уж скоро, плейбуки под него пишутся декларативно, как-бы самотестируемый. Можно еще выводить дебагом, все действия и сразу следить за выполнением, само-собой сперва в тестовом окружении.
Evgeny
Есть ещё molecule для тестирования ролей
Evgeny
https://github.com/metacloud/molecule
Shamil
Ой, kitchen пока только для шефа, непонятно почему они тогда там понадобавляли кучу значков — с толку сбивает
Nklya
Молекула 2-й версии очень даже ничего для тестирования ролей в ансибле. Например https://github.com/cndies/ansible-role-gotty
Ильдар
Доброй ночи, у меня тут вопрос возник. Надо генерить сертификаты/ключи если их нет в каталоге роли ansible/roles/nginx/files/ . Пока что пришла мысль делать так: - local_action: stat path={{ role_path }}/files/{{ ssl_privkey }}.key register: need_privkey - name: Generate privkey local_action: command openssl -out {{ role_path }}/files/{{ ssl_privkey }}.key ... when: not need_privkey.stat.exists - name: Copy privkey copy: src: {{ ssl_privkey }}.key dest: /etc/nginx/ssl/{{ ssl_privkey }}.key owner: root group: root mode: "u=rwx,g=r,o=r" В правильном ли направлении мыслю?
Ильдар
ммм, спасибо. Прикину что можно сделать)
Nklya
Китчен покруче имхо, он дольше разрабатывается, больше верификаторов поддерживает, а молекула только testinfra и goss. Но зато молекула это питон и ансибл. Там можно легко вносить изменения и нет руби-руби
Andrew
@luvsandugar @youngbluesman
Andrew
Спасибо, посмотрю. Мне просто интересно, как вооще самому себя тестировать, не обязательно даже в ansible
Nklya
Это называется гитхаб. Туда код выкладывают. А еще там есть TravisCI. А этот репозиторий - это пример тестирования роли молекулой. Или ты хотел чтобы я статью на хабр специально написал?
manefesto
Привет
manefesto
Есть необходимость написать обертку на django для автоматизации каких то действия Сейчас делаю через paramiko, но думаю над тем чтобы выполнять ansible скрипты посмотрел и не понял, как из питона запускать ansible
manefesto
не через subprocess
Tadeusz
что значит "как из питона запускать ansible" ? 🙂
Pavel
from subprocess import run run(["ansible-playbook", "-i", blah-blah-blah]) 😳
Pavel
или http://docs.ansible.com/ansible/latest/dev_guide/developing_api.html
Dmitry
Да
Rundeck возьмите
Dmitry
Не надо изобретать велосипеды
manefesto
Rundeck возьмите
Возьму на заметку
manefesto
Это из разряда «мне некогда разбираться, мне надо чтобы работало»
manefesto
Лучше будет сделать правильно, спасибо за наводку
Evgeny
как раз ща делаю интерфейс к ансиблу самописный
Evgeny
оринетироваться можно на пост https://serversforhackers.com/c/running-ansible-2-programmatically
Evgeny
но там описано мало возможностей ansible python api, и часть устарела, придется читать код
Nklya
Вместо того, чтобы просто впихнуть выполнение ансибла в CI, конечно проще писать очередной тауэр
Evgeny
иногда приходится
Evgeny
на CI и тауере много костылей приходится делать чтобы поддержать бизнес-процессы
Evgeny
проще в итоге свое написать
Alf 🙀
на CI и тауере много костылей приходится делать чтобы поддержать бизнес-процессы
а расскажите что такого специальнокостыльного вы делаете?
Evgeny
деплой довольно большой и распределенной системы, думаю порядка 80 продуктов (каждый из который состоит из N компонент). Плейбуи и иногда роли пишут команды. И все это добро ставиться в любой комбинации со своими хитрыми зависимостями между компоннетами(а это может быть джава, си, эрланг, джаваскрипт). Т.е. надо для заданной комбинации собрать все роли-плейбуки, подтянуть инвентори для нужного стенда, провалидейтить инвентори и если есть косяки красиво показать. + т.к. стендов много и они большие хочется уметь сравнивать инвентори для них визуально, находить разницу и мержить. наверное как то так 🙂
Evgeny
ну и пользоваться этим будут не админы-девопсы, а эксплуататоры по
Evgeny
еще лог деплоя в базу пишем если что чтобы откатиться ну и читать чтобы удобнее было)
Albert
Прочитайте о airflow
Albert
https://github.com/apache/incubator-airflow
Albert
не то
Albert
сек
Albert
А не, все то 😄
Albert
Они под проектом апаче стали
Evgeny
да, я видел уже, есть пометка попрбовать это
Evgeny
как следующий этап развития 🙂 сейчас основная задача была дать инструмент формирования «набора» для деплоя и визуальной проверки инветори, т.к. у нас они ооочень большие. Мы в прицнипе используем ансибл немного костыльно, но лучше ничего не нашли)
Albert
А инвентори динамический хоть?
Dmitry
Это из разряда «мне некогда разбираться, мне надо чтобы работало»
на рандек потратится полчаса на разбирательство
Evgeny
инвентори к сожалению пока не динамичский