Denis
да
Timur
И никакой дополнительный ключ не нужен
Timur
- name: Synchronization of src on the inventory host to the dest on the localhost in pull mode synchronize: mode: pull src: some/relative/path dest: /some/absolute/path
Denis
спасибо
Denis
Спасибо
Alex
- name: Get master jfxr service id set_fact: ha_master_service_id: "{{ ha_health_result.json | json_query('nodes.*.services[] | @[?contains(node_id,'master')] | @[?contains(service_id,'jfxr')].service_id') }}" подскажите, а что тут не так с экранированием? При запуске получаю TASK [itests/jfxr : Get master jfxr service id] *** fatal: [app_master]: FAILED! => msg: 'template error while templating string: expected token '','', got ''master''. String: {{ ha_health_result.json | json_query(''nodes.*.services[] | @[?contains(node_id,''master'')] | @[?contains(service_id,''jfxr'')].service_id'') }}'
Alex
уже попробовал фильтр вынести в отдельную переменную - name: Set master filter set_fact: master_filter: "nodes.*.services[] | @[?contains(node_id,'master')] | @[?contains(service_id,'jfxr')].service_id" Все равно не работает TASK [itests/jfxr : Get master jfxr service id] *** fatal: [app_master]: FAILED! => msg: |- JMESPathError in json_query filter plugin: In function contains(), invalid type for value: itests-beb1-eplus, expected one of: ['array', 'string'], received: "unknown"
Artem
Alex
{{ nodes | string | contains }}
так contains это сущность json_query, я не могу вынести ее за пределы
Dmitry
Всем привет! Подскажите, неожиданно перестали выполнятся команды через sudo на ubuntu сервере. FAILED! => {"msg": "Incorrect sudo password"} По ключу из консоли входит нормально, пользователь от которого должны выполнятся команды прописан в sudoers на удаленном сервере. До этого все работало. Просто накатывал обновления.
Alex
> прописан в sudoers на удаленном сервере он может запускать команды без пароля?
Dmitry
Гм, а как проверить? Раньше, до возникновения проблемы пользователь не был прописан в sudoers, только пароль в hosts на управляющей машине.
Artem
Гм, а как проверить? Раньше, до возникновения проблемы пользователь не был прописан в sudoers, только пароль в hosts на управляющей машине.
у меня помню была такая проблема. помогло помимо ansible_ssh_pass явно указать ansible_sudo_pass или ansible_become_pass
Заур
Всем привет! Такой командой ansible -i hosts.txt all -m yum -a "name=wget state=installed" не получается установить wget. Ключи -b -K тоже не помогают. Как можно это сделать? Только начал изучать))
Заур
state=present
Не помогло. Говорит должен быть рутом
Никита
Не помогло. Говорит должен быть рутом
так у пользователя прав нет
Pavel
become=yes ?
Никита
лучше плейбуки пиши, а не Ad-Hoc дергай
Заур
лучше плейбуки пиши, а не Ad-Hoc дергай
Только начал знакомиться с ансиблом. Еще не дошел до плейбуков)
Lex
Ребят привет! Скажите...может кто сталкивался. я хочу ~невозможноного~ у меня есть список списков и я хочу в идеале получить уникальный набор списков без цикла... [ [ "1", "2", "3" ], [ "4", "5", "6" ], [ "1", "2", "3" ], [ "4", "5", "6" ] ] а на выходе холу получить [ [ "1", "2", "3" ], [ "4", "5", "6" ] ]
Lex
делал кто такое извращение...? смотрю уже не первый день на сайт http://jmespath.org/ но чет как то мимо смотрю (
Lex
Олимпиадное программирование на Ansible???
да нееет )) ребенку на уроке задали ))) шутка...попытка оптимизировать кое-что
Lex
Тут всё читал? https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html
ну там только есть по json_query....где ссылка как раз на http://jmespath.org/
Николай
А шо, простой unique не подошёл?
Lex
а как его заюзать для списка внутри списка...
Николай
Так надо, вроде, на первом уровне заюзать как раз
Lex
Так надо, вроде, на первом уровне заюзать как раз
Оо капец.... реально юник умеет в списки списков
Lex
спасибо огромное! работает )
Aleksey
коллеги поделитесь ванильными условиями в которых работает https://docs.ansible.com/ansible/2.8/modules/helm_module.htm всяко покрутил уже не омгу заставить его работать
Заур
Запускаю playbook и мне выдает ошибку Missing sudo password. Решил дописать при запуске --ask-become-pass изадавать пароль после чего все работает как надо. Так можно делать или есть другие способы избавиться от запроса пароля?
Заур
А так Ansible -i host -m shell -a "yum -y install wget" ?
Так я playbook запускаю, а не ad-hoc
Tadeusz
ansible -i inventory -m raw -a "yum install -y wget" host
A.Soroko
Так я playbook запускаю, а не ad-hoc
Так ты выполняешь шелл команду на хосте. Где там плейбук?
Заур
Так ты выполняешь шелл команду на хосте. Где там плейбук?
ansible-playbook --ask-become-pass -i hosts.txt playbook1.yml плейбук запускаю
A.Soroko
ansible-playbook --ask-become-pass -i hosts.txt playbook1.yml плейбук запускаю
Я отвечал на вопрос как поставить wget....
Заур
Я кстати попробовал так сделать. Ошибка. Требует пароль рута
A.Soroko
Я кстати попробовал так сделать. Ошибка. Требует пароль рута
Sudo ) для пользователя которым ходит ансибл
Заур
Sudo ) для пользователя которым ходит ансибл
Я задавал, но он мне хрень какую-то выдает, а потом все равно ошибку.
A.Soroko
Я задавал, но он мне хрень какую-то выдает, а потом все равно ошибку.
Не информативно. Пишите что задавали, и каков вывод ансибла. И с каким юзером ходит ансибл на хост или если задаете его в коммандной строке, то какой?
Denis 災 nobody
Сначала в доку, читать про become
A.Soroko
Сначала в доку, читать про become
Мож у человека проблемма с судо...
Заур
Любопытно, напиши хоть, как?
При запуске playbook добавляе в командной строке: --ask-become-pass. Он просит пароль после чего все работает без проблем.
Tadeusz
-K можно)
Артём
При запуске playbook добавляе в командной строке: --ask-become-pass. Он просит пароль после чего все работает без проблем.
А вариант прописать в ansible.cfg become_method=(su/sudo) become_user=(root, если su и надо в root) become_ask_pass=True чем не хорош?
Tadeusz
можешь в инвентарь прописать
Никита
лучше уж в инвентори пишите или в плейбук, извращенцы
Заур
А вариант прописать в ansible.cfg become_method=(su/sudo) become_user=(root, если su и надо в root) become_ask_pass=True чем не хорош?
Я только несколь часов занимаюсь изучение ансибла. Еще не дошел до этого)) спасибо за подсказку)
Никита
/etc/ansible/hosts [all:vars] ansible_connection=ssh ansible_user=admin ansible_ssh_pass=**** ansible_become=yes ansible_become_method=sudo ansible_sudo_pass=**** /etc/ansible/ansible.cfg host_key_checking = False
Артём
лучше уж в инвентори пишите или в плейбук, извращенцы
Если вся группа хостов, управляемая этим «репозиторием» (инвентори, плейбуки, requirements) использует единый метод эскалации - зачем выносить его в инвентори? Какое отношение конфигурация подключения имеет к инвентарю?
Никита
а зачем иметь несколько инвентори? разбил по группам и ок
Никита
для конкретных хостов и групп можно другие параметры там де указать
A.Soroko
можешь в инвентарь прописать
А почему не в ansible.cfg и положить его к плейбукам?
Tadeusz
ну хотя бы потому что не везде может понадобиться тот или иной функционал
Denis 災 nobody
Denis 災 nobody
видео - там курс на самом деле, ссылка только на первое, вообще их около 20
Заур
22 если быть точным.
Denis 災 nobody
"около".
Denis 災 nobody
и автор этого, того самого, доснимал вроде )
A.Soroko
ну хотя бы потому что не везде может понадобиться тот или иной функционал
Если репа для проекта/группы то я в ансибл.цфг пишу и кладу в корень репы.... В инвентори-изящно, но необычно ))
Ruslan
добрый день
Ruslan
подскажите пожалуйста как корректно передать пароль из ansible vault при создании пользователя?
Ruslan
так работает name: create admin user user: name: admin password: "{{ 'password' | password_hash('sha512', 'DvkPtCtNH+UdbePZfm9muQ9pU') }}" если указываю переменную из файла vault - не работает name: create admin user user: name: admin password: "{{ greenplum.password | password_hash('sha512', 'DvkPtCtNH+UdbePZfm9muQ9pU') }}"
Ruslan
password': \"{{ greenplum.password | password_hash('sha512', 'DvkPtCtNH+UdbePZfm9muQ9pU') }}\"}), and could not be converted to an dict.The error was: invalid characters in sha512_crypt salt