Timur
Или в другой линкуксовый
Alex
срулил в туман
Myk
Здравствуйте! извините за вопрос нуба, но... Не подскажите куда посмотреть по поводу написания плейбуков с нуля (не скопировать-допилить готовый)?
Ждун
курс \ книга по ansible?
Myk
угу
Myk
или документация мне в помощь)
Igor
Да
В общем все ок массив собрался, не подскажешь как теперь сделать проверку что бы делался fail если какой-то state == 'stopped'
Ждун
официальная дока хороша
Igor
failed_when
У меня не получается массив перебрать и дернуть state из него =(
Igor
затупил, все понял спс
Alex
Ещё один тупой вопрос, как из словаря "/dev/drbd1": { "free_g": "0", "size_g": "35.00", "vg": "cl_vg" }, "/dev/sda2": { "free_g": "0", "size_g": "49.00", "vg": "centos" } вытащить free_g если vg == centos Пробовал selectattr, но он на списки действует. Через map и json_query тоже как то не осилил - debug: msg="{{ ansible_lvm.pvs | selectattr('vg', correct_lvm_path.split('/')[-1].split('-')[0]) | map(attribute='free_g') | list }}"
Max
Всем привет! народ, подскажите, как сделать слип между запуском одного таска пер хост. То есть выполнили команду на одном хосте, потом 10 секунд слип и эту же команду на следующем хосте.
Ждун
Вместо слипа использовать when?
Max
Вместо слипа использовать when?
как мне поможет when выставить время между запуском команды пер хост?
Alex
Или чередовать таски с использованием pause
Boris 🦍
Привет, подскажите, как без костылей вычитать кастомные переменные из /etc/environment ? без опции become перменные автоматом собираются в факты в ansible_env , но с опцией become переменной там нет.
Eugene
Вот только я не знаю какие там ключи, поэтому не могу указать /dev/sda2
- debug: msg: "{{ var['ansible_lvm.pvs']['/dev/drbd1']['free_g'] }}" when: var['ansible_lvm.pvs'][item]['vg'] == 'centos' with_items: "{{ var['ansible_lvm.pvs'] }}"
Eugene
ну или как-то так
Alex
ну или как-то так
Циклом только если отдельный set_fact сделать
George
https://github.com/dw/mitogen/issues/338
George
https://serverfault.com/questions/792314/why-does-ansible-a-env-return-a-different-environment-path-than-my-user
Sergey
https://serverfault.com/questions/792314/why-does-ansible-a-env-return-a-different-environment-path-than-my-user
Плюс если become_method = sudo, то нужно знать о поведении sudo: по умолчанию она сбрасывает для запускаемых команд всякие разные переменные, оставляя лишь небольшой список (защита от атак).
Sun
Господа, а есть способ без sed прописать в sudoers, что определенная группа пользователей может трогать руками, например, сервер postgress?
Myk
Сорри, думал что-то полезное
kevit
доброе утро, дамы и господа
kevit
кто-нибудь пользует molecule ec2?
kevit
нужен pip freeze из работающего окружения
Timur
нужен pip freeze из работающего окружения
Уточните вопрос, плиз. В чем именно проблема?
kevit
Не работает
Timur
Что не работает?
kevit
если вкратце async в модулях ансибла прибит к boto а не к boto3
kevit
но мне нужен чей-нибудь фриз рабочий чтобы попробовать именно с такими же версиями, иначе все это домыслы
Timur
Что именно не работает? Можете код и выхлоп дать?
kevit
" File \"/home/USER/.python_venv/molecule/lib64/python3.7/site-packages/boto/connection.py\", line 796, in proxy_ssl", " sock.sendall(\"CONNECT %s HTTP/1.0\\r\\n\" % host)", "TypeError: a bytes-like object is required, not 'str'"
kevit
код стандартный create.yml из ec2 сценария molecule
kevit
molecule init scenario --driver-name ec2 --role-name ansible-role-your-role --scenario-name ec2
kevit
create.yml
Timur
Откуда запускаете? Локально?
kevit
да
Ilya
Boto is a Python package that provides interfaces to Amazon Web Services. Currently, all features work with Python 2.6 and 2.7. Work is under way to support Python 3.3+ in the same codebase. ты на 3.7 из каких-то конкретных соображений пробуешь? на 2.7 запускать пробовал?
kevit
вот и хотелось посмотреть на рабочий фриз у кого-нибудь))
kevit
но видимо придется к python2 откатываться
Ilya
ну создай рядом 2.7 venv и прогони на нем
kevit
спасибо)
Ilya
та как бы не за что
Timur
Посмотрел, что по дефолту генерит молекула в сценарии на ec2
Timur
Ну, такое
Timur
Захардкоженный инстанс убунты шейпа t2.micro
Timur
Креды тоже захардкожены на убунту
Aleksey
Коллеги а что стратегии не побрубить через env?
Aleksey
Я попробовал ansible_strategy_plugin_path но нет
kevit
там вообще со сценариями шило то еще, в .rpm там обычно криво напаковано
Aleksey
Хочу не трогая репу попробовать митоген
Timur
Сейчас на 2.20 проверю
Timur
Хочу не трогая репу попробовать митоген
Не получится. Хоть на уровне плея, но стратегию нужно указать
kevit
2.20.1 RHEL все вроде ок
𝔹𝕠𝕣𝕚𝕤
Я попробовал ansible_strategy_plugin_path но нет
https://docs.ansible.com/ansible/latest/reference_appendices/config.html?highlight=ansible_strategy#envvar-ANSIBLE_STRATEGY_PLUGINS
Aleksey
Timur
Указать да. Но ещё путь надо. И это засада
Путь только в конфиге к плагину
Timur
2.20.1 RHEL все вроде ок
Посмотрел на 2.20.1
Timur
То же самое
Timur
- name: Create hosts: localhost connection: local gather_facts: false no_log: "{{ not (lookup('env', 'MOLECULE_DEBUG') | bool or molecule_yml.provisioner.log|default(false) | bool) }}" vars: ssh_user: ubuntu ssh_port: 22
Timur
Еще создание трешовой security-группы там есть
Timur
security_group_name: molecule security_group_description: Security group for testing Molecule security_group_rules: - proto: tcp from_port: "{{ ssh_port }}" to_port: "{{ ssh_port }}" cidr_ip: '0.0.0.0/0' - proto: icmp from_port: 8 to_port: -1 cidr_ip: '0.0.0.0/0' security_group_rules_egress: - proto: -1 from_port: 0 to_port: 0 cidr_ip: '0.0.0.0/0'
Timur
Инвентарь зарулен исключительно на public ip