Dmitry
и мне потом ее читать легко
Denis 災 nobody
но порой проще сначала грепнуть ) мало кто знает даже авк более чем {print $2}
Denis 災 nobody
а для посложнее есть перл
Dmitry
Dmitry
просто надо манить синтаксис
Dmitry
и иногда потом хрен прочти что этим авк было сделано сразу
Denis 災 nobody
не, средней сложности конструкцию читать легко.. писать сложнее
Lex
хай
Lex
поправил переменные в group_vars/all.yaml но плейбук юзает старые
Lex
притом только в одной роли блин
Lex
хотя нет, не в одной :(
Dima
может они у тебя в defaults написаны и это забыто? =)
Dima
там есть такая вот штука с 2.x - если прописал в role defaults что-то, ему насрать будет и на group_vars, и на host facts
In 2.x, we have made the order of precedence more specific (with the last listed variables winning prioritization):
role defaults [1]
inventory vars [2]
inventory group_vars
inventory host_vars
playbook group_vars
playbook host_vars
host facts
play vars
play vars_prompt
play vars_files
registered vars
set_facts
role and include vars
block vars (only for tasks in block)
task vars (only for the task)
extra vars (always win precedence)
Dima
(однажды незнание сего факта было для меня забавным и досадным факапом)
Dima
но мой факап решился тем что я всё определил в role defaults и у меня переопределения в итоге не было.
Dima
наоборот точнее, last listed winning. ему будет не насрать.
Pavel
> если прописал в role defaults что-то, ему насрать будет и на group_vars, и на host facts
судя по тому списку что ты привел все наоборот - role defaults имеют самую слабую силу
Dima
ага, я это и уточнил, их перебивает всё. но я стал писать переменные там и это сделало плейбук компактным и читаемым, лишний профит
Dmitry
а что, кто-то не писал role defaults ?
Lex
хм, пишу говнокод для разворачивания pgpool+master-slave, в ролях да, есть дефолты, и в group_vars/all.yaml они переопределены, больше нигде нет
Aleksey
на гитхабе видел живые роли на эту тему
Aleksey
те что от 2gis даже работали
Aleksey
и умели еще бекапитсо
Dmitry
https://github.com/alexey-medvedchikov/ansible-pgpool2
Lex
Я для тестов пишу, мне не для прода нужно, надо проверить, что наша софтинка может работать на pgpool-II с фейловером
Anonymous
Ansible, что дальше?
Anonymous
Можно ли через Ansible зайти в консоль например MySQL?
Dima
модуль есть
Anonymous
Отлично, какой?
Dima
# Create a new database with name 'bobdata'
- mysql_db: name=bobdata state=present
# Copy database dump file to remote host and restore it to database 'my_db'
- copy: src=dump.sql.bz2 dest=/tmp
- mysql_db: name=my_db state=import target=/tmp/dump.sql.bz2
# Dumps all databases to hostname.sql
- mysql_db: state=dump name=all target=/tmp/{{ inventory_hostname }}.sql
# Imports file.sql similiar to mysql -u <username> -p <password> < hostname.sql
- mysql_db: state=import name=all target=/tmp/{{ inventory_hostname }}.sql
Dima
http://docs.ansible.com/ansible/mysql_db_module.html вот к примеру
Anonymous
Это под MySQL
Dima
ну а ты и спросил под mysql
Anonymous
А что бы в консоль зайти? Это пример просто был
Dima
ну а в консоли то что хочешь? команду и вывод?
Anonymous
Я в консоль Астериск хотел зайти и посмотреть что там происходит
Dima
Mysql
mysql_db - Add or remove MySQL databases from a remote host.
mysql_replication (E) - Manage MySQL replication
mysql_user - Adds or removes a user from a MySQL database.
mysql_variables - Manage MySQL global variables
Anonymous
Подгрузиться в консоль как на сервере только через Ansible
Dima
ну модуля под астериск нету. можешь написать feature request :)
Dima
шеллом то можно же
- shell: asterisk -r “command”
Anonymous
Нужен бы конечно модуль что бы заходить в консоли)
Dima
но шелл в ansible - это ниочемная практика, потому что никакой надежности здесь не будет, так что решай сам, надо тебе это или нет.
Dima
asterisk -r “command” = rasterisk, значит можно что угодно сделать с астериском через ansible.
Dima
а точнее, пардон: -rx
Dima
asterisk -rx "logger reload"
Dima
- shell: asterisk -rx "logger reload"
Anonymous
Dima
угу, просто пример из документации
Dima
но ты спроси иначе. какую команду то выполнить надо?
Anonymous
такие команды можно же через -а делать
Dima
ну у тебя же есть asterisk? мне вот некогда разворачивать. -rx выполняет команду из шелла, шелл тебе доступен. а следовательно, ansible что угодно там сделает. осталось протестить и написать как оно :)
Anonymous
-rx да выполняет команду, но не заходит в Астериск
Anonymous
мне вот такая каманда нужна asterisk -rvvvv
Dima
тебе дебаг нужно с кучи астерисков собрать?
Anonymous
мне надо в один зайти, что бы не заходить через ssh на сервер, а потом заходить в консоль астериска (там можно тоже команды набирать и смотреть как проходят вызовы онлайн), а зайти через Ansible
Anonymous
ssh server -> asterisk -rvvv (и вот ты в консоле астериска)
Dima
ну тогда юзкейс целиком нужен. если допустить, что нужно ансиблом автоматизировать дебаг в астериске и по дебагу что-то ансиблом же и делать, то проблема эффективнее решается установкой snmp модуля на астериск и мониторингом нужного sip кода по snmp - спросил счётчик, узнал счётчик, принял решение что делать.
Dima
а что делать - уже ансиблом
Anonymous
ok
Dima
спроси в @ru_voip :) потом расскажешь
Anonymous
есть по Астериску чат, @asterisk_ru
Anonymous
но тут не в нем вопрос был
Dima
ну нету модуля ) напиши )
Dmitry
Тут просто опять людям нужен фабрик :)
Dmitry
Что поделать - привыкли руко... Эээ, рукодельничать.
Anonymous
Aleksey
Есть уже
Aleksey
ChatOps RU
https://telegram.me/chatops_ru
Denis 災 nobody
Dmitriy
Mihail
а почему не сделать просто
ssh server asterisk -rvvv ?
Mihail
чет тоже не догнал причем тут ансибл
Mihail
предствил как я делаю ansible-playbook -i inventory open_asterisk_console.yml -l asterisk_server вместо ssh asterisk_server
Denis 災 nobody
вероятно для поддержки "встроенного списка хостов"
Denis 災 nobody
но в целом бессмысленно, да
Dima
а если делать не шеллом типа - shell: asterisk -rx “command” - есть у кого идеи как можно красиво сделать? мне вот астериск ближайшее время не грозит, но есть в проекте.
Ivan
Свой модуль написать?
Dima
okay :D без модуля