@pro_ansible

Страница 538 из 625
Fedor
08.08.2018
11:26:35
а что за семафор?

как называется?)

UI? =)

Maksim
08.08.2018
11:28:56
Я смотрел на семафор

Google
Maksim
08.08.2018
11:29:01
но он вроде не очень жив

лучше уж awx

Constantin
08.08.2018
11:57:19
UI? =)
https://github.com/ansible-semaphore/semaphore

Ребят, есть глупый вопрос. Если на машинах внезапно не оказалось питона, то что вы делаете, чтобы его туда доставить?

Constantin
08.08.2018
12:16:49
Что-то такое? tasks: - name: install python 2 raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)

Banschikov
08.08.2018
12:18:20
Что-то такое? tasks: - name: install python 2 raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
ага. Читал как то что этот модуль для подобных целей, но раньше обычно работал с centos, а там python-minimal предустановлен всегда. Поэтому не было надобности его использовать

Constantin
08.08.2018
12:18:42
Почти, чистая Ubuntu 16

Славик
08.08.2018
12:19:28
там вроде 3-ий питон есть

Banschikov
08.08.2018
12:19:51
Я тоже думал что в убунте пайтон есть.

Почти, чистая Ubuntu 16
Вообщем попробуй. Может сработает

Google
Constantin
08.08.2018
12:20:34
Maksim
08.08.2018
12:22:49
Бывает minimal без python2, поэтому плюнуть и поставить

Липоля Аймаксович
08.08.2018
12:40:09
Подкинуть файл ответов убунте с установкой питона во время установки системы, типа как анаконда на центоси

bebebe
08.08.2018
13:03:00
Ребят, а кто-нибудь пробовал Семафор больше чем побаловаться, на реальных проектах?
пробовал, год назад, очень сырой. вплоть до того что не умел нормально параллельные джобы. единственное что подкупило, был rest api над ansible плейбуками (пользователи были номинально, по факту нет) лучше awx использовать

Юра
08.08.2018
13:17:07
Что-то такое? tasks: - name: install python 2 raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
Я бы так сделал, для кроссплатформенности. Мы же можем не знать какая ос там. tasks: - name: install python 2 raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal || yum install -y python2.7)

Terminator
08.08.2018
13:26:10
@cavef1sh будет жить. Поприветствуем!

Fedor
08.08.2018
13:29:39
мне кажется, сейчас мало где в интерпрайз ос нету питона

Юра
08.08.2018
13:29:41
а если apt-get update сразу упадёт? ?
Ну так в том и смысл. Если упадёт, то выполнится yum

Fedor
08.08.2018
13:30:16
таски, кстати, можно выполнять на основе собранных фактов, откуда определять ос и запускать кастомизированные под ос задачи

хотя, соберутся ли они без питона

