Aleksey
а как ставили? может он в папке /root лежит
Alexander
а как ставили? может он в папке /root лежит
Нет. Ставил через pip install, лежат по дефолтному пути
Nklya
В документации всегда пишут где должны быть модули. На мастере или управляемом хосте
Aleksey
скорей всего отличаются переменные окружения. смею предположить что это PATH
Alexander
А все, вы были правы. Для опеншифт нуден пакет requests, который уже был установлен из дефолтного пакета distutils,иззачего оьновить этот пакет не получается, и я установил этот пакет из прд юзера рут в рутовую диру. И все работало, а как начал использовать другого пользователя изза этого пакета писало что нету openshift. Спасибо
Alexander
Ещё раз о пользе запуска ансибла в контейнерах
Все на этапе формирования.) В итоге планируется либо статичный мастер хост ансибл, либо контейнер по требованию
Евгений
Добрый день. Есть минутка у кого? Пара концептуальных вопросов назрело.
Ilya
Добрый день! Пытаюсь подмонтировать папку при помощи Ansible. Вызываю на машине - все ок работает, через Ansible - нет(( Команда выглядит так: sshfs -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no username@server:/home/folder /home/folder
Ilya
В плейбуке просто при помощи модуля shell вызываю, при этом плейбук отрабатывает успешно, хотя и не монтирует директорию
Ilya
Команду типа выполнил, вернулся ноль ответом
Старый
https://github.com/geerlingguy/ansible-role-mysql/blob/master/tasks/secure-installation.yml вот эту штуку юзал кто?
Vitaly
Коллеги, подскажите, как зафорсить flush_handler, чтобы он исполнялся синхронно, и только приминительно к роли, а не ко всем ролям что были ранее+исполняются сейчас. У меня есть роли, где устанавливается экспортеры. т.е. скачивается бинарник, создается конфиг, настраивается systemd, и всё это делает notify restart service. и проблема в том, что я включаю несколько ролей подряд, и первая вызывает flush-handlers, и эти хендлеры выполняются *параллельно* с выполнением следующей роли. и хендлер тригерит следующую роль по середине её исполнения, что совсем не удобно, и всё падает (скажем, там systemd ещё нет и всё падает, не суть). кто-то сталкивался?
Ilya
А как поднять verbose для одного конкретного плейбука, который импортится?
Vitaly
А ты делаешь импорт роли или инклюд?
Мм, просто roles: - role: ... - role: ...
Vitaly
Хотя, кажется я понял куда копать. Спасибо, почитаю, вернусь
Nklya
https://medium.com/opsops/include-role-import-role-and-handlers-in-ansible-b32a5386a555
Игорь
кто там админ, уберите это)
Constantin
Ребят, подскажите пожалуйста. Есть такой хэндлер, но при запуске на && ругается. Причем раньше в других командах использовал && и все было ок, такая фигня только тут возникла.
Nklya
а если в shell?
Rasim
ошибка в конфиге?
Constantin
а если в shell?
Сейчас попробую, запускал через баш
Nklya
я про ансибл. Вместо command shell
Alex
ошибка в конфиге?
Окружения то нет. Command не сработает. Только shell module ansible
Constantin
Nklya, Alex спасибо, помогло избавиться от проблемы с &&
Fedor
там не только окружения, пайпов и аналогичных плюшек тоже нет
Alex
Там не везде можно достать из словаря.
Так ты в роли раскрой структуру в хостовые факты. Внутри роли, да словари не тема. Но для сервиса или всего проекта самое лучшее решение пока.
cent
Сейчас попробую, запускал через баш
shell: > nginx -t && nginx -s reload args: executable: /bin/bash
Alex
ты словари раскрываешь раньше чем оно начинает аффектить то что ты говоришь
cent
ты словари раскрываешь раньше чем оно начинает аффектить то что ты говоришь
Вспомнил. Нет мержа словарей. Т.е. если есть в конфиге envs/some/hosts.yml some_dict: some_val1: asdasd some_val2: asdasdasd И потом в extravars (или в ролях, или просто в vars) прилетает some_dict: some_val1: asdasdфывфыв То там уже не будет some_val2. Т.о. нельзя наследовать переменные, в зависимости от окружения
cent
можно выставить опцию мержа в ansible.cfg, хоть это и стремновато
Там наследование и переназначение этих переменных везде. Я не знаю, если честно, о существовании такой переменной. Но в любом случае, она все кейсы не покроет. Начиная от такого # vim: set et fenc=utf-8 ff=unix sts=2 sw=2 ts=2 —- - name: Define variables > Include OS-specific variables. include_vars: "{{ item }}" with_first_found: - files: - "{{ role_path }}/vars/{{ ansible_os_family }}.yml" skip: true И заканчивая наследование уже внутри дерева. Как по этой переменной ansible поймет что мержить, а что нет?
Nklya
Я говорю про мерж хешей. Что будет в твоем стремном примере я хз
Nklya
# if inventory variables overlap, does the higher precedence one win # or are hash values merged together? The default is 'replace' but # this can also be set to 'merge'. #hash_behaviour = replace
cent
Я говорю про мерж хешей. Что будет в твоем стремном примере я хз
Ну, вот я и говорю, что нехрен городить огород))) Нужно просто использовать аналог BEM да и все)
Constantin
Ребят, а если я хочу тригнуть конкретный (не все, а именно конкретный) хэндлер без тасков, есть такая возможность? Мне это нужно чисто в целях отладки хэндлеров
Constantin
https://stackoverflow.com/questions/40139757/ansible-playbook-directly-run-handler - ну, первая же ссылка в гугле))) Стыдно, товарищи, стыдно!)
Я ее видел, не хотелось вносить изменения в сам плэйбук, а --force-handlers тригает все Что-то вроде start-at-task искал
Artem
Всем привет. Вопрос. Есть два хоста win linux. При выполнении степа степ делегируется машине linux - name: Stop shell: | docker-compose stop args: chdir: "{{ office.workdir }}" when: docker_compose_file.stat.exists deletgate_to: 0.0.0.0 ignore_errors: true выолняется на ней благополучно, но также пытается выполнится на виндовой. и сыпет простынь error [WARNING]: FATAL ERROR DURING FILE TRANSFER: fatal: [1.1.1.1]: FAILED! => {... Как это победить можно?
Aleksey
господа а поле serial не темплейтится что ли ?
Aleksey
чот я опять наткнулся
Artem
Спасибо! Починил!)
Tadeusz
Artem
deletgate_to != delegate_to
Artem
Опечатка, ansible в логе писал что ниче не знает о deletgate_to и пытался колбасить колбасить на все хосты. Т.е. пошел бы и на другие если бы смог.
Ilya
raw
Неа, не заработало
Bugaychuk
Спасибо терминатор))
Artem
Спасибо терминатор))
Олег или Ольга ?
manefesto
Без фото не понять
Bugaychuk
Олег
Div
Вещяя Олега
Vadim
Вешая Олега
Aleksey
The conditional check 'ansible_os_family == 'RedHat'' failed. The error was: error while evaluating conditional (ansible_os_family == 'RedHat'): 'ansible_os_family' is undefined
Aleksey
да как так то ?
Aleksei
факты собрал?
Aleksey
:)
Aleksey
спасибо да. как раз тестирую без них :)
Aleksei
зачем?
быстрее
Womchik
быстрее
а кэш для чего?
Alex
Aleksey
смешно. при высокой la получаю timeout на эскалации привелегий
Alex
смешно. при высокой la получаю timeout на эскалации привелегий
я раскрою тайну. Собирай факты раз в день и клади их файликами. Или клади в редис. Всё лучше чем будучи админом этого канала писать, то что у тебя выше.
Alex
это ci. машины одноразовые. спасибо за тайну.
retry_files_enabled = False fact_caching = yaml fact_caching_connection = "~/.ansible/fact_cache"
Alex
тогда в любом случае без фактов, работать с ансиблом не комильфо
Alex
как это поможет ?
вырубать факты можно только если они уже собраны.