Vladislav 👻
в шаблоне стараюсь не закладывать default логику
Павел П.
Еще вопрос: в плейбуках есть поддержка регулярок или нужно с jinja знакомиться?
Из строки "Version: 1:0.22.2-b9-30" хочется только "0.22.2" оставить.
Павел П.
Vladislav 👻
ну так им надо же видеть, что и как можно сделать
cyber
Павел П.
Firestalk
version_compare в 2.5 стал просто version
Sergey
Господа изволят писать на башсибле :-D
Nklya
Tama
Добрый вечер всем!
Если есть кто использует Molecule( и в частности Testinfra) для тестирования ansible ролей - прошу помочь 🙂
Мне надо выбрать и протестировать с помощью Molecule созданный не с помощью Molecule докер контейнер.
(С помощью Molecule поднимается один(№1) контейнер(который изображает хост) - а затем из этого контейнера с помощью ansible через docker.sock на локалхосте поднимается второй контейнер(№2). Надо протестировать открыт ли порт в контейнере №2 с помощью Molecule)
Tama
https://gist.github.com/kobrikx/bc02a3de06093ef3719a6c8980457851
Tama
Dmitry
Ilya
Ilya
def test_name(host):
Ilya
И далее сам тест
Ilya
Это в самом питонячем тесте пишется
Tama
или сразу в test.py
Ilya
Tama
хм…Спасибо большое. Сейчас потестируем 🙂
Tama
Tama
*пытается тестировать его
Nklya
дефолтное значение убрано?
которое testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
Tama
в тесте?
Tama
testinfra_hosts = ['docker://openvpn']
def test_socket_listening(host):
host.socket("tcp://0.0.0.0:943").is_listening
assert host.socket.is_listening
Tama
Вот всё его содержимое
Tama
Tama
он тестирует все равно не тот контейнер(
Tama
А где хранится дефолтное знаечение?
Nklya
в test_default.py, который генерируется
Tama
Заработало!
Tama
ураа )
Tama
Спасибо 🙂
Womchik
а ansible тут причём?
manefesto
вот зачем грохнули то ?
manefesto
ну как зачем, вариант пройтись по всем машинка так себе вариант
manefesto
а тут прогнать плейбуком, вроде нормальный вариант
Anton
Коллеги, поделить опытом
https://toster.ru/q/577748
Vladislav 👻
А в чем вопрос? Точнее в чем альтернативный ответ?
Vladislav 👻
Руками каждый хост указывать?
Anton
дописал 2 уточняющих предложения. стало понятнее?
Vladislav 👻
Все равно не вижу альтернатив
Vladislav 👻
Могу предположить только деление на прод/стейдж максимум
Anton
Vladislav 👻
Не считал
Artëm
ребят, можно ли каким-либо образом хранить набор переменных с одинаковыми названиями, но разными значениями в одном файле? и выбирать нужный набор в зависимости от значения другой переменной?
Victor
Artëm
вроде того, или case как вариант
Artëm
Victor
Действительно, можно в зависимости от чего-то разные файлы с переменными инклудить
Павел П.
Добрый вечер)
Перечитал документацию - Docs » Variables и Docs » Filters.
Однако так и не понял общей логики.
Плейбук, завожу три vars - пустые строки
var1: ''
var2: ''
var3: ''
В task1 хочу записать значение в var1, в task2 - var2 ...
В task4 хочу эти var1 var2 var3 сравнить.
Ход мыслей программерский: в плейбуке определяю глобальные переменные, таски - как подпрограммы, в них операции с переменными провожу.
Однако внутри таска ни set_fact не могу сделать, ни значение var поменять, ни новые var завести.
Где-то я думаю не так) как логику понять-поменять?
Vladislav 👻
лучше всего забыть про изменение переменных, оно либо есть в структуре зависимостей vars, либо получаете значение через register
Павел П.
получаю через register, но с лишними деталями, которые отсекать приходится
Vladislav 👻
и в чем проблема тогда, не совсем уловил
Павел П.
register = "Version: 1:3.12.3-b4-189-release"
я его "укорачиваю" до "3.12.3" через regex_findall.
И не смог этот результат сохранить в каку-либо темповую переменную чтоб в другом таске вызвать.
Vadim
Vadim
если она нужна только для одного таска, то
- debug:
msg: "{{ updated_version }}"
vars:
updated_version: "{{ register | regex_findall(...) }}"
Павел П.
спасибо. Попробую еще раз)
Vadim
ℭ𝔞𝔯𝔯𝔬𝔩
Vadim
Artëm
Спасибо всем за советы, решил всё же разными файлами обойтись
Mik
Ребят кто подскажет как в таске для крона сгенерить рандомные минуты? тоесть рандом ограничен числами от 0 до 59
Womchik
Womchik
"{{ 60 | random }} * * * * root /script/from/cron"
# => '21 * * * * root /script/from/cron'
Mik
огромное спасибо
Павел П.
- name: foo
set_fact: ...
Спасибо большое!!!
Если разнести с shell по разным таскам то всё работает. Значение register: myvar сохраняется и между тасками)
Victor
Mik
у меня 250 машин, мне нужно генерить серты через апи, когда в раз 250 тачек в одно время туда идут половина получает 404.
Victor
404 какой-то идеологически неверный статус
Tama
Добрый вечер!
𝔹𝕠𝕣𝕚𝕤
Что-то вроде этого https://gist.github.com/nerzhul/ad2dc4c05d4b23132c64eb848a6be6d5