
Dmitry
05.09.2018
22:14:58
?

Sergey
05.09.2018
22:16:04
Миграция параметров сводится к перемещению/обновлению их между каталогами с инвентори. В этом случае у тебя _все_ ветки работают с одними и теми же параметрами. В моей практике это ок - намного чаще меняется содержание роли, чем параметры окружения.
Но может потребоваться несколько специфическая организация этих параметров.

Dmitry
05.09.2018
22:16:52

Google

Sergey
05.09.2018
22:17:35

Dmitry
05.09.2018
22:17:40
да
плюс тесты, а-ля dev-perf, dev-perf-vasya как вариант

Sergey
05.09.2018
22:19:07
В дев-ветке у тебя этот параметр будет только для дев-инвентори, в стейдже - и в дев-инвентори, и в стейдж-инвентори, в продакшне - в дев-, стейдж- и продакшн-инвентори.
Опять же - речь только о названии параметра. Значения, разумеется, могут отличаться.

Dmitry
05.09.2018
22:19:08
@vrutkovs А как ты думал про управление изменениями параметров а-ля group_vars? Какой порядок действий?
и merge по определенным путям между dev/stg/prod не возможен
(типа inventory/* )
Не понятно как это. "все работают с одноми и теми же параметрами"
или речь идет про название параметра, но не его значение

Sergey
05.09.2018
22:27:12

Dmitry
05.09.2018
22:27:38
где они хранятся?

Google

Vadim
05.09.2018
22:29:09

Dmitry
05.09.2018
22:29:47

Sergey
05.09.2018
22:30:49
Нет большого смысла переменные по веткам таскать.

Dmitry
05.09.2018
22:32:42
хорошо, остановимся на следующей модели:
roles/*, playbooks полностью переезжают по веткам. параметры окружения, инвентарь залочены в ветке (inventory/, group_vars, host_vars...)
так?

Sergey
05.09.2018
22:36:49
да, вполне.
только в этой модели описанный выше вопрос с пином версий плоховато решается.

Alexander
05.09.2018
22:37:12
Как мне общий для ролей файл переменных сделать? Куда его засунуть?

Sergey
05.09.2018
22:37:46

Alexander
05.09.2018
22:39:54

Sergey
05.09.2018
22:40:59
Уф, спасибо
Только сразу предупреждаю, что это придётся это для каждого инвентори сделать.

Alexander
05.09.2018
22:41:29
Ну мне пока главное, что для всех ролей сразу

Dmitry
05.09.2018
22:49:54

Sergey
05.09.2018
22:50:31

Dmitry
05.09.2018
22:50:43

Sergey
05.09.2018
22:52:25
я пин версий делал в group_vars/all/versions.yml.
Тогда у тебя любая группа и любая роль знает, какая версия какого компонента должна быть.

Dmitry
05.09.2018
22:55:06
Спасибо. Пойду думать мозгом

Sergey
05.09.2018
22:55:55
В целом цель простая - любая ветка должна содержать всё необходимое дла того, чтобы её развернуть туда, куда твой процесс предусматривает.
Светлых мыслей тебе ?

Dmitry
05.09.2018
23:31:28

Google

Dmitry
06.09.2018
00:50:47
кто-то юзает? Давно не смотрел, раньше не было назначения ролей... https://theforeman.org/plugins/foreman_ansible/2.x/index.html

bebebe
06.09.2018
06:38:21

Dmitry
06.09.2018
06:39:37

bebebe
06.09.2018
06:40:53
Foreman сам по себе достаточно тяжёл в абстракциях. Он только усложнит простой подход ансибла
Боль переедет в другое место

Danis
06.09.2018
07:08:07
Как получить списком ip адреса хостов из hosts?

bebebe
06.09.2018
07:36:13
Как получить списком ip адреса хостов из hosts?
- name: parsing /etc/hosts
command: awk '!/(^#|^[ ]+?$)/ {print $1}' /etc/hosts
register: etc_hosts_output
- name: creating list from hosts
set_fact:
etc_hosts: "{{ etc_hosts_output.stdout.split('\n') }}"
странно, что в фактах такой информации нет об /etc/hosts

Danis
06.09.2018
07:57:06
Из инвентори файлика

bebebe
06.09.2018
07:59:41
три плети этому господину

Yes
06.09.2018
08:22:41

Сергей
06.09.2018
08:23:20
какая прелесть

bebebe
06.09.2018
08:23:59
кто-то не получит квартальную премию..

?simplemice
06.09.2018
08:24:13
ушла эпоха ансибла

Artem
06.09.2018
08:25:39
лал

Сергей
06.09.2018
08:25:59
гы - пиздаватизм

bebebe
06.09.2018
08:27:13
Updated Date: 2017-11-16T16:12:16Z
Creation Date: 1995-02-03T05:00:00Z
Registry Expiry Date: 2022-02-04T05:00:00Z
это видимо хостинг протух

Artem
06.09.2018
08:27:58
Expiry Date: 2022 же

Yes
06.09.2018
08:28:21

Google

?simplemice
06.09.2018
08:28:58
в гугле :)

bebebe
06.09.2018
08:28:58

Alexander
06.09.2018
08:29:04
https://docs.ansible.com/
у меня работает. основной - нет

Yes
06.09.2018
08:29:20

bebebe
06.09.2018
08:30:29
хехе, начал искать твиты по этому поводу, и первый что нашел от @vrutkovs 24 секунды назад ?

Vadim
06.09.2018
08:32:55
ну дык, все ж профи, в закрытых чатиках над контентменеджерами хихикать

bebebe
06.09.2018
08:33:29
ну, надо сказать что какой-то индус 15 минут назад хайлайтнул @ansible в твитторе с этой проблемой
https://twitter.com/sandipb/status/1037615758019162113

Admin
ERROR: S client not available

Yes
06.09.2018
08:34:34

cent
06.09.2018
08:35:20
Так https://docs.ansible.com же работает.

bebebe
06.09.2018
08:35:23

Stepan T.
06.09.2018
10:01:32
Если кто не знает, есть ansible-doc MODULE_NAME -s
На случай если https://docs.ansible.com перестанет работать

Artem
06.09.2018
10:05:10
We are working through the Hubspot known issue of some webpages loading. http://Ansible.com is affected and we hope it will be resolved quickly.

Alexander
06.09.2018
11:37:38
Ребят, для вывода после исполнения плейбука вконце каких либо результирующих переменных есть какаятт отдельная функция или просто таск неоьхожимо писать?

Maksim
06.09.2018
11:37:58
debug

Alexander
06.09.2018
11:38:14

Maksim
06.09.2018
11:38:34
https://docs.ansible.com/ansible/2.6/modules/debug_module.html им можно все что угодно выводить

Udjin
06.09.2018
11:49:33

Google

Udjin
06.09.2018
11:50:06
3 дня бьюсь уже

bebebe
06.09.2018
11:50:29
не расстраивайтесь, все получится

Nklya
06.09.2018
11:51:11
Берёшь шаблоны и никакого геморроя

Strong
06.09.2018
11:52:07
подскажите плиз, какой аргумент прописать в when чтобы таска не запускалась, если определенная служба запущена?

Vadim
06.09.2018
11:52:18
за использование blockinfile и lineinfile больше двух раз надо милицию вызывать

Nklya
06.09.2018
11:53:25

Strong
06.09.2018
11:53:39

bebebe
06.09.2018
11:54:32


Udjin
06.09.2018
12:08:26
prometheus.yml
https://pastebin.com/ZWRxzAEn
cодержимое переменной my_hosts после запуска этого таска - https://pastebin.com/Lyy6q5SX - айпишник хоста из группы. В группе один хост.
В конце хочу получить вот это:
https://pastebin.com/8e1mwcJc
—————————————————
Прошу прощения, но я бы решил эту задачу на руби за 3 минуты. Но просто хочу следовать канонам ансибла, и не пихать модули шелла. Это ещё хуже чем blockinfile использовать.
Я не получу никакой зарплаты за это. Это задание - чисто для себя, если хотите - просто интересно, изучаю ансибл.
Если вы позволите, я искренне готов отблагодарить вас за помощь как-нибудь материально, на пиво, например)

bebebe
06.09.2018
12:28:25
кривовато немного, но я надеюсь никто вникать не будет и не заметит :3


Vadim
06.09.2018
12:29:41
мммм, регэкспы

bebebe
06.09.2018
12:29:43
на выходе получилось такое
#some-domain-name
- job_name: 'some-domain-name'
static_configs:
- target: ['1.1.1.1:9100']
- target: ['2.2.2.2:9100']
- target: ['3.3.3.3:9100']
хотя, этот жи yaml, можно его залоадить, сделать |from_yaml, поправить структуру targets, и заново сдампить

Alex
06.09.2018
12:31:02

bebebe
06.09.2018
12:59:45
печально конечно выходит

Udjin
06.09.2018
13:10:56
то есть заменило айпишник во всех targets на айпишник хоста из тестовой группы