@pro_ansible

Страница 585 из 625
Sergey
26.09.2018
00:13:30
Тогда и чинить так, как там описано.

om
26.09.2018
01:56:52
Привет Тут такая штука - начинаю ансибл, хочу сделать красиво: линукс серверы в домене active directory (corp). Соответственно, подключение доменным пользователем по ssh происходит без запроса пароля (спасибо керберосу и realmd+sssd): ssh ansible_svc@server1 - успешно. При попытке запустить ansible all -m ping получаю, что ansible подставляет имя пользователя с доменным суффиксом: server1 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: ansible_svc@corp@server1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n", "unreachable": true } Если ssh ansible_svc@corp@server1 то запрашивает пароль. Можно ли уговорить ансибл не использовать суффикс?

Google
Sergey
26.09.2018
02:01:32
если тебе нужно сказать "захожу доменным пользователем на конкретный хост", то в винде это может выглядеть как DOMAIN\user, то есть в результате моет получиться что-то типа "CORP\ansible_svc@server1"

om
26.09.2018
02:09:10
https://docs.ansible.com/ansible/devel/user_guide/windows_winrm.html#kerberos
Спасибо! Решил вопрос установкой remote_user = ansible_svc

Sergey
26.09.2018
02:09:41
всегда пожалуйста ?

Sergey
26.09.2018
02:10:25
Запись corp\ansible_svc аналогична ansible_svc@corp
да. другое дело, что ssh может удивиться сразу двум собакам.

om
26.09.2018
02:10:44
Есть такое. Один раз встретил нестандартное повдение по доступу к ФТП, кажется- оказалось у человека пароль с собакой и двоеточием.

server1 | SUCCESS => { "changed": false, "ping": "pong" }

Udjin
26.09.2018
03:57:56
Парни, такой вопрос странный. У DO в дроплетах есть кнопка Rebuild. Она не удаляя дроплета просто накатывает на него чистый выбранный имейдж с ОС. Айпишник и всё остальное сохраняется. Вопрос: Как мне это сделать ансиблом? модуль digital-ocean-module - умеет такое? Я посмотрел - опции rebuild нету.

в примерах # Ensure a droplet is present # If droplet id already exist, will return the droplet details and changed = False # If no droplet matches the id, a new droplet will be created and the droplet details (including the new id) are returned, changed = True. - digital_ocean: state: present command: droplet id: 123 name: mydroplet api_token: XXX size_id: 2gb region_id: ams2 image_id: fedora-19-x64 wait_timeout: 500

Google
Udjin
26.09.2018
03:59:57
говорится, что если дроплет есть - ансибл с ним ничего делать не будет. Я так полагаю, что даже если сменить имейдж на новый, с федоры на убунту - оно ж его не отребилдит?

om
26.09.2018
04:03:04
Спасибо! Решил вопрос установкой remote_user = ansible_svc
Но это не выход. Как вариант - потестить ансибл - работает. Но как целевоё решение (пользователь может зайти на сервер и запустить сценарий ансибла, который в зависимости от прав на целевых серверах будет выполняться или нет) не подходит. Значит, будем решать Проблему Двух Собак...

om
26.09.2018
06:56:49
Есть ли возможность указывать в файле ansible.cfg макросы или переменные? Типа remote_user = ${USER/@corp/}

bebebe
26.09.2018
06:57:24
нет, если только не темплатизировать его заранее

Terminator
26.09.2018
07:06:31
Alexander Rozhkov будет жить. Поприветствуем!

cent
26.09.2018
07:20:06
Я смотрю чатик оживился) А кто-то ловил проблемы с heredoc ? У меня почему-то в конце файла EOF добавляет постоянно

Pavel
26.09.2018
07:23:19
парни, привет. вопрос: можно ли в новом ansible 2.7 через PSRP модуль передать команды транзитом на конечный хост, то есть ansible -> windows_bastion -> target host ?

никто ничего не делал подобного

Terminator
26.09.2018
08:42:19
@melanies_melody будет жить. Поприветствуем!

