@pro_ansible

Страница 504 из 625
Ruslan
30.06.2018
19:42:31
роль хочется использовать для разных наборов машин, а так получается, что облом

Sergey
30.06.2018
19:43:57
роль хочется использовать для разных наборов машин, а так получается, что облом
Нет. Здесь ты пытаешься инструмент выгнуть дугой под свою задачу вместо того, чтобы подумать над возможными вариантами применения инструмента и возможной переформулировкой задачи.

Ruslan
30.06.2018
19:46:15
ок, как переформулировать задачу: есть группа машин, у них общий CA, но отдельные сертификаты сервера для каждой машины, надо деплоить это через одну роль (ок, разруливается на уровне инвентори), а потом потребуется сделать то же самое для другого CA и сертификатов

Nklya
30.06.2018
19:48:04
ну того чтобы сделать универсальную роль, нужно засунуть сертификат в переменные Если вариантов не так много, можно в роли хранить несколько с разными именами

Google
Ruslan
30.06.2018
19:48:21
вариант с переменными неплох, но пока лениво копировать сертификаты в файлы, проще файлами, пока разрулил через copy ../../

Ruslan
30.06.2018
19:48:38
надо подумать короче

Sergey
30.06.2018
19:48:55
как certbot

Vasiliy
30.06.2018
19:49:29
В переменной можно имя файла хранить Можно копировать cp {{ machine_name }}*.pem Вариантов куча. Надо понять - что человек хочет.

Ruslan
30.06.2018
19:50:17
я хочу универсальную роль, которая работает с сертификатами, привязанными к инвентори

Vasiliy
30.06.2018
19:51:28
инвентори какое ?

Алгоритм выкладки опиши.

Липоля Аймаксович
30.06.2018
19:52:35
Файлы хранить в в файлах роли, а переменную с именем сертификата в переменной инвентори файла

Vasiliy
30.06.2018
19:52:57
let's encrypt чтоль ? Там копируй их с ноды, которая их обновляет и по ssh делай reload веб-серверу.

Липоля Аймаксович
30.06.2018
19:53:04
Через [machinegroup:vars]

Vasiliy
30.06.2018
19:53:52
и в чём проблема ?

Google
Ilya
30.06.2018
19:58:59
Роль может дергать сертификаты из хранилища в момент выполнения. И вот это "дергать" можно параметризовать через инвентарь. Например хранить серты в волте (хашикорповском), и дергать волт-модулем ансибля.

Либо дергать прямо из СА, если оно позволяет

Vasiliy
30.06.2018
20:02:04
ну да, проблема непонятна. если вопросы остались - нужны подробности

Павел
01.07.2018
06:27:36
Товарищи, а какой самый православный способ получения внешнего ip целевой машины?

?simplemice
01.07.2018
06:30:01
wget -O - -q icanhazip.com или curl ifconfig.me

ну а дальше в плейбук

Павел
01.07.2018
07:25:39
Я думал, что ipfy_facts?

?simplemice
01.07.2018
07:28:34
для авс азуре да ipify_facts

а так через шелл для любых

Павел
01.07.2018
07:39:04
Речь про амазон или вообще?
Самый универсальный красивый и для везде Ну то есть пока нет никакого ansible_external_ip?

Павел
01.07.2018
07:41:26
В общем случае задача не решаема.
Ну то есть тот же сервис по определению ip курлыкать

bebebe
01.07.2018
07:41:51
Голубиное определение ойпи адреса

wget -O - -q icanhazip.com или curl ifconfig.me
Если http трафик закрыт, можно делать так dig +short myip.opendns.com @resolver1.opendns.com

?simplemice
01.07.2018
08:00:01
Dmitry
01.07.2018
14:40:00
curl ifconfig.me сразу отдаст только ip

Google
Эдуард
01.07.2018
14:47:42
А нет, тупит сильно

Nklya
01.07.2018
14:48:45
ifconfig.co еще есть

Даниил
02.07.2018
09:16:18
господа, подскажите сеттинг, который делает вывод ошибок ансибла человекочитаемым

не могу вспомнить, как он называется

добавляется в ansible.cfg

Vadim
02.07.2018
09:17:14
stdout callback = yml

Даниил
02.07.2018
09:17:19
чтоб stderr не был в одну строку

спасибо

stdout callback = yml
хм, странненько, я добавлял этот сеттинг, но в awx вывод все равно кривой

Vadim
02.07.2018
09:21:46
хм, странненько, я добавлял этот сеттинг, но в awx вывод все равно кривой
так с пробелом и добавили или вспомнили что он пишется как stdout_callback = yaml?

Даниил
02.07.2018
09:22:43
вот в таком виде, все правильно stdout_callback = yaml

Vadim
02.07.2018
09:23:31
алсо awx такое не поддерживает - https://docs.ansible.com/ansible-tower/latest/html/administration/tipsandtricks.html#using-callback-plugins-with-tower

Даниил
02.07.2018
09:23:36
лежит в директиве [defaults]

а, вот оно как

спасибо за инфо

Maksim
02.07.2018
10:44:35
Мечтаю переехать с awx на jenkins

убью много зайцев сразу

bebebe
02.07.2018
10:45:09
Мечтаю переехать с awx на jenkins
переезжайте. полегчает

Maksim
02.07.2018
10:45:29
ну вот, как раз на новую работу выйду, буду делать

Google
Andrew
02.07.2018
10:45:33
Maksim
02.07.2018
10:45:54
ничем не плох, просто jenkins закрывает более одной задачи

