Maksim
Так, и еще нужна ваша подсказка Как создать пользователя через ansible я нашел, а как ему присвоить nologin?
Maksim
sudo useradd -r minio-user -s /sbin/nologin Типа этого
Maksim
В доке не нашел
Max
- name: Added a consultant whose account you want to expire user: name: james18 shell: /bin/zsh groups: developers expires: 1422403387
Max
Не знаю чем ты искал... https://docs.ansible.com/ansible/latest/modules/user_module.html
Vlad
В доке не нашел
Параметр shell
Maksim
А причем тут expires ?
Maksim
ой
Maksim
понял, сорри
Maksim
Спасибо)
Max
Надо не экзамплы смотреть, а параметры в таблице
Max
Нз
Maksim
Хотя нет, стоп, не понял
Maksim
/bin/zsh это интерпретатор
Maksim
Мне нужен nologin
Maksim
Я чего то не понимаю видимо, можете объяснить?)
Dmitriy
shell: /sbin/nologin попробуйте
Maksim
shell: /sbin/nologin попробуйте
Заработало с /usr/sbin/nologin
Dmitriy
думаю это дистрозависимо, у меня fedora, но смысл понятен :)
Maksim
И еще один очень глупый вопрос Допустим я сделал файл конфигурации примерный, как мне его с помощью ансибла раскатать на удаленную машину?
Maksim
именно положить в нужную директорию
Sergey
именно положить в нужную директорию
https://docs.ansible.com/ansible/latest/modules/copy_module.html
Maksim
src: /localhost/etc/config dest: 192.168.1.1/etc/foo.conf
Maksim
так получается?
Sergey
src: /localhost/etc/config dest: 192.168.1.1/etc/foo.conf
copy: src: config dest: /etc/foo.conf Хост указывается в инвентори
Maksim
Хорошо, благодарю, буду пробовать
Alexander
Можно ли jinja2 использовать внутри переменной? А переменную в файле шаблона
Alexander
Что прости?
Можно ли jinja2 использовать внутри переменной? А переменную в файле шаблона
Alexander
Так лучше?)
Nikus
переменную формировать джинджой?
Alexander
Ну... переменная должна быть в vars/, но принимать разные значения (в зависимости от другой переменной, от признака хоста). А в templates конфиг, который формируется на основе этой переменной.
Alexander
Я роль datadog модифицирую чуть-чуть :)
Nikus
ну как вариант внутри шаблона переназначать переменную, но тут конечно ее дополнительные значения будут уже в шаблоне, либо динамически подключать переменные в ансибле. я так делал, но давно, а доступа к рабочему компу нет
Alexander
Внутри шаблона не хочу потому что: - Ломается обратная совместимость - Больше переписывать "Динамически подключать переменные" звучит как то, что мне нужно :)
Nikus
Завтра буду на работе и гляну как у меня было сделано, главное не забыть)
Sergey
Можно ли jinja2 использовать внутри переменной? А переменную в файле шаблона
Можно, но осторожно. У тебя в vars/<file>.yml может лежать конструкция вида: --- tmp_var: "{% set t = 'my_val' ~ other_var %}{{ t }}"
Alexander
Вот так не работает: process: init_config: instances: {% if role == 'http' %} - name: php_fpm pid_file: "/var/run/php/php7.3-fpm.pid" {% endif %} {% if role == 'http' %} - name: nginx pid_file: "/var/run/nginx.pid" {% endif %}
Alexander
Сделал так: Это предварительно: process_checks: http: - name: php_fpm pid_file: "/var/run/php/php7.3-fpm.pid" - name: nginx pid_file: "/var/run/nginx.pid" А дальше: process: init_config: instances: "{% if role %}{{ process_checks[role]|default({}) }}{% endif %}"
GithubReleases
ansible/ansible tagged: v2.8.4 Link: https://github.com/ansible/ansible/releases/tag/v2.8.4 Release notes: New release v2.8.4
Stan
Как установить ansible через rpm ?
Stan
На centos
Gleb
yum install ansible очевидно же
Dmitriy
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#latest-release-via-dnf-or-yumhttps://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#latest-release-via-dnf-or-yum
Dmitriy
Как установить ansible через rpm ?
выше ссылка, там можно скачать rpm иустановить локально, хотя установка через штатный пакетный менеджер более предпочтительная
Dmitriy
yum install ansible очевидно же
может вопрос о машине без доступа в интернет ?:)
Gleb
а какая разница?
Gleb
юм и локальные пакеты ставит
Gleb
localinstall не нужно писать
Gleb
rpm -i тоже делать не надо
Sergey
^^^ +100500
Dmitriy
тогда правильно будет yum install /where/rpm/is/ansible.rpm
Dmitriy
я так понимаю что человаек не знает где взять саму rpm для установки
Dmitriy
rpm -i тоже делать не надо
как по мне, то вообще все лучше ставить через yum
Sergey
Коллеги, добрый день! Подскажите пожалуйста как можно сделать в ansible такое действие. Если файл не существует то скопировать из темплейта, если файл существует и не менялся то простить таску, если файл существует и менялся то заменить его.
Sergey
Сам кусочек кода ) копирования темплейта у меня есть) и я понимаю что можно сделать проверку через stat , а затем сделать when, на таске которая копирует файл, но разве это будет работать если файл поменяется
George
Что значит "файл поменялся"?
George
Тебе как будто достаточно просто модуль template использовать. В нем эта логика уже реализована
Sergey
Я хочу скипать шаг)))
Sergey
Я понимаю что это и так работает)))
George
Внутри это модуля по идее эта логика уже реализована. Делать ее ещё поверх - масло масляное. К тому же, ансибл между запусками не сохраняет свое состояние
Sergey
Я просто подумал если буду скипать выиграю во времени )))
Gleb
Я просто подумал если буду скипать выиграю во времени )))
если у тебя есть проблемы с временем выполнения то они явно не в этом месте, включи профайл для выполнения тасков
George
Я думаю, что коллега прав в одном - темплейт реально не быстр
George
И копирование файла другим модулем реально может быть быстрее (не надо рендерить jinja etc). Но это трейдофф гибкости/удобности/выч.сложности Проблема в том, что ускориться, скажем, на порядок не получится. И вероятнее всего, что узкое место по скорости есть и в других (и скорее - в других) местах плейбука
Gleb
профайл сначала подрубить и посмотреть где реально медленно, я вот гарантирую что это не то место которое тормозит
George
Сейчас начнется разговор за митоген и пайплайнинг 😂
Timur
Хотите быстроты - юзайте immutable infrastructure
George
Хотите быстроты - юзайте immutable infrastructure
Медленно подготавливать, монструозный процесс, но когда все готово - да, время разворачивания инстанса == время его запуска из образа
Gleb
Сейчас начнется разговор за митоген и пайплайнинг 😂
ну митоген явно нужен не после попытки ускорить таску на несколько сотен миллисекунд