Fedor
08.08.2018
13:31:02
можно сделать cat /etc/*-release, оттуда распарсить семейство, и по нему работать

Sergey
08.08.2018
13:31:03
Ну так в том и смысл. Если упадёт, то выполнится yum
yum НЕ выполнится, потмоу что для запуска yum НЕ должна выполниться apt install, которая ДОЛЖНА выполниться только тогда, когда ВЫПОЛНИТСЯ apt -y update

bebebe
08.08.2018
13:31:51
Все смешалось, люди, кони

Юра
08.08.2018
13:32:45
можно сделать cat /etc/*-release, оттуда распарсить семейство, и по нему работать
Я изначально в одной из задач так планировал делать, но слишком сложно получается ради простого таска

Fedor
08.08.2018
13:33:14
для любого продукта есть требования к ос такой-то версии, и т п. центос - с питоном. деб - с питоном.

бсд вроде тоже

не помню уже

Google
bebebe
08.08.2018
13:33:42
я тут менеджу через ansible около 230 железок с openwrt

вот там боль

Юра
08.08.2018
13:33:44
Я изначально в одной из задач так планировал делать, но слишком сложно получается ради простого таска
Потому и делаю как выше сказано. Грубо? да, несомненно. Работает? почти всегда

Fedor
08.08.2018
13:33:53
среда же определена

bebebe
08.08.2018
13:34:08
вы пробовали? :)

там нет пейтона

Artem
08.08.2018
13:34:23
посейдона)

bebebe
08.08.2018
13:34:27
и не может быть к сожалению, из-за ограничения железа

Fedor
08.08.2018
13:34:38
выход можно найти практически из любой ситуации

bebebe
08.08.2018
13:34:54
да точно, спасибо

Fedor
08.08.2018
13:34:56
вполне нормально всякие сетевые девайсы им менеджатся

Fedor
08.08.2018
13:35:22
видел, им кто-то микроты настраивал

bebebe
08.08.2018
13:35:31
https://github.com/ronaldoafonso/ansible-lua-openwrt даже потуги были

Fedor
08.08.2018
13:35:34
была бы задача :)

?

?

bebebe
08.08.2018
13:36:06
вполне нормально всякие сетевые девайсы им менеджатся
вы говорите ровно про то что все команды котороые выполняются на роутерах и железках без пейтона выполняютс через raw модуль

а это печалько

Fedor
08.08.2018
13:36:16
ну да

Google
Fedor
08.08.2018
13:36:30
можно эмулировать модули тасками)))

таск - поставиьт например лихттпд, в нем куча равов и файндов

и ему в параметры передаются имена демонов, которые надо поставить

bebebe
08.08.2018
13:37:19
покажите эти таски, вместе посмеемся

Fedor
08.08.2018
13:37:21
вот и пакетменеджер

bebebe
08.08.2018
13:37:42
raw, register, stdout, jinja filters вот это вот фсе

Fedor
08.08.2018
13:37:46
может, где-то в инете кто-то и написал, я преград не вижу пока что.

Admin
ERROR: S client not available

Fedor
08.08.2018
13:37:48
да

bebebe
08.08.2018
14:08:36
кстати. если для openwrt еще можно написать connection_driver на lua, то в случае с routeros (mikrotik) это принципиально не возможно

только raw ssh, только хардкор

особенно наверное интересно парсить таблички какие-нибудь

Fedor
08.08.2018
14:12:25
благо, там машинный вывод есть

в микроте

Maxim
08.08.2018
14:13:52
коллеги, я с тупым вопросом, извините vars: users: - name: bregor public_key: https://github.com/Bregor.keys comment: Maxim Filatov groups: sudo append: yes task: - name: Add public keys for users authorized_key: user: "{{ item.name }}" key: "{{ item.public_key | default(lookup('file', 'public_keys/' + item.name)) }}" loop: "{{ users }}" error: fatal: [kube01]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'file'. Error was a <class 'ansible.errors.AnsibleError'>, original message: could not locate file in lookup: public_keys/bregor"} вопрос - а чего он вообще в | default() полез, если item.public_key присутствует?

а, ansible-2.6

Sergey
08.08.2018
14:14:34
в 2.6 сломали циклы?

Terminator
08.08.2018
14:23:40
thomas schneider будет жить. Поприветствуем!

Google
Max
08.08.2018
14:28:50
А докер в 2.6 не починили ещё?

Maxim
08.08.2018
14:37:41
то есть выражение в default() выполнится в любом случае, от левой части (до пайпа) зависит только то, будет ли использован результат выполнения default()?

Konstantin
08.08.2018
14:52:45
то есть выражение в default() выполнится в любом случае, от левой части (до пайпа) зависит только то, будет ли использован результат выполнения default()?
судя по исходникам default(), если значение на входе есть, то ничего не выполняется: if isinstance(value, Undefined) or (boolean and not value): return default_value return value

Maxim
08.08.2018
14:53:10
хм

тогда что я делаю не так?

Vadim
08.08.2018
15:03:36
мне кажется оно сначала пытаеся зарезолвить лукап, а потом подставить его в default

я бы сделал отдельную local_key с лукапом и подставлял переменную в дефолт

Constantin
08.08.2018
15:09:26
мне кажется оно сначала пытаеся зарезолвить лукап, а потом подставить его в default
Так это логично, во всех языках которые я знаю, сперва вычисляются внутренние выражения, а потом они передаются в качестве агрументов уже

Даниил
08.08.2018
15:12:40
Не совсем понял отличия command от shell
для command нельзя доп параметры кидать, вроде как

Maxim
08.08.2018
15:12:42
но ведь лукап передаётся аргументом к функции, которая вообще не должна вызываться

Maxim
08.08.2018
15:12:54
зачем вообще его считать?

Constantin
08.08.2018
15:13:09
зачем вообще его считать?
Она вызывается потому что pipe

Vadim
08.08.2018
15:13:34
зачем вообще его считать?
чтобы упасть раньше, если оно неправильное

(я не знаю, только предполагаю)

Constantin
08.08.2018
15:14:11
Я пока не очень силен в jinja {% if tem.public_key %}{{item.public_key}}{% else %}{{efault(lookup('file', 'public_keys/' + item.name)) }}{% endif %}
Maxim попробуйте, не так красиво, но может срабаотать (естественно не efault, а `default`)

bebebe
08.08.2018
15:14:30
Она вызывается потому что pipe
удваиваю этого господина

Maxim
08.08.2018
15:15:41
чтобы упасть раньше, если оно неправильное
ну то есть true || посчитай_факториал_пары_миллиардов должно сначала посчитать факториал на всякий случай? ?

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