manefesto
столкнулся тут с массивами в переменных vars: mysql: login_user: root login_password: test databases: - db1 - db2 собственно говоря в плейбуке делаю так - name: backup database to db_{{timestamp}} mysql_db: login_user: "{{mysql.login_user}}" login_password: "{{mysql.login_password}}" state: dump name: "{{item}}" target: "{{backup_folder}}/{{item}}.sql" loop: " {{mysql.databases}}" а он меня шлет
manefesto
поменял loop на with_items и полетело
manefesto
спасибо всем
Cloned
Howdy! I create users using Ansible in Ubuntu 1604, when i log in with the newly created user, the folders called ".config" and ".dbus" are owned by root for some reason
Cloned
- name: "Create new developer user account" become: True become_user: root user: name={{ new_username }} skeleton="/etc/skel" shell=/bin/bash createhome=yes groups=adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare append=yes
Cloned
this is how i create the users, can't for the life of me figure out why it makes only those two folders as root:root.
Cloned
ansible 2.4.3.0 config file = /etc/ansible/ansible.cfg configured module search path = ['/home/majo/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3.6/site-packages/ansible executable location = /usr/bin/ansible python version = 3.6.4 (default, Jan 5 2018, 02:35:40) [GCC 7.2.1 20171224]
manefesto
@Clonedpirate bro, this is russian spoken channel
Cloned
@Clonedpirate bro, this is russian spoken channel
@Really? Cant seem to find a english one then, i can use googel translate from now on, my russian is pretty bad (not working at all)
manefesto
йобана рот
Alexander
И через файл тоже?
ммм? расскажи, плиз, тупенькому, как через файл сделать?
Anonymous
https://www.postgresql.org/docs/9.3/static/libpq-pgpass.html
manefesto
вроде как можно переджать в переменных окружения
Tadeusz
Зачем 9.3, когда есть 10? Сорян за оффтоп
Alexander
https://www.postgresql.org/docs/9.3/static/libpq-pgpass.html
я совсем тупой :) прям вообще. не понимаю я, как этой ссылкой можно воспользоваться. покажи, плиз, пример
Anonymous
Лол
manefesto
Небезопасно
чо это ? генеришь файл, запускаешь свой таск грохаешь файл
Alexander
Лол
и такие есть, а ты думал!
Anonymous
чо это ? генеришь файл, запускаешь свой таск грохаешь файл
Там в доках к вариаблям написано почему PGPASSWORD нежелательно
Alexander
пгпассворд тоже не прокатил, - показывал же выше. может, я синтаксически что-то не так делал
manefesto
можешь пример показать?
покажи что надо сделать
Alexander
сек
bebebe
https://stackoverflow.com/questions/37930895/specify-postgresql-passwords-in-ansible-playbook ?
Alexander
vars: postgresql_databases: - name: db postgresql_users: - name: user_db password: cdba1 microservice_name: web microservice_desc: web Portal microservice_user: "{{ web.user }}" microservice_exec: dotnet Paragon.Microservices.EvidenceStore.WebApp.dll microservice_workdir: "{{ web.home_path }}" microservice_confdir: "{{ web.config_path }}" - name: Copy template sql script template: src="../../templates/dsgvo/init_db.sql.j2" dest="/usr/pgsql-9.6/bin/init_db.sql" - name: Execute sql script shell: "psql -d db -u user -f /usr/pgsql-9.6/bin/init_db.sql" environment: PGPASSWORD: "{{ postgresql_users[0].password }}"
manefesto
ооо.переменные, точно
Alexander
export!
Anonymous
{{ postgresql_users[0].password }} как это в инвентаре описано?
Anonymous
А вон виде сверху)
Alexander
{{ postgresql_users[0].password }} как это в инвентаре описано?
никак, оно ж выше из варсов берёт
Anonymous
Смущает одно
Anonymous
Почему перед пассаорд нету черты
Tadeusz
в постгре есть pg_hba/pg_ident…
Alexander
в постгре есть pg_hba/pg_ident…
а как этим воспользоваться?
manefesto
postgresql_users: - name: user_cbdocs password: cdba1
manefesto
вот тут нет
manefesto
это же типа массив
manefesto
эээ
Tadeusz
# TYPE DATABASE USER ADDRESS METHOD local all zabbix ident local all postgres ident map=supervisor local all all password host all all 127.0.0.1/32 password host all all 0.0.0.0/0 password
manefesto
а чо не postgresql_users: name: user_cbdocs password: cdba1 и environment: PGPASSWORD: "{{ postgresql_users.password }}"
Anonymous
это же типа массив
Должна быть или нет?
Alexander
эээ
дефиса? в любом случае, он выдаёт ошибку, в которой понятно, что он понимает, что есть такое postgresql_users[0].password
Anonymous
Если так то UNBELIEVEABLE
Anonymous
А тут кстати пишет, что опцию -u не схавал, попробуй так же, только вместо неё PGUSER вариаблю передать
Anonymous
Если на -d ругаца будет, то просто psql database_name
Me
парни, как-то можноу указать минус одну группу из all ? groups.all
Anonymous
я ему пользователя тут неправильно передал, дурак
Воспринимать как обращение или списать на неграмотность?)))😂
bebebe
парни, как-то можноу указать минус одну группу из all ? groups.all
all:!somegroup http://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html
Me
all:!somegroup http://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html
{% for host in groups.all:!opentsdb %} тут не канает (
Me
В роли использую такую конструкцию
Me
в темплейте не рабит
bebebe
в темплейте не рабит
запустите этот темплейт с нужными группами?
Me
слшиком много (
bebebe
слшиком много (
тогда проверяйте таким способом {% for host in groups.all:!opentsdb %} {% if host in not groups['opentsdb'] %} ....
bebebe
идея! Спасибо
вы только в следующий по другому описывайте свой вопрос, что бы я не гадал, что вам именно в темплейте нужно использовать
bebebe
и да, при таких телодвижениях настоятельно советую использовать 2.5.0.0, там была проведена БОЛЬШАЯ оптимизация по работе с переменными в темлпейте. на 2.4.x у меня генерация темплейта пробегающего по всем группам занимала от 3 минут, в 2.5, около 15 секунд
bebebe
https://github.com/ansible/ansible/issues/33259
Alexander
вдруг кому понадобится. сработало вот в таком виде: - name: Execute sql script shell: 'PGPASSWORD={{ postgresql_users[0].password }} psql -d db -U user_db -h localhost -f /usr/pgsql-9.6/bin/db.sql'
Matvey
Всем привет, кто нить реализовывал параллельный деплой на разные хосты, разные роли. к примеру, 5 хостов - 5 ролей. Сейчас все выполняется последовательно. А хочется все и сразу.
manefesto
http://docs.ansible.com/ansible/latest/user_guide/playbooks_async.html
manefesto
https://medium.com/@ibrahimgunduz34/parallel-playbook-execution-in-ansible-30799ccda4e0
Matvey
да, как то нативно не получается, можно одну роль на несколько серверов ставить, или несколько ролей на один сервер
Matvey
получается несколько плейбуков делать надо с одной ролью
Sergey
всё уже придумано до нас