
Ivan
03.05.2018
15:24:07
зачем оно непонятно
Чтобы «ставить одной командой» curl -Lkfs https://github.com.../url | bash -s
Ну и разрабам не надо заморачиваться поднимать свой репо или заботиться о включении в репозитории дистрибутивов.

Vadim
03.05.2018
15:24:57

Ievgen
03.05.2018
15:25:22
https://packagecloud.io/tarantool/1_10
вот тут это нормальная реализация

Google

Ievgen
03.05.2018
15:25:38
а там говно
curl -s https://packagecloud.io/install/repositories/tarantool/1_10/script.rpm.sh | sudo bash

Ivan
03.05.2018
15:26:13

Ievgen
03.05.2018
15:26:15
чем это сложнее чем curl -Lkfs https://github.com.../url | bash -s ?
при том что все пакетировано и нет никаких артефактов?
странных с которыми потом приходится трахаться
я смотрю что в rpm.sh ничего ценного корме распаковки кстати

Nklya
03.05.2018
15:28:27
Бить надо не разрабов, а всех

Ievgen
03.05.2018
15:28:29
что то есть в install.sh который из него получается

Nklya
03.05.2018
15:29:34
В тарантуле кстати есть нормальные деб и рпм пакеты

Ievgen
03.05.2018
15:29:49
есть, надо было просто свежак

Ivan
03.05.2018
15:29:49

Ievgen
03.05.2018
15:31:05
@zl0tel загляни в install.sh там походу половина это вода под другие системы типа солярки итд

Google

Ivan
03.05.2018
15:33:02

shadow
03.05.2018
15:33:08
угу, в кое веки руки добрались до ансибла, а вы меня заставляете делать все, но только не ансибление. У меня более глобальная идея - переписать все с папета на ансибл и как можно быстрее :)

Vadim
03.05.2018
15:33:25
Кодют тут и кодют

shadow
03.05.2018
15:34:16
дык надо же все сразу и желательно вчера

Nklya
03.05.2018
15:34:52
Тут все зависит от проблемы.
Переписывать все с A на B, а потом на С можно бесконечно

Ivan
03.05.2018
15:36:57

Vadim
03.05.2018
15:37:23
Так тут не переписывание, тут баш с пакетами заворачивают в энсибл

Nklya
03.05.2018
15:39:21
И получается баш на ямле

Vadim
03.05.2018
15:41:17
we need to go deeper. Dockerfile считается или приравнен к башу?

Nikita
04.05.2018
05:20:30
Всем привет, есть тут специалисты по ansible tower / awx ?

Maksim
04.05.2018
05:33:03
специалистов нет
но есть те кто пользуется

Nikita
04.05.2018
05:50:31
но есть те кто пользуется
Можете объяснить использование ролей в awx? Я правильно понимаю, что роли я так же кладу в ansible/roles, а плейбуки например храню в git. При создании PROJECT я указываю git как источник плейбуков и при их запуске они сами знают где лежат роли?

Maksim
04.05.2018
05:51:02
пиши в личку

Nikita
04.05.2018
05:51:08
Ок

Maksim
04.05.2018
08:09:16
Кто-нибудь использовал модуль at?
http://docs.ansible.com/ansible/latest/modules/at_module.html
мне нужно запускать задание в определенное время единожды
а с этим модулем не понятно
есть идеи ?
мне допустим надо в полночь удалять созданный контейнер

Google

Nklya
04.05.2018
08:28:20
Странным задачам - странное решение
Ну засунь в крон например

Leonid
04.05.2018
08:34:10
А что с at не так? Это разовая фигня, если тебе одну задачу зашедулить.
Если каждую ночь, то крон

Timur
04.05.2018
08:40:45

Maksim
04.05.2018
08:55:17
У меня lxc, хочу в полночь грохать, а если не надо то через tags буду оставлять
at не совсем правильно работает
точнее функционал немного другой
он запускает через N минут, а мне надо в точное время, есть вариант вычислять 00:00:00-now()

Salem
04.05.2018
09:52:30
так сделай через крон

Timur
04.05.2018
09:54:20

Maksim
04.05.2018
09:54:43
не то, хочу через штатный модуль at

Timur
04.05.2018
09:55:51
а, ну тогда проще патч для модуля написать :)

Maksim
04.05.2018
09:56:31
пытаюсь вычислить разницу между текущим временем и полночью

Timur
04.05.2018
09:59:57
def add_job(module, result, at_cmd, count, units, command, script_file):
at_command = "%s -f %s now + %s %s" % (at_cmd, script_file, count, units)
rc, out, err = module.run_command(at_command, check_rc=True)
if command:
os.unlink(script_file)
result['changed'] = True
def delete_job(module, result, at_cmd, command, script_file):
for matching_job in get_matching_jobs(module, at_cmd, script_file):
at_command = "%s -d %s" % (at_cmd, matching_job)
rc, out, err = module.run_command(at_command, check_rc=True)
result['changed'] = True
if command:
os.unlink(script_file)
module.exit_json(**result)
в принципе, достаточно просто, и очень странно, что до сих пор не впилили поддержку
:)
(очень коряво, спорить не буду)


