Vladislav 👻
или ансибл пишет, для чего он инклудит? что-то не обращал внимание, вроде просто пишет же, что инклуд и все
Vladislav 👻
Asten
Vladislav 👻
у меня он что-то даже не гуглится 🙁
Asten
я извиняюсь, а это у вас самописный какой-то модуль для кролика?
- name: Ensure users are present
rabbitmq_user:
user: "{{ item.user }}"
node: "rabbit@{{ rabbitmq_node_hostname }}"
password: "{{ item.password }}"
configure_priv: "{{ item.configure_priv|default('.*') }}"
read_priv: "{{ item.read_priv|default('.*') }}"
write_priv: "{{ item.write_priv|default('.*') }}"
vhost: "{{ item.vhost|default('/') }}"
permissions: "{{ item.permissions|default(omit) }}"
tags: "{{ item.tags|default('') }}"
with_items: "{{ rabbitmq_users }}"
no_log: true
tags:
- rabbitmq-user
Asten
https://docs.ansible.com/ansible/2.6/modules/rabbitmq_user_module.html
Vladislav 👻
ага, тоже через этот модуль делаю, почему-то у меня пароль на админа поменялся, но непонятно на что
Vladislav 👻
по старому паролю пишет: Not management user
по новому паролю пишет: Login failed
Alexander
А как можно использовать env в docker_container только если переменная container.env определена?
Alexander
Так не прокатило.
docker_container:
image: "{{ docker_repo_name }}:{{ docker_image_version }}"
name: "{{ container.name }}"
state: started
{% if container.env %}
env:
{% for env_var in env %}
- {{ env_var }}
{% endfor %}
{% endif %}
published_ports: "{{ container.ports }}"
pull: yes
recreate: yes
Vladislav 👻
кажется, я разобрался с rabbitmq, спасибо за наводку, я пропустил теги и апдейт_пассворд
Alexander
Нет, нельзя, жалуется, что не dict
Alex
Нет, нельзя, жалуется, что не dict
если открыть исходники модуля, можно увидеть дефолт значение, его и прописать в дефолт в таске(если конечно не на дефайн проверка в исходниках)
Alexander
Открыть исходники модуля. У - удобно.
Alex
Vadim
to_yaml может сработать
Sergey
Alexander
Причём тут, когда jinja
Tadeusz
ninja
Victor
lancia
/д
Alexander
env: "{{ container.env | default('{}') }}"
Alexander
В общем, так
Victor
Alexander
То есть, листы можно красиво типа
- VAL1
- VAL2
дикты передаются только так - "VAR1=VAL1,VAR2=VAL2" ?
Victor
Victor
dict:
some_other:
key: value
value_is_None:
one_more_list:
- item
- item
Alexander
Vladislav 👻
Хендлер вызывается в конце плейбука, а можно его как-то раньше дернуть?
Alexander
Только key=value, всё же
Victor
Alexander
вут?
key: value не взлетает. key=value взлетает.
Victor
matt
Alexander
Смотря куда
Ну в vars секцию playbook'а я пихаю.
Vladislav 👻
😔
Alexander
Смотря куда
+ там пробелов вокруг = не должно быть
Victor
$ cat ./test-dict2.yml
#!/usr/bin/env ansible-playbook
- hosts: localhost
connection: local
vars:
testdict:
a: aa
b: None
c:
tasks:
- debug:
msg: "{{ testdict }}"
$ ./test-dict2.yml
...
ok: [localhost] => {
"msg": {
"a": "aa",
"b": "None",
"c": null
}
}
...
Alexander
Vlad
Pavel
Vladislav 👻
спасибо, но выше рекомендовали так не делать, буду думать
matt
https://www.youtube.com/watch?v=1-lRS05NrLc
Vladislav 👻
я думаю проще воткнуть старт сервиса, чтобы провести последующую конфигурацию
Victor
Ты уверен что нужно запускать сервис *до* того как ты его настроил?
Pavel
Vladislav 👻
Alexander
Как получить ip хостов по тегу?
Alexander
tag_Name_mongoservers мне нужно получить в виде листа?
Alexander
Причём запускать на них мне ничего не надо.
Alexander
Из aws по тегу aws из dynamic inventory
Timur
А, это другой разговор
Timur
В ансибле есть модуль ec2_instance_facts
Timur
Там всю инфу по хостам сразу собирает
Timur
И оттуда фильтрами можно все выдернуть
Старый
кстати всё же странная обнова это 2,7
Victor
А вообще логично, пакетный менеджер не смог разрешить зависимости и покончил жизнь сепукку
Старый
Старый
он просто говорит - спасибо, пакет установлен
Victor
>"No package matching 'iostat' found available, installed or updated"
Старый
😂прикольно оказывается пакет удалили из репа неделю как
Victor
Anton
Меня одного напрягает, что файлы ansible.cfg не мёржатся, а просто заменяются? А то хотелось бы как-то объединять настройки проекта с настройками машины.
Victor
Alexander
Там просто большой json, и он индивидуальной для каждого хоста даёт инфу
Anonymous
я бы не спрашивал, если бы не пробовал сначала задать этот параметр 😄
imported_role/vars/main.yml:
ansible_user: someuser
ansible_ssh_pass: somepass
main_role/vars/main.yml:
ansible_ssh_private_key_file: /path_to_file
ansible_user: other_user
В итоге, когда происходит попытка вызова импортируемой роли строка соединения выглядит так:
SSH: EXEC sshpass -d10 ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o 'IdentityFile="/path_to_file"' -o User=someuser
Мне не нужен IdentityFile в данной роли
Victor
Ну может тогда не использовать зависимости ролей, а вызвать их из одного плейбука?
Timur
Что-то типа:
- name: GET instances list
ec2_instance_facts:
filters:
"tag:Name": '{{ inst }}'
register: ec2_sets
Pavel
Anonymous