Sergey
Всегда есть варианты:
1. Переписать на Ансибл без использования башсибла, как вариант.
2. Использовать параметры модуля shell.
Gordon
Андрей
А зачем?
Sergey
Gordon
Можно. Тебя п.1 вообще не заинтересовал, да?
Да ( не я скрипт поставляю, вдруг он изменится и тогда все перестанет работать, мне не до конца понятна его логика, этот скрипт должен быть пакетом по хорошему, но он скрипт (
Sergey
В общем, да, модулю shell ты можешь передавать любые странные bash-строки.
Gordon
Gordon
Ivan
dmitry
Как установить с помощью ansible обновы винды kb*, пишут вроде что через winrm нельзя?
Андрей
через WSUS :D
Dr. L.S.Dee
Можно дернуть wusa на каждой машине, справка по синтаксису прилагается.
Dr. L.S.Dee
Но вообще WSUS, да.
dmitry
а можно скачать и запустить. Поднимать сервак ради двух обнов так себе идея
Dr. L.S.Dee
Думаете, это последние?
Dr. L.S.Dee
Ну если скачать и запустить, то дергаете wusa.exe.
Dr. L.S.Dee
Я вам даже справочку принес.
dmitry
да. я же не просто так спрашинаю на канале ansible, значит мне нужно через ansible установить. Сейчас у меня связка powershell скриптов и ansible playbook. Охота все на ansible перенести
Dr. L.S.Dee
dmitry
интересно, а более легкого пути нет?
dmitry
типо
https://docs.ansible.com/ansible/latest/modules/win_hotfix_module.html
Dr. L.S.Dee
Ну а в чем тогда вопрос?
Dr. L.S.Dee
* сам только что загуглил и нашел)
Dr. L.S.Dee
И этот еще https://docs.ansible.com/ansible/latest/modules/win_updates_module.html
dmitry
Приходится 2 шага делать, закачивать и запускать. При установки у меня падает
virtualbox-iso: The offending line appears to be:
virtualbox-iso:
virtualbox-iso: tasks:
virtualbox-iso: - name: Install hotfix KB3035131
virtualbox-iso: ^ here
tasks:
- name: Get hotfix
win_url:
url: https://download.microsoft.com/download/3/D/F/3DF6B0B1-D849-4272-AA98-3AA8BB456CCC/Windows6.1-KB3035131-x64.msu
dest: C:\Temp\KBXXXXXX.msu
- name: Install hotfix
win_hotfix:
source: C:\temp\KBXXXXXX.msu
state: present
Dr. L.S.Dee
Отступы посчитать? Извиняюсь за дурацкое предположение.
dmitry
проверял http://www.yamllint.com/
dmitry
хотя... dest: C:\Temp\KBXXXXXX.msu с одним слешем или двумя должен быть. Валидатор 2 делает
Dr. L.S.Dee
dmitry
надо попробовать с двумя
Alexander
dmitry посчитай пробелы :)
dmitry
валидатор бы ругался, если бы что-то не так было
Alexander
dmitry
я 2 пробела делаю
win_url и url
Alexander
я скопировал то, что ты написал)
dmitry
тогда что не так с пробелами?
Alexander
url, dest, source и state не хватает пробела, из скрина видно же
dmitry
попробую
dmitry
ошибка та же
virtualbox-iso: tasks:
virtualbox-iso: - name: Get hotfix
virtualbox-iso: ^ here
- name: Get hotfix
win_url:
url: https://download.microsoft.com/download/3/D/F/3DF6B0B1-D849-4272-AA98-3AA8BB456CCC/Windows6.1-KB3035131-x64.msu
dest: C:\\Windows\\Temp\\Windows6.1-KB3035131-x64.msu
- name: Install hotfix
win_hotfix:
source: C:\\Windows\\temp\\Windows6.1-KB3035131-x64.msu
state: present
Sergey
dmitry
https://pastebin.com/pdyQ1e46
dmitry
так?
Sergey
заметно лучше
Сергей
Доброго дня, подскажите как переписать shell/сurl на uri:
shell: 'curl -s --request PUT --data-binary "@{{ item.path }}" {{ consul_kv_url }}'
C src, не выходит:
uri:
url: "{{ consul_kv_url }}"
method: PUT
src: "{{ item.path }}"
# body: "{{ lookup('file', item.path) }}"
Sergey
Sergey
Формат либо заголовок о типе контента не высталвены (я этого не вижу в приведённом таске).
Vladislav
Всем Привет. Помогите побороть ошибку)
Vladislav
https://pastebin.com/H1pxNfP1
Vladislav
Tema
Всем привет!
Есть необходимость выполнить команду на 30 хостах с задержкой для каждого хоста. То есть, выполняем команду на первом хосте, ждем минуту, запускаем на втором хосте, ждем минуту и т.д.
Может кто-нибудь сталкивался с таким и направит меня на путь истинный? Если конечно такое вообще возможно 😢
Nikus
Возможно. Плейбук - Команда + ожидание. Все
Maksim
Tema
Видимо я совсем запутался, пошел пробовать 👍
Tema
Tema
https://pastebin.com/J5R7szy8
Tema
пытаюсь на примере копирования файла разобраться, в taps у меня 6 хостов
Tema
Мой плейбук не отрабатывает с задержкой, сразу копирует на все хосты
Nikus
Pause - отдельный таск
Nikus
И да, выше указали правильно - надо делать через луп. Я ща не за компом, но примерно так - эти две таски выделить в инклюд и по инклюду через with_items. И в них передать хосты
Tema
Идею понял, но пробовать буду уже завтра, спасибо
Alexander
Oleksandr
Саша, ты троллишь?
Oleksandr
модуль и есть аналог docker exec. само его использование является альтернативой docker exec
Oleksandr
не похоже. такое ощущение что ты именно здесь ради потроллить
Alexander
Alexander
Серьёзно. Можно прям пример на пальцах как в уже работающем контейнере выполнить какую-нибудь команду с помощью этого модуля?
Oleksandr
сорри, я как-то по диагонали прочитал сперва. тебе нужно заранить команду на уже созданном контейнере
Alexander
Не мне. ) Изначально вопрос @matveev_alexey задал.
Oleksandr
тебе нужен параметр command все того же модуля docker_container
Alexander
Ок, я читал по ней пояснение.
Command to execute when the container starts
Это запуск команды при старте контейнера. Я думал, что-то вроде CMD.
Oleksandr
попробуй, должно подойти. если нет, то есть
- hosts: target
connection: docker
tasks:
- package:
name: git
state: latest
Oleksandr
указав connection: docker ты можешь выполнять команды напрямую в контейнере
Oleksandr
либо создав подключение к докер контейнеру через add_host
- name: make a host
add_host:
name: playbook-container
ansible_connection: docker
ansible_ssh_user: root
- name: install things
raw: dnf install -y python-dnf
delegate_to: playbook-container
Alexander
Aleksey
Я реализовал docker exec cmd через shell, пробовал через аргументы как у https://t.me/pro_ansible/134404, но чет не прокатило