Oleg
Sergey
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
Maksim
А причем тут expires ?
Maksim
ой
Maksim
понял, сорри
Maksim
Спасибо)
Max
Надо не экзамплы смотреть, а параметры в таблице
Max
Нз
Maksim
Хотя нет, стоп, не понял
Maksim
/bin/zsh это интерпретатор
Maksim
Мне нужен nologin
Maksim
Я чего то не понимаю видимо, можете объяснить?)
Dmitriy
shell: /sbin/nologin попробуйте
Dmitriy
думаю это дистрозависимо, у меня fedora, но смысл понятен :)
Maksim
И еще один очень глупый вопрос
Допустим я сделал файл конфигурации примерный, как мне его с помощью ансибла раскатать на удаленную машину?
Maksim
именно положить в нужную директорию
Maksim
src: /localhost/etc/config
dest: 192.168.1.1/etc/foo.conf
Maksim
так получается?
Maksim
Хорошо, благодарю, буду пробовать
Alexander
Можно ли jinja2 использовать внутри переменной? А переменную в файле шаблона
Nikus
Alexander
Что прости?
Можно ли jinja2 использовать внутри переменной? А переменную в файле шаблона
Alexander
Так лучше?)
Nikus
переменную формировать джинджой?
Alexander
Ну... переменная должна быть в vars/, но принимать разные значения (в зависимости от другой переменной, от признака хоста).
А в templates конфиг, который формируется на основе этой переменной.
Alexander
Я роль datadog модифицирую чуть-чуть :)
Nikus
ну как вариант внутри шаблона переназначать переменную, но тут конечно ее дополнительные значения будут уже в шаблоне, либо динамически подключать переменные в ансибле. я так делал, но давно, а доступа к рабочему компу нет
Alexander
Внутри шаблона не хочу потому что:
- Ломается обратная совместимость
- Больше переписывать
"Динамически подключать переменные" звучит как то, что мне нужно :)
Nikus
Завтра буду на работе и гляну как у меня было сделано, главное не забыть)
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
Gleb
а какая разница?
Gleb
юм и локальные пакеты ставит
Gleb
localinstall не нужно писать
Gleb
rpm -i тоже делать не надо
Sergey
^^^ +100500
Dmitriy
тогда правильно будет yum install /where/rpm/is/ansible.rpm
Dmitriy
я так понимаю что человаек не знает где взять саму rpm для установки
George
Sergey
Коллеги, добрый день! Подскажите пожалуйста как можно сделать в ansible такое действие. Если файл не существует то скопировать из темплейта, если файл существует и не менялся то простить таску, если файл существует и менялся то заменить его.
Sergey
Сам кусочек кода ) копирования темплейта у меня есть) и я понимаю что можно сделать проверку через stat , а затем сделать when, на таске которая копирует файл, но разве это будет работать если файл поменяется
George
Что значит "файл поменялся"?
George
Тебе как будто достаточно просто модуль template использовать. В нем эта логика уже реализована
Gleb
Sergey
Я хочу скипать шаг)))
Sergey
Я понимаю что это и так работает)))
George
George
Внутри это модуля по идее эта логика уже реализована. Делать ее ещё поверх - масло масляное. К тому же, ансибл между запусками не сохраняет свое состояние
Timur
Sergey
Sergey
Я просто подумал если буду скипать выиграю во времени )))
George
George
Я думаю, что коллега прав в одном - темплейт реально не быстр
George
И копирование файла другим модулем реально может быть быстрее (не надо рендерить jinja etc). Но это трейдофф гибкости/удобности/выч.сложности
Проблема в том, что ускориться, скажем, на порядок не получится. И вероятнее всего, что узкое место по скорости есть и в других (и скорее - в других) местах плейбука
Sergey
Gleb
профайл сначала подрубить и посмотреть где реально медленно, я вот гарантирую что это не то место которое тормозит
George
George
Сейчас начнется разговор за митоген и пайплайнинг 😂
Timur
Хотите быстроты - юзайте immutable infrastructure