
Vasiliy
14.08.2017
08:27:34
дано: 3 сервера(адреса в итоге будут динамические, т.е. список будет формироваться перед каждым запуском), 6 архивов(пронумерованы arch1, arch2 ...). Надо: закинуть по 2 архива на сервер и провести некоторые дествия с ними. Сервер 1 - архив 1 архив 2, сервер 2 - архив 2 архив 3 ... Подскажите, пожалуйста, как это ансиблом сделать? Что-то не пойму как подступиться.

Evegeniy
14.08.2017
08:43:09
Во первых, динамические - это какого вида?
Совсем динамические или они за каким то хостом?
Вообще нужен какой-нибудь сервис дискавери вроде консула, откуда сможешь вытаскивать хост серверов

Google

Evegeniy
14.08.2017
08:44:43
Каждому серверу можешь host_vars
Назначить
И прописать там массив архивов

iF
14.08.2017
08:46:31

Vasiliy
14.08.2017
08:51:38
список будет формироваться до запуска ансибла. Наверное тут это не очень важно. Вопрос как сделать по два архива на сервер. Сервер 1 - архив 1 архив 2, сервер 2 - архив 3 архив 4, сервер 3 - архив 5 архив 6.

iF
14.08.2017
08:52:48
Евгений правильно направил в host_vars, там можно каждому узлу индивидуально прописать

Vasiliy
14.08.2017
08:53:53
ага. Спасибо.

Anatoly
14.08.2017
08:55:10
запаковать архив в соответствующи рпм или деб прописать постинсталл и устанавливать соответствующие пакеты на соответствующие сервера и не возится с архивами

iF
14.08.2017
08:56:05
Я придираюсь, понятно, но вот не гибко и ансамбля нет )
Вернее не так, тогда ансамбль нафиг не нужен

Anatoly
14.08.2017
09:01:54
Я придираюсь, понятно, но вот не гибко и ансамбля нет )
вполне себе гибко. те люди которые используют что то за пределами деба или рпма таки умеют ждать ебилдов или собирать свои пакеты из аура без дополнительных вопросов. ансамбль тут нужен как конфиг менеджмент. это то чем он призван был заниматься с самого начала.

iF
14.08.2017
09:03:00
Убедительно )

Google

Ivan
14.08.2017
13:35:20
Господа, доброго времени суток. У кого есть немножко терпения и желания помочь?
Смысл следующий:
Имею некую сеть с роутерами/коммутаторами. Их очень дофига и описать все не могу
Необходимо перебором 10.0.[0:255].[254] заходить на каждый по ssh и выполнять скрипт
И вот я сижу и туплю
Потому что для микротов модуля нет
и что то оно совсем не хочет

lastsky
14.08.2017
13:38:03
использовать with_sequence
http://docs.ansible.com/ansible/latest/playbooks_loops.html#looping-over-integer-sequences пример

iF
14.08.2017
13:50:33
А скрипт сильно сложный?

lastsky
14.08.2017
13:51:02
тут with_sequence как я понимаю должен перебирать ip адреса
можно конечно взять nmap и составить inventory, но задача так не ставилась

iF
14.08.2017
13:51:29
Я к тому, не проще ли python + paramiko?
если тольок скрипт

Ivan
14.08.2017
13:51:58
последовательно надо выполнить на каждом)

iF
14.08.2017
13:52:57
Ну просто под ансамбль модуль по первой писать непонятно, а если просто 4 команды, я бы на питоне перебор в сети сделал и по ssh 4 команды впулял

Anatoly
14.08.2017
13:53:18
а что в сетях так и не придумали центральной менеджмент консоли?

iF
14.08.2017
13:53:21
это если не надо больше ничего

Anatoly
14.08.2017
13:53:49
я слышал убкт имеют что то подобное

Gleb
14.08.2017
13:53:56

Google

Gleb
14.08.2017
13:53:59
продолжать?

Ivan
14.08.2017
13:54:10

Gleb
14.08.2017
13:54:25
а чего точно то хочется?

Anatoly
14.08.2017
13:54:34

Gleb
14.08.2017
13:54:48
вот туда и хочу, да
https://mum.mikrotik.com//presentations/RU16/presentation_3841_1476092869.pdf