?simplemice
26.09.2018
09:01:16
Ansible - это Open Source инструмент, который доступен каждому! Автоматизация наше всё, независимо от того кто ты - Сис.админ или Программист или Айтишник... 27 Сентября в 19:00 по МСК будет бесплатный урок по освоению базы перед стартом Devops-практик. Урок подойдет всем, кто хочет освоить Devops и начать работать в этом направлении, количество мест строго ограничено. Регистрация по ссылке: goo.gl/Prtguv Детали по бесплатному живому онлайн-занятию Devops by Fevlake: Ansible ? Время проведения: 27 Сентября в 19:00 по МСК, не пропустите ? Программа урока: - зачем нужны системы управления конфигурациями? - сравниваем ansible/chef/puppet/salt - основы работы с ansible - настраиваем первый сервер - деплоим php с помощью ansible - деплоим docker с помощью ansible ?‍ Лектор: Василий Озеров - основатель агентства Fevlake и действующий Devops-инженер (опыт в Devops более 5 лет) : «В этом году мы начали готовить крутых Devops-инженеров из системных администраторов, программистов и It-шников. Приходите на мой открытый живой онлайн-урок по Ansible, ответим на все ваши вопросы» Регистрация: goo.gl/Prtguv

если вдруг кому интересно

Terminator
26.09.2018
09:49:56
@n07n0w будет жить. Поприветствуем!

Aleksey Andryuschenko будет жить. Поприветствуем!

Artem
26.09.2018
11:51:43
Мышшш

shine
26.09.2018
11:52:47
што, опять?

?simplemice
26.09.2018
11:52:58
Artem
26.09.2018
11:54:05
Ты коучишь?)

?simplemice
26.09.2018
11:54:16
Ты коучишь?)
боже упаси :)

Artur
26.09.2018
12:09:12
привет. delegate_to возможно подцепить к блоку ?

Google
Terminator
26.09.2018
12:15:10
@Rishats будет жить. Поприветствуем!

Artur
26.09.2018
13:23:45
прицепить можно. но наткнулся на следующее: имеется [dev-app] dev8-app1 ansible_host="10.0.0.1" ansible_ssh_user=admin dev7-app1 ansible_host="10.0.0.2" ansible_ssh_user=admin [dev-db] dev8-db1 ansible_host="10.0.0.3" ansible_ssh_user=admin dev7-db1 ansible_host="10.0.0.4" ansible_ssh_user=admin [dev:children] dev-app dev-db в плейбуке есть блок с delegate_to: "dev7-app1". при его запуске он ведёт себя очень странно. пример выполнения таска changed: [dev8-app1 -> 10.0.0.2] changed: [dev7-app1 -> 10.0.0.2] но dev8-app1 имет совсем другой ип в инвентори листе. получается такс запускается 2 раза на одной тачке. как такое лечится ? запускаю с ключом -l dev

Евгений
26.09.2018
13:39:15
Так а роль для какой группы хостов запущена? Он же с каждого хоста из этой группы вызовет таск на хосте, куда делегируешь.

Artur
26.09.2018
13:57:40
чутка покапался и понял почему ип одинаковый

делегат не "запускает только на указаном хосте", а запускает команду ввезде, потом понимает что выполнять нужно на другом хосте и пробрасывает её ( задачу) туда.

но у себя ( на хосте где не требуется запускать ) он её тоже видит

поэтому ип одинаковые выходят, и поэтому 2 запуска срабатывает

есть какая либо возможность "спрятать" этот такс от других хостов ?

Rishat
26.09.2018
14:02:42
- name: Make sure nginx virtual hosts are configured tags: nginx template: src=nginx-virtualhost.conf.j2 dest=/etc/nginx/conf.d/{{ item.key }}.conf with_dict: "{{ virtualhosts }}" when: enable_ssl|default(false)|bool == false notify: - Restart nginx отлетает с ошибкой TASK [webtier : Make sure nginx virtual hosts are configured] ************************************************************************************************ fatal: [192.168.12.12]: FAILED! => {"msg": "'virtualhosts' is undefined"} Как я понимаю https://github.com/Rishats/ansible_laravel в папке host_vars должно как-то по другому записываться переменная?

