@pro_ansible

Страница 266 из 625
Dmitry
31.08.2017
13:19:26
но проще по-моему про https://testinfra.readthedocs.io/en/latest/ рассказать

Pavel
31.08.2017
13:21:53
не оч удобно с ssh и молекулой, если несколько хостов надо поднять, ssh будет только на последний из поднятых (перегенеривается вагрантайл), но это не беда

Константин
31.08.2017
13:22:33
в чем смысл этого testinfra если такие же тесты можно и на ансибле писать через fail when

Google
Pavel
31.08.2017
13:23:36
как ты ансиблом порт послушаешь?

Константин
31.08.2017
13:24:12
wait_for + shell: curl например

Алексей
31.08.2017
13:24:53
решается тем что факт декларации того что сервис поставлен не равен тому что сервис работает.

можно всё сделать ансиблом но довольно не удобно.

ну и для себя я еще нашел один аргумент. если городить проверки ансиблом получается самопроверка. а для лично меня это синоним отсутствия проверки

всё конечно imho

Pavel
31.08.2017
13:26:34
wait_for + shell: curl например
ну какбы ансибл не для того же

Dmitry
31.08.2017
13:27:51
wait_for + shell: curl например
это даже хуже программирования на конфигах. это ебаное днище вообще. потом начнется "давайте скачаем curl'ом json и проверим, что можно залогиниться (читай - база не пустая, а импортнулась верно)"

Алексей
31.08.2017
13:30:42
ну и если говорить про валидаторы goss с его портом на котором он возарашает ok это вершина человеческих достижений. даже боюсь бозон хигса по сравнению с этим просто взятая в руки палка.

Константин
31.08.2017
13:30:43
чем хуже то? а для проверки авторизации у нас смоук тесты на клиентах сделаны

Ihor
31.08.2017
13:40:31
Еще вопрос

Google
Ihor
31.08.2017
13:41:21
- name: Reload nginx systemd: state=reload name=nginx

Говорит нет такого reload

Как сделать reload nginx,

Через shell?

nginx -s reload

Нужно reload

Алексей
31.08.2017
13:42:37
Говорит нет такого reload
service: name=nginx state=reloaded

но вообще это должно быть handler

Ecklory
01.09.2017
06:52:19
Доброго времени суток. Суть задачи: организация доставки патчей с помощью Ansible. Есть сервер "A", на котором в директории /home/updates/simpler будут лежать обновления (различные библеотеки и тд и тп). Есть сервер "B", для которого нужно доставить обновления в директорию /home/servers/неизвестнЫЕ папки/simple То есть, у нас подмножество неизвестных папок с одинаковыми файлами на сервере "B". Нужно по совпадению (или хешам или ещё как-то) с сервера "A" заменить все однотипные файлы в /home/servers/неизвестнЫЕ папки/simple на сервере "B". При этом нам известно: путь до неизвестных папок и пути после неизвестных папок. Умеет ли что-то подобное Ansible? Если да, то как подобное организовать? Ansible "только заинсталил".

Ecklory
01.09.2017
06:58:31
Серверов "B" на данный момент один, но планируется достаточно большое количество.

Pavel
01.09.2017
07:00:47
Серверов "B" на данный момент один, но планируется достаточно большое количество.
тогда я бы запускал анзиблем на каждом из группы "В" скрипт, который тащит обнову с "А" (если, конечно с них есть доступ к "А")

Ecklory
01.09.2017
07:01:33
Внутри сети "всё можно". "A", "B", "Ansible" внутри сети.

Pavel
01.09.2017
07:03:25
Внутри сети "всё можно". "A", "B", "Ansible" внутри сети.
ну вот - скипт кладем в анзибль, и перебираем всю группу "В" с запуском скритпа на них

не говорю, что самое классное решение, но простое и я бы так делал

Ecklory
01.09.2017
07:05:20
https://stackoverflow.com/questions/38572437/ansible-using-regular-expression-in-the-module-copy

