George
Чо?
George
Галактикой лучше, напрямую из репы
Nikita
Делаешь степ в ci, который тебе скачивает роли, например из файла requirements
checkdiff
- name: library src: git@<uri>:repo.git scm: git version: v1.1.2
checkdiff
я так понял, что формат не совсем понятен requirements, приложил выше
Nikita
А CI какой? gitlab?
George
В пайплайне ты как ансибл дергаешь?
George
Предыдущим шагом сделай ansible-galaxy install -r имя_файла_с_зависимостями Ес-но ссш ключи должны быть подкинуты или качай репы по токену
George
Ну, или как оно там делается
George
Я уже забыл больше, чем кто-то мог узнать за карьеру )
Nikita
before_script: - ansible-galaxy install -r roles/requirements.yml
George
before_script: - ansible-galaxy install -r roles/requirements.yml
Можно и в блоке скрипт. Не столь принципиально, кмк
Nikita
Да можно как угодно:) Просто пример попросили
George
А почему нет-то
Andrey
Я уже забыл больше, чем кто-то мог узнать за карьеру )
Ну... Молодец, а я зае.... Ся вся ос закрыта.. Устал башансибл юзать, даж рсинка нет... Столько извращений мххх
George
Ну, ок
George
Ну, это логично. pip так же делает ) и голанг тоже так умеет ) и много кто еще
George
И субмодули не нужны
Anton
Коллеги, а никто не разбирался с тем как можно отследить на каком хосте ансибл застрял при коннекте по Winrm?
Anton
Видеть какой хост сейчас тормозит всю очередь исполнения
Timur
Видеть какой хост сейчас тормозит всю очередь исполнения
Это обычно и так видно, когда остальные хосты группы вернули ok или changed
Anton
ну это смотря сколько хостов.. :( Я так понимаю никто больше десятка хостов особо не гоняет?
Aleksandr
Господа, я правильно понимаю что нативной поддержки разархивирования .gz в модуле unarchive нет? кроме как используя shell других спосоов нет?
George
Распаковать архив? Или распаковать, если? Или просто надо файлы посихронизировать ?
Aleksandr
скачать и распаковать
Aleksandr
https://github.com/vmware/govmomi/releases/download/v0.20.0/govc_linux_amd64.gz
Timur
скачать и распаковать
Что конкретно вызывает трудности?
Anonymous
Requires gtar/unzip command on target host.
Anonymous
может нету gtar/unzip
Aleksandr
unzip есть
Aleksandr
{"changed": false, "msg": "Failed to find handler for \"/home/ubuntu/.ansible/tmp/ansible-tmp-1567528626.494742-15416206355682/govc_linux_amd64dKSVs2.gz\". Make sure the required command to extract the file is installed. Command \"/bin/tar\" could not handle archive. Command \"/usr/bin/unzip\" could not handle archive."}
Aleksandr
gunzip там есть
Anonymous
странно
Anonymous
можно узнать версию ansible?
Отделение Bereke Bank
https://github.com/vmware/govmomi/releases/download/v0.20.0/govc_linux_amd64.gz
Archive: govc_linux_amd64.gz End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
Отделение Bereke Bank
Оно gzip-ом распаковывается
Aleksandr
ansible --version ansible 2.8.4 config file = /Users//.ansible.cfg configured module search path = ['/Users//.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/lib/python3.7/site-packages/ansible executable location = /usr/local/bin/ansible python version = 3.7.4 (default, Jul 9 2019, 18:13:23) [Clang 10.0.1 (clang-1001.0.46.4)]
Отделение Bereke Bank
там же один файл всего в архиве - закинь в files роли и заливай через copy)
Aleksandr
в чем профит хранения thirdparty бинарей в своем коде?
Dok
в том, что твои плейбуки не будут зависеть от внезапных апдейтов на стороннем сайте
Kane
Господа, я правильно понимаю что нативной поддержки разархивирования .gz в модуле unarchive нет? кроме как используя shell других спосоов нет?
в notes к unarchive Can handle .zip files using unzip as well as .tar, .tar.gz, .tar.bz2 and .tar.xz files using gtar. поэтому .gz и иже с ними видимо только шеллом
Kane
так если ты бинарь хранишь у себя в репе, может просто перепаковать тогда с использованием tar'а?
Kane
тогда можно unarchive заюзать , без колхоза с shell/command ))
Anonymous
tar.gz умеет, а просто .gz не умеет :) как то странно
Kane
согласен что выглядит так себе)) но наверняка где-то в недрах англоязычных тредов в ансибловой гуглогруппе этому есть разумное объяснение ))
Kane
Тогда можно и просто copy)
тоже верно, но наверно зависит от размера и количества файлов... таскать много много мелких файлов по сетке наверно не очень хорошо
Dok
На это есть synchronize
Kane
На это есть synchronize
не сталкивался еще с такой штукой, спасибо почитаю
Kane
A wrapper around rsync — мм, это хорошо
Dok
ой, на это есть with_filetree
Kane
😂
Dok
rsync, это когда тебе надо ещё и права сдублировать и прочее, для всего остального есть with_filetree
Kane
rsync, это когда тебе надо ещё и права сдублировать и прочее, для всего остального есть with_filetree
хм интересно. а можно synchronize'ом замержить два сорца и двинуть в destination🤔
George
unzip есть
Может он не тот. Не ГНУ, а БСД
John
Парни, подскажите где почитать как ансиблом генерировать инвентарник из прометеуса?
Sergey
запрос сформируй подробнее что значит генерировать на основе чего может тебя вообще жинжа устроит
UglyKoyote
А что запрос через апи к прому? "GET /api/v1/targets" , "GET /api/v1/targets/metadata". На выходе "обычный" жсон, дальше уже делай что хочешь
Sergey
а, я кажись понял что ты хочешь ты не хочешь формировать конфиг прома, а хочешь из прома формировать инвентори ансибла(наоборот О _о)
Sergey
просто обычно делается наоброт ты хочешь формировать конфиг прома на основании file discovery consul discovery dns discovery etc.
Sergey
а какая цель вообще? почему такой способ? может есть лучше варианты
UglyKoyote
а как хосты про пром узнают?
Sergey
пром работает по пулл принципу, хосты просто пушат метрики в локальный порт а он скрапит с них данные
Sergey
то есть зависимость не от хостов а от конфига прометея
Sergey
node-exporter пушит в 0.0.0.0:9100
UglyKoyote
дык я про апи уже написал
Sergey
он не должен ничего из прома получать я тебе говорил
Sergey
IaC это ансибл а не пром
Sergey
ладушки, вобщем я понял что ты хочешь но думаю ты все делаешь наоборот Это не ансибл на основе конига прома должен строиться, а пром конфиг на основе инвентори ансибла Или если тачки виндовые и они в домене, можно собирать dns discovery и на основе этой инфе собирать конфиг прометея думаю сначала тебе надо понять какая вообще архитектура мониторинга и куда пушат(ли) хосты метрики, а дальше уже думать как надо все формировать
Sergey
¯\_(ツ)_/¯