Sergey
Игорь
просто не увидел , что я спрашивал про старую версию... а этот модуль в 2.9 по другому называется и сразу не сообразил спс за помощь
George
какой вопрос - такой ответ
George
xyproblem.info
Dmitriy
Не надо так
а как вы бы поррекомендовали ?
Timur
а как вы бы поррекомендовали ?
when: not nginx_reload['results'][0]['failed']
Aleksandr
А вопросы по молекуле сюда можно задавать? как заставить линтер игнорировать правило CommandsInsteadOfModulesRule?
George
А вопросы по молекуле сюда можно задавать? как заставить линтер игнорировать правило CommandsInsteadOfModulesRule?
можно. по второму не знаю. но скорее всего проблема должна легко решаться
Aleksandr
я использую shell: yum ... на что молекула ругается.
Aleksandr
Можно ответить на заданный вопрос, а не выяснять зачем я что-то делаю?
Timur
Можно ответить на заданный вопрос, а не выяснять зачем я что-то делаю?
Не, помогать говнокодить настроения нет. Вы либо сами понимаете, что делаете (и тогда советы вам не нужны), либо не понимаете - и тогда неплохо бы уточнить то, что спрашивают
Dmitriy
when: not nginx_reload['results'][0]['failed']
спасибо, протестирую в понедельник и напишу
Dmitriy
when: not nginx_reload['results'][0]['failed']
работает, спасибо. Не дало бы мне это все выходные покоя )
Aleksandr
Не, помогать говнокодить настроения нет. Вы либо сами понимаете, что делаете (и тогда советы вам не нужны), либо не понимаете - и тогда неплохо бы уточнить то, что спрашивают
вот ты говоришь не говнокодить. оно мля не работает даже с отключенными репами, что предлагаешь делать если такой умный?
Dmitriy
нет
https://rtfm.co.ua/en/ansible-check-if-a-package-installed-on-a-remote-system/ это не ваш вариант ?
Aleksandr
не совсем, я хотел бы ставить rpm пакеты и удалять пакеты с помощью модуля yum. для обоих операций ему зачем-то нужен интернет, хотя по факту не нужен.
Aleksandr
соответственно чтобы это хоть как-то работало я сделал через shell. ибо видимо я лучше знаю что мне нужно и мнение модуля здесь расходится с моим.
George
George
вот это не работает
Ilia
ATTENTION: Хочу странного! Подскажите, пожалуйста, если возможность вытащить из роли набор используемых переменных. Зачем: для защиты от дурака - запускать претаск, который заранее бы выдавал ошибку если хоть какая-то переменная не определена. И естественного хочется один претаск для всех ролей
Ilia
Ну дефолты есть в ролях так-то. Падай на них, например.
Согласен, но некоторый набор переменных хочется оставить на усмотрение того, кто будет конфигурировать. К примеру выбор репозитория в разных командах. Но так как людям будет дан выбор, то хочется и защиту встроить, к примеру, если сам, как дурак, забыл что и где
Ilia
И как дефолты мешают переопределить переменную?
Можно. Не всегда есть понимание что засунуть в дефолт. Решу вопрос требованиями в документации. Спасибо
inqfen
Норот, напомните плиз, какой модуль ansible-vault для шифрования юзает? Если у кого-то ссылка в код волта есть буду совсем признателен
inqfen
А то на гитхабе чот долго искать(
Timur
https://github.com/ansible/ansible/blob/devel/lib/ansible/parsing/vault/__init__.py
Sebor▂▅▇█▓▒░
подскажите, есть ли способ скачать ансиблом всю директорию из s3 бакета за раз? (аналогично модулю s3_sync, только для закачки)
Kirill
Добрый день! Подскажите, как в Ansible скопировать содержимое файла (уже лежит в files) на удалённую машину и дописать в конец определённого файла? Пытаюсь через blockinfile, но не могу понять как правильно указать источник.
Aleksey
Ребята, подскажите, как вы предпочитаете поступать с зависимостями ролей. Простой пример: есть nginx, и есть 2 статических сайта, которые доступны по location: /publiс и /admin. Есть группа public, есть группа admin, конкретный сервер может хостить только public или только admin или оба сразу. Варианта реализации вижу как минимум 2: 1) общая роль webserver, которая будет устанавливать nginx и создавать конфигурацию в зависимости от вхождения хоста в группы. 2) сами группы public и admin должны подсовывать nginx-у свои кусочки конфигурации и отправлять сигнал на его перезагрузку.
Kirill
Aleksey
template умеет append’ить?
вы делаете шаблон, в котором указываете содержимое вашего файла, вконце подставляете переменную, например: ....filecontent {{ variable }}
Aleksey
вам нужно установить значение переменной variable
Aleksey
она и запишется в конец файла
Kirill
вы делаете шаблон, в котором указываете содержимое вашего файла, вконце подставляете переменную, например: ....filecontent {{ variable }}
Не совсем понял. Я делаю шаблон input.j2 с содержимым Line1 Line2 Line3 {{ variable }} В таске: template: src=input.j2 dest=/path/output.txt И где-то в vars присвоить variable: “/path/output.txt” Я правильно понял?
Aleksey
откуда у вас берется значение котороне нужно добавить в конец?
Kirill
откуда у вас берется значение котороне нужно добавить в конец?
Текст из input.txt расположенного на сервере с Ansible нужно дописать в конец файла /path/output.txt на удалённой машине Текст вписывается в файл input.txt руками.
Aleksey
записываем в переменную с именем variable содержимое файла
Aleksey
потом можете вставлять ее в шаблон
Aleksey
путь задается относительно вашего inventory файла
Kirill
путь задается относительно вашего inventory файла
Спасибо за подсказку. Проблему решил всё-таки через (вдруг кому пригодится) blockinfile: dest: “/path/output.txt” block: “{{ lookup(‘file’, ‘input.txt’) }}” insertafter: EOF input.txt поместил в roles/имя_роли/files/
Aleksey
так тоже можно
Aleksey
но перед этим у вас есть copy?
Aleksey
аа, я думал что вы его сначала копируете
Kirill
Это задача по добавлению новых записей в pg_hba.conf на удалённых машинах с PostgreSQL
Aleksey
# PostgreSQL Client Authentication Configuration File # =================================================== # # See: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html {% for client in postgres_hba_entries %} {{ client.type }} {{ client.database }} {{ client.user }} {{ client.address|default('') }} {{ client.ip_address|default('') }} {{ client.ip_mask|default('') }} {{ client.auth_method }} {{ client.auth_options|default("") }} {% endfor %}
Aleksey
Это задача по добавлению новых записей в pg_hba.conf на удалённых машинах с PostgreSQL
потом переменными: postgres_hba_entries: - { type: local, database: all, user: all, auth_method: trust } - { type: host, database: all, user: all, address: '127.0.0.1/32', auth_method: md5 }
Aleksey
вдруг пригодится
Отделение Bereke Bank
вдруг пригодится
Спасибо. Но имхо проще сделать 0.0.0.0 и открывать нужным на файрволе
Sebor▂▅▇█▓▒░
Нет, только отдельными файлами. Директорий в S3 нет как класса
Да, про директорию я знаю, просто для упрощения написал) Блин, печально, что за раз нельзя
Aleksey
Спасибо. Но имхо проще сделать 0.0.0.0 и открывать нужным на файрволе
файервол не позволит ограничить доступ на уровне пользователей например или на уровне бд
Timur
А выделить файлы условной директории и пройтись по ним циклом вполне можно
Sebor▂▅▇█▓▒░
Это вообще нельзя. S3_sync тоже пофайлово делает
это я тоже понимаю) просто там все в одно есть (в том числе можно префикс задать) ну придется цикл городить
Aleksey
Ребята, это нормальная практика, когда роль опирается на вхождения хоста в группы и в зависимости от этого, например, формирует шаблон?
Aleksey
Нет.
А как быть, если нужно, например, добавить в конфигурацию nginx-а какие-то location-ы в зависимости от вхождения хоста в группу?
Alex
можно if в template использовать
Fidelina
Приветы, я уверена, что вы знаете правильный ответ
Fidelina
при установке была выставлена одна переменна, сейчас она переопределена, но всеравно подтягивается значение прежнее
Fidelina
вот как сейчас
Fidelina