Ecklory
01.09.2017
07:10:57
Gleb
01.09.2017
07:14:57
Да я к тому что система вся странная плюс это не атомарно совсем как то. Может вам лучше собирать артефакт где то в архив со всем по и обновлять целиком? Т.е архив + скрипт ну и ансибл, либо пакет собрать под ос

Google
Gleb
01.09.2017
07:15:14
Пакет не принципиально собирать

Но сама идея плохая с отдельными файлами

Ecklory
01.09.2017
07:19:01
Но сама идея плохая с отдельными файлами
Накатывать полноценный патч... не имеет смысла. Обновляться будут только несколько библиотек, которых могут быть сотни и располагаться они могут по частично известным нам путям.

Ecklory
01.09.2017
07:31:00
Снапшоты виртуальной машины, перед каждым апдейтом.

Апдейты запускаем вручную.

Maksim
01.09.2017
12:00:22
ну, как то выстранно, запускайте на виртуалке rsync и вуаля

он только обновленные файлы подтянет

делать так же через ansible

либо с сервера A гоните на все хосты

да хоть в git склдывайте

у меня такое было

это незывалось не обновлениями. а фиксами

Anatoly
01.09.2017
12:08:01
это незывалось не обновлениями. а фиксами
у него там бардак с путями, которые для него неизвестны и (как я понял) в зависимости от либы пути могут указывать в разные места., что для рсинка такая себе задача, но в целом, да.

Maksim
01.09.2017
12:08:47
пусть создает идентичную структуру каталогов

Anatoly
01.09.2017
12:10:34
так может просто либы нормально упаковать сразу? с версионированием, пост инстал скриптами ну и прочими штуками, вместо того чтобы обмазываться рсинком?

Maksim
01.09.2017
12:13:36
надо понять сначала специфику задачи, но я думаю он сам разберется

Azer
01.09.2017
12:17:27
Есть вопрос: каким образом в ansible-console можно указать vars_files?

Google
Anatoly
01.09.2017
12:50:32
+1
на двушечку я сегодня уже насобирал, спасибо

Sergey
01.09.2017
12:50:48
?

Sergey
02.09.2017
22:12:15
Всем привет. Скорее всего, я побуду капитаном Очевидность, но недавно вычитал в доках по ансиблу крутую штуку. В общем, начиная с версии 2.2, можно вызывать роли как обычные таски. При этом роль полностью загружает все свои параметры - локальные, глобальные. из окружения и пр. Пример использования: одна из ролей вызывает часть другой (примерно как функцию!), а результат - использует. Ещё один шаг к уменьшению количества глобальных переменных. Крутотень просто!

Алексей
02.09.2017
22:14:01
интересно

продолжай

Sergey
02.09.2017
22:16:58
Вот как это выглядит с конкретными буквами:

- name: Pull другаяроль information include_role: name: другаяроль tasks_from: facts.yml vars_from: main.yml - name: Add imported values set_fact: другаяроль: '{{ другаяроль | combine({ item.key: item.value }) }}' with_dict: "{{ fact_result }}"

а тем временем в другаяроль/tasks/facts.yml: - name: Pass this package's path to another role set_fact: fact_result: deploy_path: "{{ deploy_path }}" ver_maj_min: "{{ ver_maj_min }}"

ну и всё, теперь исходная вызывающая роль знает нужные параметры от "другаяроль".

===== 8X ======== 8X =====

Sergey
02.09.2017
23:03:29
на доку чтоль?

http://docs.ansible.com/ansible/latest/include_role_module.html

Oleksandr
02.09.2017
23:04:10
на ссыль в доке... я пытался когда то искать новые фичи по релизам... так и не в курил... приходилось заново по кругу читать маны

спасибо

Sergey
02.09.2017
23:04:23
пожалуйста

Sergey
02.09.2017
23:15:53
У меян таких задач не стояло, а теоретически можешь передать заранее оговорённую с собой же переменную ?

Google
SarDigital
03.09.2017
04:28:15
привет всем, тут где-то прочитал что добавили order: sorted, для сортировки хостов

пишут про версию 2.4, она вообще релизнулась?

Nklya
03.09.2017
05:17:55
Ещё нет

Алексей
03.09.2017
10:28:03
про костыли надо знать.

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