Size: a a a

2020 April 20

A

Andor in terraform_ru
а для чего это нужно, если не секрет?
источник

N

Nick in terraform_ru
у меня кластер кликхауса с зукипером  и мне важно раздать id своим хостам
если вводить разделение на шарды по регионам, то все ок - в рамках региона у тебя count пронумеровывает
но тут возникла необходимость сделать кластер с одним шардом на два региона, и я неожиданно испытал неудобство
источник

A

Andor in terraform_ru
а нельзя просто random_string использовать для именования, а не индексы?
источник

N

Nick in terraform_ru
можно рандомное число наверное
источник

N

Nick in terraform_ru
хорошая идея, спасибо)
источник

A

Andor in terraform_ru
если очень остро хочется индексы и модуль свой, то можно ему завести параметр "начало отсчёта" и сделать дефолт 0, когда модуль вызывается второй раз - передавать ему количество созданных нод из предыдущего подключения модуля, чтобы он индекс начинал с этого числа и т.д.
источник

DZ

Dmytro Zavalkin in terraform_ru
тут имхо какие-то названия лучше чем цифры, а если потом шардов станет больше и сдохнет один или переезд в другое облако? Потому выйдет чтоу шардов номера 0, 2 и 3 - и что, фиксить нумерацию?
источник
2020 April 21

N

Nick in terraform_ru
дело в том что члены кворума зукипер должны иметь id [1..255]
источник

DZ

Dmytro Zavalkin in terraform_ru
тогда рандомное число не подходит - они же могут выпасть одинаковые
источник

N

Nick in terraform_ru
это да, нужно какое-нибудь условие
но думаю для деплоя на 1 раз может и ладно
источник

s

stempher in terraform_ru
Dmytro Zavalkin
стоит начать с TF_LOG=debug
https://pastebin.com/raw/9sFyhUTu
объединил два модуля в один - все равно эффекта 0... ошибка при импорте:
# /go/bin/terraform import module.teamcity.teamcity_project.project test-subproject

Error: Error making API request.
URL: PUT https://xxx/v1/auth/terraform/login
Code: 400. Errors:

* missing role_id
 on modules/teamcity/provider.tf line 1, in provider "vault":
  1: provider "vault" {

такое впечатление что переменные не берет из окружения... но apply работает исправно
источник

A

Andor in terraform_ru
* missing role_id
источник

s

stempher in terraform_ru
Andor
* missing role_id
да, но apply работает и берет креды из волта - как?
источник

DZ

Dmytro Zavalkin in terraform_ru
а есть лог plan где запрос к URL: PUT https://xxx/v1/auth/terraform/login
не 400 а успешно проходит?
источник

DZ

Dmytro Zavalkin in terraform_ru
если есть то попахивает багом в провайдере тимсити
источник

s

stempher in terraform_ru
Dmytro Zavalkin
если есть то попахивает багом в провайдере тимсити
есть, но ошибку ж возвращает волт...
источник

s

stempher in terraform_ru
просто перенес все в провайдет тимсити - а ответ приходит от волта
источник

DZ

Dmytro Zavalkin in terraform_ru
так он наверное возвращат ошибку потому что ему не передеали какие-то данные из переменных окружения в import но передали в plan?
источник

s

stempher in terraform_ru
Dmytro Zavalkin
так он наверное возвращат ошибку потому что ему не передеали какие-то данные из переменных окружения в import но передали в plan?
вот меня и интересует вопрос - есть ли отличия в передаче переменных для плана и импорта. переменные все в окружении в виде:
TF_VAR_vault_role_id
TF_VAR_vault_secret_id
источник

DZ

Dmytro Zavalkin in terraform_ru
там еще есть уровень логирования TRACE - https://www.terraform.io/docs/internals/debugging.html - можно попробовать сравнить вывод и запилить багрепорт
источник