Евгений
26.09.2018
14:03:56
Да, есть ключ - запустить только один раз. run_once: true https://docs.ansible.com/ansible/2.6/user_guide/playbooks_delegation.html#run-once

Admin
ERROR: S client not available

Artur
26.09.2018
14:04:03
т.е. совпадает с именем в инвентори листе ?

ubuntu-test
хост должен тогда так же называться

либо вынеси её в all файл

Rishat
26.09.2018
14:04:46
Аааа,спасибо,вроде начинаю понимать. Сейчас попробую)

Artur
26.09.2018
14:06:12
Да, есть ключ - запустить только один раз. run_once: true https://docs.ansible.com/ansible/2.6/user_guide/playbooks_delegation.html#run-once
благодарю, вроде как сработало. но всё равно в итоге вижу dev7-app1 : ok=5 changed=1 unreachable=0 failed=0 dev7-db1 : ok=2 changed=0 unreachable=0 failed=0 dev8-app1 : ok=12 changed=7 unreachable=0 failed=0 dev8-db1 : ok=2 changed=0 unreachable=0 failed=0

но на этот раз выполнилась 1 раз

Google
Artur
26.09.2018
14:06:28
как и требовалось

я так понимаю что запустилось на первом хосте из группы, он формарднул такс на нужный хост и этим всё закончилось

да. так и было. проверил по выводу

Евгений
26.09.2018
14:08:15
Просто пока читал, понял, что запутался) ``` changed: [dev8-app1 -> 10.0.0.2] changed: [dev7-app1 -> 10.0.0.2] ``` тут видно что таск запустился на двух хостах. А delegate в таске с константным ip. Вот он и выполнился дважды.

Artur
26.09.2018
14:08:18
везде фигурирует dev8-app1 а не dev7-app1, но ип при этом dev7-app1

Terminator
26.09.2018
14:10:50
@JTProgru будет жить. Поприветствуем!

Евгений
26.09.2018
14:13:21
В таких случаях, наверное лучше всего разнести сценарий по ролям. Ролью можно определить группу хостов для запуска и конкретный сценарий. Одна роль вместо таска с delegate - на один хост, вторая роль - все остальные одинаковые таски для всех хостов.

Artur
26.09.2018
14:18:21
думаю мне не подойдёт. т.к. блок с делегатом дожен срабатывать лишь при выполнении условия из when в плейбуке

по сути если указана переменная, то блок с делегатом должен будет сработать

а в setup можно условия пихать ? если да, то разделю на 2 роли

Terminator
26.09.2018
16:39:21
@rubycrafter будет жить. Поприветствуем!

Constantin
26.09.2018
16:44:07
Всем привет, может кто подскажет, неужели нет способа сделать include_role и delegate_to?

Евгений
26.09.2018
16:44:22
Условие when вроде к любому модулю можно дописать. Ровно как и на запуск роли тоже можно условие написать.

Constantin
26.09.2018
16:44:35
Мне нужно роль на локальной машине выполнить, но delegate_to на уровне тасков, когда я подрубаю роль не срабатывает

Евгений
26.09.2018
16:49:33
Я выношу в отдельную роль все локальные таски, просто потому что AWX в докере и 127.0.0.1 не работает. - hosts: host_name_from_inventory gather_facts: yes roles: - { role: localhost, when: ansible_distribution == "CentOS"}

Rad
26.09.2018
16:55:43
Тут сейчас будет про ansible

Ссылка на прямую трансляцию сегодняшнего митапа про IaC: https://www.youtube.com/watch?v=7eP0KOD4zCw Скоро начинаем!

Евгений
26.09.2018
17:00:00
Мне нужно роль на локальной машине выполнить, но delegate_to на уровне тасков, когда я подрубаю роль не срабатывает
https://github.com/ansible/ansible/issues/32556 Тут пишут что нельзя. Может проще вызвать роль в site.yml на localhost?

Terminator
26.09.2018
17:04:33
@the_asten будет жить. Поприветствуем!

Страница 585 из 625