Alexandr
Когда докручу - скину сюда)
[Timansky]Timur Kumakbayev
https://ru.m.wikipedia.org/wiki/YAML
Oleg
👍
Nikita
Всем привет, можете подсказать, у меня есть дикт формата { “xxxxxx”: [{val: 1}, {val: 2}, {val: 3}, {val: 4}] }. xxxxxx заранее не известен, это случайная строка. Как мне получить значение xxxxxx или как я могу получить значение val: 4?
Igor
Привет.
Igor
Подскажите по конструкции. Есть блок: - block: - name: task ..... - name: task ..... - name: task ..... Как сделать так, чтобы если какая-то таска зафейлится - не прерывать выполнение всего плейбука, а прервать выполнение только дальше идущих тасок в блоке?
Igor
@tnt4brain я знаю ты должен знать =)
Ждун
rescue/always?
Ждун
как try catch
Ждун
rescue если выполнится успешно в блоке, то плейбук должен продолжить выполнение
Артём
- hosts: apphosts tasks: - name: Check application availability command: /bin/app showmigrations --plan args: chdir: /appdir register: auth_available check_mode: false - name: Check unapplied migrations shell: «/bin/app showmigrations --plan | grep '\\[ \\]'" args: chdir: /appdir register: auth_new_migrations check_mode: false run_once: true - name: Apply migrations command: /bin/app migrate args: chdir: /appdir when: not ansible_check_mode and auth_new_migrations.rc == 0 run_once: true Что скажут блюстители чистоты истинного ансибла?
Mikhail
в жизни еще не видел ничего прекраснее
Mikhail
особенно кавычки «
Alexander
Мало шела и команд
Alexander
Мне кажется надо написать шел скрипт и вызвать только его
Артём
Кавычки пожевало телеграмом. Альтернативы шеллу, кроме «пиши свой модуль для джанго-приложений», есть?
Alexander
Будет 1 таск вместо 3
Артём
Затем, чтобы если надо будет это повторить на новых машинах для нового проекта, запуск ansible-playbook был единственным, что потребуется, кроме подготовки железа?
Артём
Абсолютно внезапно выяснилось, что всё уже написано до нас. - name: Run migrations django_manage: command: migrate app_path: … virtualenv: … И оно идемпотентно.
Max
:)
Max
https://pastebin.com/fk2NWUpM
Max
докер бежит, пользователь может делать все.
Max
торможу, учу молекулу.
Max
прикольно, хотя и не работает.
Max
нигде "no_log" не нахожу.
Timur
нигде "no_log" не нахожу.
Файл сценария молекулы в студию
Max
molecule.yml ?
Timur
Да
Max
defaultный.
Timur
Max
:)
Timur
Покажите
Max
I know I know nothing,
Max
:)
Max
--- dependency: name: galaxy driver: name: docker lint: name: yamllint platforms: - name: instance image: centos:7 provisioner: name: ansible lint: name: ansible-lint verifier: name: testinfra lint: name: flake8
Max
в статейке https://medium.com/@elgallego/molecule-2-x-tutorial-5dc1ee6b29e3
Max
чел добавил еще один instance, одноименный своей роли.
Timur
Сделайте так: dependency: name: galaxy driver: name: docker lint: name: yamllint platforms: - name: instance image: centos:7 provisioner: name: ansible log: True lint: name: ansible-lint verifier: name: testinfra lint: name: flake8
Max
ок. т.е. лог тру.
Max
слушай, не надо меня во множественном числе, пугаюсь я так.
Max
Hoorray!
Max
failed: [localhost] (item={'name': 'instance', 'image': 'centos:7'}) => {"changed": false, "checksum": "99bf425df595f9603d6b09e627a0c750b04c0ee4", "item": {"image": "centos:7", "name": "instance"}, "msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!"}
Max
:)
Max
np
Timur
Издержки воспитания и образования
Max
понимаю. тяжелый груз.
Timur
Timur
Нужны пакеты для selinux
Max
как говорится: если мн объясняют помедленней, я понимаю побыстрей.
Timur
libselinux-python нужон
Sergey
@tnt4brain я знаю ты должен знать =)
Да, я знаю, но тебе не понравится: не писать логику в плейбуке. Это - запрос на боль и страдания, не надо так.
Sergey
А как делать?)
Да по плану, в общем-то. Хочешь - приходи (подключайся) завтра к воркшопу, вот будет вполне реальный кейс, разберём.
Sergey
Как звучит задача, что именно ты пытаешься обойти?
Артём
Ну не надо так о людях, просто поменял пути, выкладывая код на общее обозрение.
Sergey
Ну не надо так о людях, просто поменял пути, выкладывая код на общее обозрение.
А, ок. Там просто обычно какой-нить {{ target_path }} стоит - и не болишь вовсе о путях 😉
Max
@tgadiev а где я указываю инвентарь молекулы "?
Max
у меня тут virtualenv
Max
а проблема с библиотекой не в нем, и не в ос, а внутри контейнера.
Igor
Как звучит задача, что именно ты пытаешься обойти?
Задача такая: 1. Есть таска, проверяет существование файла. Если существует, надо прервать блок и продолжить выполнение тасок вне блока (например заливку конфигов к другому ПО, которое может зависеть от этого блока.
Max
found.
Timur
Он самой молекулой формируется, если точнее
Max
под provisioner?
Timur
На основе сценария
Max
тогда пакет нужно добавить в докерфайл, получается.
Timur
тогда пакет нужно добавить в докерфайл, получается.
https://molecule.readthedocs.io/en/latest/examples.html#docker-usage-example
Timur
Ну, или сам докерфайл, да
Timur
А, не
Timur
Вы про selinux?
Max
da