Anonymous
только это надо плагин ставить
Aleksey
хы прикольно , видимо я не первый кто об этом задумался если таже такая статья есть.. так что докер компоуз вообще ненужен?
нужен вместе со свормом. но я не устану повторять что если у вас сворм, скорее всего это симптом профнепригодности
Anonymous
да я еще не осилил сворм я только учусь, может лучше куб
Aleksey
а есть обоснование? а то я тоже только начал изучать докер, любопытно.
технология не развивается. за ней нет ни людей ни денег. быстрое ревью репы с свармом полностью отвечает на вопрос нужно ли брать сворм
Игорь
Всем доброго дня, подскажите у меня есть массив ссылок как можно по нему создать каталоги, с созданием массива мне помогали так что я ещё хлебушек в этом )))
Игорь
Я подозреваю на get_url но там чёт не че либо я не так ввожу параметры
Игорь
А может так url: "'{{ переменная }}' in result" ?
Grek 🇺🇦
вопрос не понятен - что значит "создать каталоги по ссылкам"?
Игорь
У меня имеется ссылки несколько ссылок в 1 массиве чтобы не скачивать по 1 хочу понять как их можно все разом скачать чтобы каждая из них создавала свой каталог, по километровому башу я примерно понимаю, но это не то,
Div
get_url + loop ?
Игорь
Возможно не знаю попробую их добавить
Viktor
Всем привет ! Подскажите пожалуйста как правильно оформить синтаксис одной bash команды для playbook ? cat <<EOF | sudo tee /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF
Viktor
не могу эту команду "прописать"
Viktor
А нужно чтоб Ansible на тестовых машинах эту команду выполнил
Viktor
использую темплейт
ладно, пойду посмотрю. Спасибо
Jungo
Скажите пож-та в tepmate можно сгенерить шаблон таким образом? template: dest: "{{ dic1.color }}.sh" with_items: "{{ dic1 }} dic1: - color: black dic2: - desc: cool - desc: nice cat black.sh black is cool black is nice но если словарь dic1 имеет два значения: dic1: - color: black - color: white cat black.sh black is cool black is nice cat white.sh white is cool white is nice
Отделение Bereke Bank
Sergey
Салат из словарей, приправленных списками.
Jungo
Нет.
with nested тоже не пдойдет?)
Sergey
Какую задачу решаешь?
Jungo
Салат из словарей, приправленных списками.
да все так, решаю задачу генерации шаблонов для крона один план надо нагенерить для разных условий план хранится в одном словаре а условия в другом
Sergey
Ну у тебя всегда есть варианты, и их больше одного: 1. Страдать 2. Макрос для джинджи 3. Экшн-плагин для ансибла 4. Лютый говнокод на Ансибле.
Jungo
Ну у тебя всегда есть варианты, и их больше одного: 1. Страдать 2. Макрос для джинджи 3. Экшн-плагин для ансибла 4. Лютый говнокод на Ансибле.
1 я уже делаю 4 уже в процессе но не работает гляну на что-то внешнее - но хотелось конечно штатными средствами мне банально надо дампить базу данных на разные сервера - причем одну запись в кроне добавить и в ней перечислить обе команды дампа через && список заданий для дампа в одном списке а список серверов для дампа в другом списке я тогда подумал сделать wrapper скрипт - в нем перечислить все что нужно и его добавить уже в крон
Jungo
Нафиг? Занеси всё в один список и не боли.
вот спискословари не оч хочу их мешать
Jungo
получается надо 4 строки кода на выходе но в кроне только 2 строки
Jungo
Jungo
ну да, вот тут как раз не оч стандартное применение
Sergey
получается надо 4 строки кода на выходе но в кроне только 2 строки
Комбинаторика, да. 2x2. Но стоит, например, завести чуть больше (4x4, 4x10) - и сложность поддержки этой фигни резко улетает в космос.
Sergey
Всем привет: Не подскажите, как передать в вызов одной переменной значение из другой? Пример: - hosts: dc_nodes vars: nodes: foo: version: ver1.1 bar: version: ver1.2 tasks: - debug: msg: The version is {{ nodes.<type_of_node>.version }} !!! #type_of_node - это переменная в group_vars, которая может быть или foo или bar
Sergey
Может такая конструкция поможет: nodes[type_of_version]['version']
Огромное спасибо! действительно так заработало))
Jungo
Ну у тебя всегда есть варианты, и их больше одного: 1. Страдать 2. Макрос для джинджи 3. Экшн-плагин для ансибла 4. Лютый говнокод на Ансибле.
близок к варианту 4 - сделал wrapper для запуска и хочу через find найти их и добавить в крон через && ))))
Jungo
а нет ли такой штуки как дописка данных в результат выполнения template ? без его затирания?
Jungo
lineinfile/blockinfile
нет я имел ввиду то , что когда template начинает работать чтобы он не затирал содержимое dest результата выполнения шаблона - но наверное это глобальная настройка - это не оч хорошо
Jungo
ок - ладно продолжу изобретать ужасный код если кому интересно вот задачка в норм виде https://pastebin.com/wB5CF4YB вдруг идеи у кого-то будут
Sergey
сделал 4 ым способом!
Верил в тебя. Это самый лёгкий путь.
EndLessCat
А не подскажете приличный модуль/плагин для работы с железкой без питона внутри с простым ssh для подключения ?
Roman
А не подскажете приличный модуль/плагин для работы с железкой без питона внутри с простым ssh для подключения ?
Большинство модулей требуют питон. Как вариант, возможно это подойдёт? https://docs.ansible.com/ansible/latest/collections/ansible/builtin/raw_module.html#examples
EndLessCat
Нету, в том то и фокус
Sergey
Нету, в том то и фокус
Ну тогда придётся самостоятельно писать (вендору очень удобно, он уже получил своё бабло).
EndLessCat
Ну тогда придётся самостоятельно писать (вендору очень удобно, он уже получил своё бабло).
Вот я и сам об этом подумываю уже... Что как пример можно взять по проще ? По гелакси уже смотрел, но что-то там слишком много всякого лишнего...
Denis
Приветствую! Извиняюсь возможно за нубский вопрос
Denis
- name: Enable and start My Services systemd: daemon_reload: true name: myservice state: started enabled: true
Denis
почему в молекуле на индемпотентность не проходит тест ?
Grek 🇺🇦
daemon_reload: true?
Denis
daemon_reload: true?
Без daemon_reload: true тоже самое
Denis
Я в целом хочу понять, где-то мой косяк или это какой-то бэдпрактикс
Отделение Bereke Bank
почему в молекуле на индемпотентность не проходит тест ?
Значит твой сервис не стартанул Делай molecule converge потом molecule login и смотри почему
Denis
Да мой косяк был. Как обычно, после 70 минут дебага пишу в комьюнити, а потом после этого нахожу источник проблемы)
Denis
Ребята подскажите
Denis
Я как понимаю все тесты прошли успешно?
Denis
Да
спасибо
Denis
@pytest.mark.parametrize("socket", [ "tcp://8482", "tcp://8400", "tcp://8401", "tcp://8480", "tcp://8481" ]) def test_socket(host, socket): socket = host.socket("socket") assert socket.is_listening
Denis
корректный тест на tcp сокеты ?
Oleg
комрадз, может кто посоветует из своей практики: есть инвентарь с хостами, переменными хостов и группами: [all] server host01 var=true ansible_host=10.10.10.11 host02 var=false ansible_host=10.10.10.12 host03 var=true ansible_host=10.10.10.13 host04 var=false ansible_host=10.10.10.14 [host12] host01 host02 [host34] host03 host04 таска генерит шаблоны, которые всегда хранятся на хосте server и спец ПО на основе его взаимодействует со всеми хостами, но есть вариант установки, когда сервисы на всех хостах расположены на server и в таком случае, когда физически хостов не существует, то плейбук падает на ошибку о том, что не может законнектиться на хосты соответственно. Что можно сделать такого, что бы и группы хостов использовать, переменные хостов и в тоже время что бы шаблоны генерились на server? спасибо.
Vladislav 👻
Сделать две группы и плей под группы
Отделение Bereke Bank
Эмм просто {{ ansible_nodename | to_uuid }} ?
Oleg
Сделать две группы и плей под группы
типо 2 группы all, где одна с вариантом, где все хосты на разных машинах и 2я, где 1 физический и остальные на нем же?
Vladislav 👻
Типа того, только не all. All - все таки зарегестрированная группа
Dnzl
Всем привет!Подскажите какой модуль применить что скопировать все папки и вложенные папки с файлами на удаленный сервер. Использую with_fileglob но вложенные папки не не копирует(
Aleksei
synchronize?
Dnzl
нет.Спасибо понял что нужно его использовать
Dnzl
synchronize?
copy использовал
Oleg
Типа того, только не all. All - все таки зарегестрированная группа
но при запуске плейбука ансибл опять хочет на них по ssh попасть. Даже если делаю host04 var=false ansible_host=localhost