manefesto
с виндой
manefesto
накатывал роли на сервер, ставил софт через chocolatey
manefesto
чоколатка
Anonymous
Перестаньте
Anonymous
писать
Anonymous
вот так
Anonymous
пожалуйста
Vladimir
😂😂😂
manefesto
ладно ладно, не буду каждая строка это мысль
manefesto
да блин
Sergey
поиграем в аналогию, вот есть линукс с ssh сервером. а что если бы ансибл требовал для управления поставить на каждом хосте вэбсервер ?
Не стоит аналогиями разбрасываться, правда-правда. В десктопной винде НЕТ удалённого управления искаропки. Ты же не сервером рулишь, ведь правда? 😉
Ivan
короч нужно в среде заказчика кой-как автоматизироваться. ничего менять нельзя.
Ivan
вещь типа Invoke-Command -ComputerName pcname -ScriptBlock {cmd} работает успешно
Ivan
при этом сам winrm отключен
Sergey
короч нужно в среде заказчика кой-как автоматизироваться. ничего менять нельзя.
Тогда всё честно - корявый процесс и отстойные требования на входе, боль и унижение на выходе.
Ivan
согласен
Sergey
при этом сам winrm отключен
Ансибл так не рабоатет, там же тип подключения winrm.
Sergey
это как если бы ssh отключить и удивляться - ну какого чорта connection_type=ssh не работает
manefesto
даже костыль в виде ssh сервера на винде тоже не работает
Ivan
непонятно за счет чего некоторые поверщель команды удаленно работают.
Nklya
остается тогда говнякать на повершеле
Денис
если мне не изменяет память, там другой протокол для некоторых команд, которые из коробки умеют удаленными компами рулить
manefesto
wmi называется
Sergey
manefesto
секурно зато
Ivan
так, ну он разрешен, получается, если это wmi.
Sergey
да. по центосью есть пакет даже специальный - можно некоторые команды виндовые вызывать.
manefesto
написано в офф доке как делать, так и делай
Vladimir
samba ? :)
manefesto
дижёнейм
Ivan
мне низя делать как в доке, а то безопасники по жопе надают. можно только то что сейчас разрешено. ну вобщем понятно, что каши не сваришь ) всем спасибо. продолжу изучать только для управления линукса. пожалуй.
Vladimir
Тогда тебе сюда.
manefesto
один хер там авторизация по логину паролю
manefesto
через wmi
manefesto
спроси можно ли удаленно использовать wmi или нет
manefesto
можно прикрыться что надо статистику снимать
Vladimir
спроси можно ли удаленно использовать wmi или нет
Если он в домене и у него есть права, то это легко проверить
manefesto
а через wmi это можно сделать
Vladimir
wmic /node:pcname baseboard get product например
Vladimir
мне низя делать как в доке, а то безопасники по жопе надают. можно только то что сейчас разрешено. ну вобщем понятно, что каши не сваришь ) всем спасибо. продолжу изучать только для управления линукса. пожалуй.
Вот только не ясно почему у тебя безопасники боятся ? Я сейчас глянул, там auth есть все тоже что и в домене, убрать basic и http и вот тебе секурно, так же как и в домене.
Ivan
короч я существую в своём манямирке, они в своём. стараюсь не притягивать логику к их решениям и ни о чем не просить.
Vladimir
вот это сильное заявление
Vladimir
короч я существую в своём манямирке, они в своём. стараюсь не притягивать логику к их решениям и ни о чем не просить.
ну тогда тебе если для реальной жизни с такими людьми надо использовать powershell dsc, а если для себя то используй ансибл только для *nix и не парься
Ivan
powershell dsc - даже не слышал про такое раньше, а оно оказывается давно есть.
Vlad
Можно прямо из ansible юзать модулем win_dsc: http://devdocs.io/ansible~2.6/user_guide/windows_dsc
а какой модуль лучше всего юзать, если нужна таска ранать один и тот же батник под виндой каждые 5 минут?
win_scheduled_task чото совсем не аналог крона
Boris 🦍
Привет, подскажите, могу ли я Использовать основать основной плейбук для localhost , оастльные таски в нем делегировать для других хостов регистрируемых в данном плейбуке из названия файлов?* Например : --- - hosts: localhost connection: local vars: cron_dir: '../../cron/' tasks: - name: "Get inventory name by filename" local_action: 'command ls {{ cron_dir }}' register: dst_hosts - debug: msg: 'hosts is {{ dst_hosts }}' - name: "Delivery cron file. Centos system." copy: src: '{{ cron_dir }}' dest: '/var/spool/cron/postgres' owner: 'postgres' group: 'postrges' mode: '0600' when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' delegate_to: '{{ item }}' with_items: '{{ dst_hosts }}'
Boris 🦍
Не знаю почему, но такая конструкция не отрабатывает. точнее таски не делегируюдтся на удаленные хосты
Boris 🦍
а эти хосты прописаны в инвентори?
verbose показывает TASK [Delivery cron file. Centos system.] *************************************************************************************************************************************************************************************************** task path: /home/elbars/repo/Ansible/playbooks/deploy_cron.yml:14 skipping: [localhost] => (item=stderr_lines) => { "changed": false, "item": "stderr_lines", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=changed) => { "changed": false, "item": "changed", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=stdout) => { "changed": false, "item": "stdout", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=delta) => { "changed": false, "item": "delta", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=stdout_lines) => { "changed": false, "item": "stdout_lines", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=end) => { "changed": false, "item": "end", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=start) => { "changed": false, "item": "start", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=cmd) => { "changed": false, "item": "cmd", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=failed) => { "changed": false, "item": "failed", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=stderr) => { "changed": false, "item": "stderr", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=rc) => { "changed": false, "item": "rc", "skip_reason": "Conditional result was False" }
Vadim
угу, потому что when: использует факты локалхоста
Boris 🦍
угу, потому что when: использует факты локалхоста
понял. т.е я могу отдельно их собрать в таске только дял удаленных хостов, получается
Boris 🦍
сейчас попробую. спасибо
Alex
verbose показывает TASK [Delivery cron file. Centos system.] *************************************************************************************************************************************************************************************************** task path: /home/elbars/repo/Ansible/playbooks/deploy_cron.yml:14 skipping: [localhost] => (item=stderr_lines) => { "changed": false, "item": "stderr_lines", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=changed) => { "changed": false, "item": "changed", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=stdout) => { "changed": false, "item": "stdout", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=delta) => { "changed": false, "item": "delta", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=stdout_lines) => { "changed": false, "item": "stdout_lines", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=end) => { "changed": false, "item": "end", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=start) => { "changed": false, "item": "start", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=cmd) => { "changed": false, "item": "cmd", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=failed) => { "changed": false, "item": "failed", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=stderr) => { "changed": false, "item": "stderr", "skip_reason": "Conditional result was False" } skipping: [localhost] => (item=rc) => { "changed": false, "item": "rc", "skip_reason": "Conditional result was False" }
Так ты в инвентори то зарегай список из переменной то. Ну и условия перепиши на проверку семейства
Boris 🦍
а вот условия да, выше подсказала Вадим, что нужно факты пересобрать
Boris 🦍
спасибо. буду пробовать
Vadim
попробуй when: hostvars[item].ansible_distribution - но тут надо убедится что факты с них собраны
Alex
ну можно проверить ещё одним таском и собрать факты если их нет.
Boris 🦍
да. фактов на удаленные хосты нет, буду собирать , благодарю
Danis
Есть vars/main.yml: aaa: b1: cc1: rara.tgz cc2: tata.tgz b2: cc1: hoho.tgz cc2: lala.tgz b3: cc1: tiki.tgz cc2: gogi.tgz Как обратиться ко всем cc1? Нужно что-то вроде aaa.*.cc1 Попробовал так, не работает: - name: test copy: src: "{{ item.cc1 }}" dest: /tmp/ with_items: "{{ aaa }}"
Tadeusz
Жизнь ворам, ага
Danis
with_dict
С диктом пробовал, он ведь не для таких случаев предназначен, не вышло.
Danis
With_nested?
Не слышал, буду пробовать.
Danis
А какой еще тут случай? aaa - это dict
Ну точно также, просто переименовав на with_dict не прокатило.
Danis
Я мог бы item.value, но мне ведь нужен именно сс1.
Vadim
aaa[item.key].cc1?
Vadim
или функциональный способ через https://docs.ansible.com/ansible/2.5/user_guide/playbooks_filters.html#extracting-values-from-containers
Danis
aaa[item.key].cc1?
Оно прям так и пишется?
Danis
Это вообще без with_dict получается? Пробовал так "{{ aaa[item.key].cc1 }}" - не работает.