Mikhail
04.05.2018
10:32:06
Парни, в чем может быть трабла. Файл_с_переменной.yml:
my_top_secret: !vault |
$ANSIBLE_VAULT;1.1;AES256
62623238356436383836616130613863633431313631346263346236646261613738333335356434
6239653361333562653734646239386332643962353433630a643539643932643839626134666661
30326266363335333364386131353366653930346661316134353837303566393137336634626336
6437377435323036380a623532353534656234316131643123326663306664303430366164336539
6332
В роли таска:
- name: Include env vars
include_vars:
dir: "{{ путь_до_моей_чудной_переменной }}"
extensions:
- yml
А в консоли следующее:
[WARNING]: Failure using method (v2_runner_on_ok) in callback plugin (<ansible.plugins.callback.default.CallbackModule object at 0x7f6df6f89410>): u'мой_расшифрованный_секрет' is not JSON
serializable
ЧЯДНТ?

Google

Nikita
04.05.2018
10:39:37
Ребят, а кто может объяснить как работает tests в роли? Или ссылку кинуть, не могу найти

Vadym
04.05.2018
10:44:39
всем доброго времени суток, кто может поделится книгами на русском языке по ANSIBLE зарание благодарен

Nklya
04.05.2018
10:46:27
Только такое вот
http://dmkpress.com/catalog/computer/os/978-5-97060-513-4/

Igor
04.05.2018
10:47:21
Название интересное

Ilmar
04.05.2018
10:53:26
Добрый день или для кого как. Обновил тут ансибл в убунте неглядя до 2.5.2. В результате перестала работать дивная конструкция по определению узла, на котором отрабатывает плейбук, в момент его исполнения. Узлы представлялись в виде host-X, где X число, запрашиваемое в плейбуке. Выглядело так:
---
- name: 'Что-то делаем с хостом'
hosts: 'host-{{host_num}}'
vars_prompt:
- name: "host_num"
prompt: "Enter host_num"
private: no
tasks:
В 2.4 данный изврат прокатывал, теперь внезапно генерит ошибку (что в принципе ожидаемо). Кто-то подобные вещи использует? Есть обходной путь?

Vadim
04.05.2018
10:59:16
--limit же
зачем этот кошмар

Ilmar
04.05.2018
11:09:03
мне надо один узел из 200 условно
при этом жить может только он один, а остальных нет
но ок, пойду освежу знания по ограничениям

Salem
04.05.2018
11:09:52
это может иметь смысл если ты кому-то неопытному этот плейбук передаешь
чтобы он ручками вбил номер
а если для себя, юзай лимит, как выше сказали

Ilmar
04.05.2018
11:10:50
в этом был смысл, когда я это писал всё, да. мне показалось так меньше ошибок. плюс сам номер тоже внутри используется для всякого

Pavel
04.05.2018
11:16:44

Vadim
04.05.2018
11:33:02
сделай плейбук где выбирается хост, добавляется в пустую группу - и поехали

George
04.05.2018
13:51:31
Я бы просто run_once: true повесил.

Andrey
04.05.2018
14:58:29
Добрый день! jinja шаблон не видит ansible_default_ipv4
Для проверки
ansible -i ./hosts -m debug -a "var=ansible_default_ipv4" -b db
db2.***.ru | SUCCESS => {
"ansible_default_ipv4": "VARIABLE IS NOT DEFINED!"
}

Google

Andrey
04.05.2018
14:58:42
излазил инет не пойму в чем дело
ansible 2.5.2
как гвоорится вчера работало

Vadim
04.05.2018
15:02:55

Andrey
04.05.2018
15:04:37
смотрел
route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 *.*.165.1 0.0.0.0 UG 0 0 0 eth0
*.*.165.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
@vrutkovs

Vadim
04.05.2018
15:05:48

Andrey
04.05.2018
15:07:26
а факты собирал?
ansible all -i localhost, -m setup -c local
...
"ansible_default_ipv4": {
"address": "***.***.165.185",
"alias": "eth0",
"broadcast": "***.***.165.255",
"gateway": "***.***.165.1",
"interface": "eth0",
"macaddress": "**:**:**:**:**:**",
"mtu": 1500,
"netmask": "255.255.255.0",
"network": "***.***.165.0",
"type": "ether"
},
Нет идей?

Nklya
04.05.2018
15:32:28
ну определись для начала с чем связана проблема.
Если это раньше нормально работало - откатись на предыдущую версию.
А потом смотри ченжлог 2.5

Andrey
04.05.2018
15:50:20
Я не менял версию просто хостер перенёс сервер из тестового в прод тариф и уверяет что все идентично. Если бы я знал с чем связана давно бы решил

Vadim
04.05.2018
15:50:46
ansible all -i localhost, -m setup -c local
...
"ansible_default_ipv4": {
"address": "***.***.165.185",
"alias": "eth0",
"broadcast": "***.***.165.255",
"gateway": "***.***.165.1",
"interface": "eth0",
"macaddress": "**:**:**:**:**:**",
"mtu": 1500,
"netmask": "255.255.255.0",
"network": "***.***.165.0",
"type": "ether"
},
так вот же она, заполнена после сбора фактов

Andrey
04.05.2018
15:52:16
Да это на сервере выполнил а на моем не работает
Вроде как все норм а переменная пуста

Sergey
04.05.2018
15:55:55
issue говорит о том, что в случае только одного интерфейса этой переменной не будет
ты это проверил?