Ivan
14.08.2017
13:54:53
и?
и он начинает очень сильно задыхаться, если у тебя более 500 устройств

Gleb
14.08.2017
13:54:57
ссылка на репку в конце

Ivan
14.08.2017
13:55:02
И на репке был

Sergey
14.08.2017
13:58:56

Anatoly
14.08.2017
13:59:10

Ivan
14.08.2017
13:59:27

Anatoly
14.08.2017
13:59:40

Ivan
14.08.2017
13:59:52
это юбики)

Gleb
14.08.2017
13:59:59
ты про юнифай или про эйрконтрол?

Ivan
14.08.2017
14:00:12
Да и не о юбиках вообще речь)

Anatoly
14.08.2017
14:00:50
ну, я не в курсах какая разница между убкт и микротик просто в 21 веке сети все еще живут как 70е и ничего не меняется такое чувство

Google

Gleb
14.08.2017
14:00:52
так у некротика тоже есть контроллер

Anatoly
14.08.2017
14:01:36
чо?

Gleb
14.08.2017
14:01:55
https://www.youtube.com/watch?v=giC3-LnnV4c

Anatoly
14.08.2017
14:02:14
а ну ок.

Ivan
14.08.2017
14:02:30

Anton
14.08.2017
14:09:43

Ivan
14.08.2017
14:43:43
Господа, а как указать юзера для ssh?
ansible_ssh_user чёт не хотит

Anton
14.08.2017
14:45:42
там по другому
ща
вот кароч
http://docs.ansible.com/ansible/latest/intro_networking.html
надо var переменные создавать

Ivan
14.08.2017
14:55:11
а в yml нельзя разве обозначить?
---
- hosts: test
user: admin
gather_facts: no
connection: local
roles:
- test-script
типо вот такого

Anton
14.08.2017
14:56:05
это тоже yml, только не в role

Ivan
14.08.2017
14:56:54
так вот тут user'а можно указывать или нифига?
Я вроде указал
запускаю

Google

Anton
14.08.2017
14:57:09
т.е. создаёшь папку roles в ней папку vars в ней файл main.yml в нём что то типа того
cli:
host: "{{ inventory_hostname }}"
username: "{{ username }}"
password: "{{ password }}"
transport: cli

Ivan
14.08.2017
14:57:12
а он пытается стучаться от юзера под которым запущен ансибл

Anton
14.08.2017
14:58:17
затем в папке roles создаёшь папку task в нём файл main.yml в котором делаешь примерно так
- name: test
ios_command:
commands: show version
provider: "{{ cli }}"
почему CLI?
это просто имя, которое будет в строке provider передаваться
это один из вариантов, можно и по другому делать

Ivan
14.08.2017
14:59:39
А если я просто в самом плейбуке в main.yml укажу не переменными, а сразу как надо?
допустим, предположим
---
- name: Upload init-script
command: "sshpass -p '{{ansible_ssh_pass}}' scp -P {{ansible_ssh_port}} -o StrictHostKeyChecking=no -o NumberOfPasswordPrompts=1 roles/init/files/init-script.rsc {{ansible_user}}@{{inventory_hostname}}:/init-script.rsc"
- name: Run init-script
command: "sshpass -p '{{ansible_ssh_pass}}' ssh -T -p {{ansible_ssh_port}} -o StrictHostKeyChecking=no -o NumberOfPasswordPrompts=1 {{ansible_user}}@{{inventory_hostname}} '/import file=init-script.rsc'"
я вместо {{ansible_user}} указываю сразу юзера
взлетит?

Anton
14.08.2017
15:01:19
ну эту переменную надо где то создать

Ivan
14.08.2017
15:01:46
чёт вроде просто но котелок уже не варит под конец рабочего дня

Anton
14.08.2017
15:01:59
с логикой ансибла это нормально
вот тут можно посомтреть примеры реализаций
https://github.com/ansible/ansible-examples

Ivan
14.08.2017
15:02:35
А если запускать плейбук с параметром -u, например?

Anton
14.08.2017
15:03:19
я так вначале пытался
у меня не запахал

Ihor
14.08.2017
15:20:43
Помогите с таким вопросом. Сейчас я добавляю ключ ссш вручную. Как это делают через ansible?
Желательно пример с таском