Oleg
Руками команда пинг работает?
кстати да, с виртуалки тестирую, не работает. Спасибо
Oleg
пытаюсь запустить опенвпн, выдает ошибку. Смущает то, что в логах мелькает ansible
Igor
у тебя сервер называется ansible
Andrey
Товагищи, приветствую. Немного застрял на секции gatewayed. Этот момент освещается в FAQ в документации, но мутновато. У меня забанен айпишнек и машина не доступна через ssh. Хочу обойти это и получить доступ через другой хост. В FAQ описан этот момент, как я понимаю, нужно создать group_vars/gatewayed.yml и туда вписать: ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q user@хост.через.который.я.буду.прыгать.com"' Затем в хостах я прописываю отдельную группу: [gatewayed] foo ansible_host=192.0.2.1 bar ansible_host=192.0.2.2
Andrey
НО. Что означает foo/bar? Что прописывать в ansible_host?
Andrey
В документации никаких пояснений нет, а в интернетах все копируют этот кусок также без пояснений. Пробовал вместо foo/bar прописывать хосты, которые будут прыгать через указанный в gatewayed.yml, но в плейбуках это не учитывается
Vitaly
Так а не проще в .ssh/config это прописать?
Vitaly
У меня так и поописанно через промежуточный хост, ну и да, proxyjimp проще и удобнее чем proxyhost
Vitaly
Там еще и цепочки можно строить
Andrey
Так а не проще в .ssh/config это прописать?
Да, уже разобрался, спасиб :)
Andrey
То, что описано в FAQ в доках Ansible так и не заработало. Заработал только вариант с указанием прямо в настройках хоста: ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q root@проксихост"'
Vitaly
Проще уже по моему всеже в config
Andrey
Но уже настроил именно в ssh/config
Vitaly
Ну и да, jump удобнее
Vitaly
Особенно если надо через 2-3 хоста пройти
Andrey
Да, не догадался сразу решать это в обход A
Vitaly
ssh -J host1:2258,host2:2299 target
Denis
Всем привет Уже сломал себе весь мозг не могу правильно придумать структуру данных и обработать ее Задача: Нужно настроить сайты на IIS веб-сервере (Windows). У каждого сайта есть несколько разных биндингов, в том числе и на HTTPS Все это нужно скормить модулю win_iis_webbinding https://docs.ansible.com/ansible/latest/modules/win_iis_webbinding_module.html Но перед этим нужно еще импортировать ssl в windows https://docs.ansible.com/ansible/latest/modules/win_certificate_store_module.html А потом для нужного сайта проставить правильный certificate_hash
Sergey
Сейчас прочитал, и подумал: это чат про заббикс?!?!
Про то, какую структуру данных выбрать для IaaC через Ansible применительно к виндовому софту.
Артём
Омг, как хорошо не работать с виндой...
inqfen
вообще для винды куда удобнее dsc юзать
inqfen
ансибл хоть винду и поддерживает, но для галочки скорее
Sensiduct
Зочем ты это знаешь(((
Aleksey
Как же у меня подгорает от того что все генераторы доки в том или ином виде сломаны. И сломаны по тупым причинам.
Dr. L.S.Dee
Зочем ты это знаешь(((
Ну... Зато DSC дисциплинирует. Не то чтобы совсем не дает наворотить императивщину и баш пошсибл, но это очень рано принимает такие уродливые формы, что ты, испуганно перекрестясь, закроешь вкладку без сохранения и постараешься все же найти подходящий модуль... или оформить вот эту хрень как положено.
Anton
Привет Подскажите, пожалуйста, как можно организовать цикл с двумя переменными так, чтобы он забирал данные из var файла Вот так работает: - name: Clone a repo "{{ app_repo }}" git: repo: "{{ item.0 }}" dest: /var/www/api/{{ item.1 }}/ depth: 1 accept_hostkey: yes clone: yes loop: - { repo: 'app_repo1', app: 'app_name1’ } - { repo: 'app_repo2’, app: 'app_name1’ } Но нужно чтобы репу и app_name можно было указывать таким образом в var: apps_repo: - git@example.ru:xxx.git - git@example.ru:yyy.git apps_name: - xxx - yyy
Anton
Пробовал вчера. Не получилось. Благодарю, еще раз попробую 🙂
Lamobot
Пробовал вчера. Не получилось. Благодарю, еще раз попробую 🙂
Проверьте, как работает zip фильтр. Может где-то в нём ошиблись.
Anton
Ага
Konstantin
Доброго дня. Подскажите как не выполнять handlers после рестарта сервера?
Ruslan
Коллеги, один из модулей vmware использует ключ в качестве значения, то есть: ext_net_to_participated_subnet_with_ip_settings: EXT-MAIN-NET-10.20.252.0[22]: 10.20.252.1/22: "{{ item.ext_net_tenant_pool }}": Как в "ключ" подставить переменную?) ext_net_to_participated_subnet_with_ip_settings: { "EXT-MAIN-NET-10.20.252.0[22]": { "10.20.252.1/22": { "{{ item.ext_net_tenant_pool }}" } } }
Ruslan
то есть в результате у ext_net_tenant_pool не должно быть значения :(
Ruslan
еще раз если плохо объяснил))) нужно сделать вот так: - name: some play some_module: "{{ KEY }}": None но переменная в ключ не подставляется :)
Sergey
еще раз если плохо объяснил))) нужно сделать вот так: - name: some play some_module: "{{ KEY }}": None но переменная в ключ не подставляется :)
Потому что это так не работает. ломается на этапе загрузки YaML, когда читается вместо ключа какая-то фигня. Вернее, фигня и становится ключом.
Sergey
Переделай структуру данных.
Igor
/help@ansible_ru_bot
Sergey
/help@ansible_ru_bot
Здесь такого нет.
Igor
Igor
Странно
Sergey
/help@ansible_ru_bot
Sergey
Сломан/отключен/потрачен. Это же всегда чьи-то мощности.
Sergey
Время такое.
Denis 災 nobody
Denis 災 nobody
это к @vrutkovs
Konstantin
Доброго дня. Подскажите как не выполнять handlers после рестарта сервера?
если что используется модуль reboot, а не ручками )) но вопро можно упростить: можно ли как то отменить отработку хэндлера, когда он уже вызван? или можно ли сбросить отработку всех хэндлеров?
Anton
Может кому пригодится потом поискать по переписке. #loop #with_together #git - name: Clone git repo for apps git: repo: "{{ item.0 }}" dest: /var/www/api/{{ item.1 }} depth: 1 accept_hostkey: yes clone: yes with_together: - "{{ apps_repo }}" - "{{ apps_name }}" Добавление репозиториев в отделные папки, переменные берутся из var файла и имеют следующий формат: apps_name: - app_1 - app_2 apps_repo: - repo_1 - repo_2
Anton
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#with-together
ᴅⁱᵐⁱᴅʳ0ˡ
всем привет, я снова к вам с глупыми вопросами) - name: "find config files" find: paths: ./vars patterns: "^(?!defaults)" use_regex: yes register: config_files - block: - debug: msg: "{{ item.path }}" - vars_files: "{{ item.path }}" - name: Generating template template: src: app-template.j2 dest: heat-template/{{ applications['app_name'] }}-stack.yaml loop: "{{ config_files.files }}" нужно как то создавать темплейты из своих переменных в папке vars, а оказывается луп в блоке использовать нельзя, можете подсказать как это сделать?
Div
Я выводил блок в отдельный файл и его уже в луп.
Div
- include: foo.yml loop: '{{ bar }}'
Div
как то так.
Лёсик
Добрый день. Подскажите, плз. Есть задача создать пользователей в linux - user001, user002 и т.п. Таких штук 100, например, надо. Можно ли как-то автоматизировать? Т.е. vars или playbook могут как-то понять цикл?
Лёсик
уточню: playbook: - name: Add users ipa_user: name: "{{ item.name }}" state: present givenname: "{{ item.givenname }}" sn: "{{ item.sn }}" uidnumber: "{{ item.uidnumber }}" gidnumber: "{{ item.gidnumber }}" update_password: on_create ipa_host: "{{ inventory_hostname }}.{{ freeipa_server_domain }}" ipa_pass: "{{ admin_pass }}" with_items: '{{ ipa_users_add }}' vars: ipa_users_add: - name: user01 givenname: '01' sn: user uidnumber: '5001' gidnumber: '5001' - name: user02 givenname: '02' sn: user uidnumber: '5002' gidnumber: '5002
Лёсик
мне надо на freeipa добавить n-пользователей
Alexey
мне надо на freeipa добавить n-пользователей
Тогда похоже выше на правду. Где проблема?
Лёсик
в количестве пользователей. Могу я в vars написать как-то так: - name: user[01-99] ? И как правильно
Alex
в количестве пользователей. Могу я в vars написать как-то так: - name: user[01-99] ? И как правильно
- name: Add users ipa_user: name: "{{ item.name }}-{{ my_idx }}" state: present givenname: "{{ item.givenname }}-{{ my_idx }}" sn: "{{ item.sn }}-{{ my_idx }}" uidnumber: "{{ item.uidnumber }}" gidnumber: "{{ item.gidnumber }}" update_password: on_create ipa_host: "{{ inventory_hostname }}.{{ freeipa_server_domain }}" ipa_pass: "{{ admin_pass }}" loop: '{{ ipa_users_add }}' loop_control: index_var: my_idx как то так
Alex
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#tracking-progress-through-a-loop-with-index-var
Alex
если ansible 2.8+, то смотреть в сторону - https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#extended-loop-variables
Anonymous
привет. подскажите: есть 2 сервера - lb1 и app. У каждого 2 IP адреса - внутренней и внешней сети. в playbook'e я считываю внутренний адрес app - name: read internal IP of app set_fact: application_server_ip={{ ansible_all_ipv4_addresses | ipaddr('10.114.0.0/16') | first }} when: ansible_facts['hostname'] == "app" Затем пытаюсь загрузить конфиг на lb, используя переменную application_server_ip, но получаю ошибку, что 'application_server_ip' is undefined что не так, куда копать, как объявить глобальную переменную и использовать ее
Anonymous
да
Anonymous
ругается именно на переменную в template
Anonymous
в пределах одного плея?
считываю я эту переменную на app сервере, а применяется она в темплейте для lb
Alex
см ссылки, что я кидал
Aleksey
Всем привет! Принёс #странное ... Нужно обновлять данные(тег установленного контейнера), хранящиеся в инвентори-файле, после чего коммитить изменения в репу. Но очень важно делать это изменение после деплоя, а не до. Есть кто-нибудь, кто сталкивался с подобным?