Artem
02.07.2018
10:46:00
Шляпой ?

Vadim
02.07.2018
10:46:00
и чем дженкинс так хорош?

Maksim
02.07.2018
10:46:13
см.выше

bebebe
02.07.2018
10:46:45
и чем дженкинс так хорош?
как минимум очень большим комьюнити с очень большим количеством плагинов (Это и плюс. и минус)

как обычно.

ну и изначально можно построить красивый процесс CI/CD

Admin
ERROR: S client not available

Vadim
02.07.2018
10:49:36
ну и всякие дженкинсовские штучки типа "везде нужна ява"

bebebe
02.07.2018
10:50:44
в целом, немного не корректно сравнивать awx, и jenkins

Maksim
02.07.2018
10:55:06
мне надо строить CI, CD, поэтому awx будет лишним, будет лишь ansible для провижена

и деплоя

bebebe
02.07.2018
10:56:02
аминь.

Nataliia
02.07.2018
11:03:59
Всем, привет. Ткните носом где почитать или помогите, пожалуйста, разобраться. Есть вот такой вызов модуля get_url - name: Download archive to server get_url: url: "{{ search.artifact.full_path }}" dest: "{{ app_deploy_artifact_path }}/{{ search.artifact.name }}" headers: "X-JFrog-Art-Api: {{ artifactory.api_key }}" checksum: md5:{{ search.artifact.actual_md5 }} timeout: "{{ fetch_artifact.timeout }}" force: yes register: fetch_artifact until: fetch_artifact.status_code is defined and fetch_artifact.status_code == 200 retries: "{{ fetch_artifact.retries }}" delay: "{{ fetch_artifact.delay }}" when: search.artifact.remote До добавления until все работало нормально. Сейчас при попытке скачать архив, который уже присутствует на сервере падает 'file already exists'. Но мне казалось что в этом случае из-за checksum с force скачивание архива должно скипаться, как написано в доке. Почему until портит картину?

Nataliia
02.07.2018
11:10:20
2.4.4

Kirill
02.07.2018
11:13:38
jenkins + zuul вообще очень вкусно

Google
Nataliia
02.07.2018
13:37:32
Удаленность между сервером артифактори и сервером на который скачивается архив достаточная большая, возможно периодическое отваливание запроса по таймаута. Заказчик устанавливает кол-во попыток скачивания.

Vladislav
02.07.2018
13:41:45
на 3.7 питоне не заводили ansible?

я пока вижу, что привязка к python3.6 и на 3.7 ansible не ставится через pip

Gleb
02.07.2018
13:43:40
Vladislav
02.07.2018
13:44:07
хочу

Gleb
02.07.2018
13:44:47
хотя и по аватарке понятно что наркоман :D

Vladislav
02.07.2018
13:45:21
ок, а по теме есть что написать?

Gleb
02.07.2018
13:45:49
зачем?
вот же

Vladislav
02.07.2018
13:46:00
уже обсудили

по писать в чат можно и в других флудильнях

Sergey
02.07.2018
13:47:00
уже обсудили
Ансибл на неподдерживаемых версиях питона = ССЗБ

нечего тут обсуждать, в общем-то

Nklya
02.07.2018
13:49:22
я бы продолжил до ансибл на третьем питоне = ССЗБ

Sergey
02.07.2018
13:50:23
я бы продолжил до ансибл на третьем питоне = ССЗБ
А я бы в доку заглянул: https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html

Nataliia
02.07.2018
13:51:42
Вот код: https://github.com/ansible/ansible/blob/v2.4.4.0-1/lib/ansible/modules/net_tools/basics/get_url.py Судя по коду и сообщению об ошибке, твой аргумент force нехорош.
Но в случае если включен checksum, чтобы скипалось скачивание нужно force включать. Или я не правильно понимаю текст? Additionally, if a checksum is passed to this parameter, and the file exist under the C(dest) location, the I(destination_checksum) would be calculated, and if checksum equals I(destination_checksum), the file download would be skipped (unless C(force) is true)

Nklya
02.07.2018
13:51:54
я знаю что умеет, но не думаю что настолько хорошо как со вторым. плюс, что делать с комбинациями инфраструктуры с 2 и 3 питоном на хостах?

Nataliia
02.07.2018
13:53:50
а включите побольше дебага, что оказывается в fetch_artifact в первом проходе таски, при наличие файла на сервере?
И при наличии until, и при отсутствии fetch_artifact возвращает ok: [group1-host] => { "changed": false, "dest": "/data/archive.zip", "gid": 31861, "group": "group1", "invocation": { "module_args": { "attributes": null, "backup": null, "checksum": "md5:b4851d48c2a45d9d53116db039f630a4", "client_cert": null, "client_key": null, "content": null, "delimiter": null, "dest": "/data/archive.zip", "directory_mode": null, "follow": false, "force": false, "force_basic_auth": false, "group": null, "headers": "X-JFrog-Art-Api: xxx", "http_agent": "ansible-httpget", "mode": null, "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "sha256sum": "", "src": null, "timeout": 10, "tmp_dest": null, "unsafe_writes": null, "url": "http://xxx.ru/archive.zip", "url_password": null, "url_username": null, "use_proxy": true, "validate_certs": true } }, "mode": "0664", "msg": "file already exists", "owner": "perf", "size": 475190739, "state": "file", "uid": 31861, "url": "http://xxx.ru/archive.zip" Только в случае с until такой возврат интерпретируется как ошибка.

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