G72K
find -L _ansible-playbooks/ -type l -delete
Сразу видно опытного посетителя интервью :))
Nick
подскажите, есть какой-нибудь fuse модуль или еще какой вариант «записать» в каталог сотни файлов, на выходе получить архив, при этом на диск кроме архива ничего не писать? кейс - borg export умеет писать только на диск, а мне нужно из бекапа получить архив.
Nick
вариант с nginx + mod_zip я знаю, но это очень медленный вариант в данном случае
Роман
у меня только мысли про монтирование файла как блочного устройства с полноценной ФС...
Mark ☢️
Можно ж подмонтировать борговскую шнягу как fuse. А потом из этого хоть тарник хоть сквашьфс сделать
Mark ☢️
Чо не такто
Mark ☢️
Нахер тебе экспорт
Nick
Можно ж подмонтировать борговскую шнягу как fuse. А потом из этого хоть тарник хоть сквашьфс сделать
вот я и написал, что это очень небыстро. с fuse там примерно в 10 раз что ли медленнее, чем borg export (это все есть там в тикетах, но пока нет решения и пока ни у кого нет идей что делать)
Nick
про экспорт в архив тоже есть тикет, аж из первых двухсот, он так с тех пор и открыт
Nick
поэтому с точки зрения скорости надо сделать именно borg export, но непонятно куда.
Mark ☢️
А поконкретнее ?
Roman
А поконкретнее ?
А что конкретнее? Есть определенные гарантии и чтобы их обеспечить особенно не покешишь.
Mark ☢️
А что конкретнее? Есть определенные гарантии и чтобы их обеспечить особенно не покешишь.
Ага. Особенно когда читаешь файлы. Какие там особые гарантии то ?
Nick
Dmitrii
Хочу расширить функциональность функции Terraform в интерполяции file() до возможности чекать не только локальный файл но и ходить по http(s). Как думаете, прокатит? Или скажут сразу "Иди нахуй"?
Dmitrii
Или стоит сразу сделать отдельную функцию url() каторая бы возвращала raw контент?
Magistr
мм что-то такое уже работает для ссх ключей емнип
Dmitrii
Есть функция file() но судя по сорцу она только контент локальных файлов берет
Magistr
сорри перепутал с ансиблом
Dmitrii
Короче длячего вся эта телега мне нужна. Я через null_recourse запускаю ансибл. И хотелось бы иметь registry с метадатой, когда обновились плейбуки для этого сервиса. Чтобы в triggers значение аттрибута менялось через, например, url() при интерполяции и терраформ запускал провиженинг ноды.
Dmitrii
Можно конечно все это перемотать через local-exec + curl && file() -интерполяцию, но чет не охота до такой степени измазываться говном (
Dmitrii
Нежданчик прилетел откуда не ждали https://github.com/hashicorp/terraform/pull/14270
ASTASHOFF
интересно :)
Dmitrii
Чет я как то поспешно вписался в эту хуйню походу
Dmitrii
Там целый провайдер + дата сорс надо городить 😐
Dmitrii
Только к дата сорсу ещё нужен провайдер стаб без ресурсов.
G72K
terraform - боль. Терпите
Dmitrii
Кто-нибудь писал провайдеры? У меня в юнит тесте почему то в рут модуле в ресурсах его нет(
Dmitrii
Подозреваю что проблема в самом тесте, но сам бинарь ещё не компилил чтобы проверить. Поздно было уже вчера.
Dmitrii
terraform - боль. Терпите
В целом пока вот мне не хватало такой вот фичи и я рад что они не против ее принять. Так что когда доделаю, у меня в текущем кейсе терраформ будет единой точкой входа в CI и в ASG на проде.
G72K
На всякий случай: ASG только конфиг обновит, инстансы не перезапустит
Dmitrii
В смысле старые? Если да то вроде звучит логично
G72K
Ну CloudFormation вот перезапускает, очень удобно
Dmitrii
Мне кажется это не задача ASG.
Dmitrii
Есть же еще LC. А старые ноды, кмк должны подсасывать инфу через что-то типа Consul.
Dmitrii
Какой у вас юз-кейс для рестарта?
Dmitrii
Замержили фичу. В след версии TF будет дата-сорс http. https://github.com/hashicorp/terraform/pull/14270 Пример: data "http" "example" { url = "https://checkpoint-api.hashicorp.com/v1/check/terraform" # Optional request headers request_headers { "Accept" = "application/json" } }
Slach
народ, как выцепить core dump из упавшего контейнера? cat /proc/sys/kernel/core_pattern |/usr/share/apport/apport %p %s %c %P в какой каталог смотреть? docker под ubuntu xenial последний стабильный
G72K
Какой у вас юз-кейс для рестарта?
Как какой? У вас tf вернул success , а ноды какими были такими и остались. Если запускать с нуля, то ноды будут новыми при том же самом success, неконсистентненько. Откуда вам знать что новый LC жизнеспособен, кроме как ноды обновить
Aleksey
парни, а можно както консулу подсказать порядок выбора сервиса при резолве через днс ? у меня сейчас есть 2 сервиса с разными тегами, но одним именем, я хочу что бы всегда отдавался первый и если он помрет тогда второй пока не поднимется первый.
Aleksey
я в принципе видел что там есть query, но не вижу там фильтров по тегам
Mark ☢️
l1njan
в телеге не хватает reactions, как в slack, что бы вместо тысячи слов
Роман
Dmitrii
> Q. Does Amazon VPC support multicast or broadcast? > > No.
Dmitrii
Кто может сказать почему такие ограничения?
Sergei
Кто может сказать почему такие ограничения?
by design вероятно. не знаю о дизайне VPC в амазоне, но предположу, что broadcast/multicast могут чрезвычайно сильно нагружать нижележащую физическую сеть, как, например это было бы в случае unicast VXLAN.
Magistr
Кто может сказать почему такие ограничения?
у них под капотом XEN сильно перепиленый, алсо гугл тоже неумеет мультикаст
Dmitrii
Печаль
Alexey
Потому что наверняка VPC это оверлей и эмулировать броадкаст/мультикаст там очень дорого
Lex
хай
Lex
есть спецы по терраформу?
Александр
Хрыч
Александр
😆
Александр
Спец из спецов во всём
Lex
бля, Я про людей которые разбираются, а не говорят, что разбираются
Александр
Эм, тут вроде Котовский мучался с терру
Lex
короче, нужно в интерполяции для aws_instance.etcd.*.private_ip получить номер инстанса
Lex
точнее даже для aws_instance.etcd.*
Lex
то есть всех инстансов получить список типа [etcd.0, etcd.1, etcd.2, ...]
Александр
котоплексия
Dmitrii
Dmitrii
Еще вроде через jsonencode() можно но не пробовал
Dmitrii
А, номер. Сорри
Lex
А, номер. Сорри
угу, он самый, мать его
Dmitrii
https://www.terraform.io/docs/configuration/interpolation.html#index-list-elem-
Dmitrii
Вот попробуй эту функцию
Dmitrii
Но нужно что-то хтя бы знать об инстансе. Например его IP
Dmitrii
Тогда оно вернет его индекс
Dmitrii
@zunkree лучше скажи что в итоге должно на выходе получиться в "примитиве"?
Lex
{ "etcd.0" = "10.2.2.1", "etcd.1" = "10.2.2.2", "etcd.2" = "10.2.2.3" }