terraform-provider-selectel
terraform-provider-selectel copied to clipboard
Проблема при работе с MX
При попытке создания 2 MX для @ с конструкцией вида
resource "selectel_domains_rrset_v2" "mx_records" {
zone_id = selectel_domains_zone_v2.domain.id
name = "foobar.com."
type = "MX"
ttl = each.value.ttl
project_id = var.project_id
records {
content = "10 mx1.foobar.com."
disabled = false
}
records {
content = "20 mx2.foobar.com."
disabled = false
}
}
получаем ошибку
error creating rrset: error response: this_rrset_is_already_exists. Description: this rrset is already exists.
Это баг в провайдере или я что-то делаю не так?)
После полного удаления зоны и ее пересоздания получаю следующее поведение:
plan и apply прошли успешно при условии что records были добавлены по одному, вначале mx1, потом mx2. В обоих случаях plan показал создание одного ресурса. В панели действительно видим 1 ресурс, когда ожидалось 2
Проект мертв?
@max107 В первом случае (при создании MX-записи) ошибка возникает так как такая ресурсная запись (RRSet) уже есть. Скорее всего надо было вначале импортировать RRSet.
Во втором случае (когда создается одна MX-запись) RRSet создается один, но должны быть две записи внутри. Я попробую воспроизвести ошибку и напишу о результатах
@dchudik
В первом случае (при создании MX-записи) ошибка возникает так как такая ресурсная запись (RRSet) уже есть. Скорее всего надо было вначале импортировать RRSet.
Ошибка возникает если пытаться создать сразу 2 MX
Во втором случае (когда создается одна MX-запись) RRSet создается один, но должны быть две записи внутри.
Из-за ошибки в пп1 два MX в rrset невозможно создать, ругается на уже существующий
@max107 Вероятно Вы пытаетесь сделать две сущности RRSet для @ и выглядит это приблизительно так:
resource "selectel_domains_rrset_v2" "mx1_domain" {
zone_id = selectel_domains_zone_v2.myzone.id
name = "foobar.ru."
type = "MX"
ttl = 60
project_id = var.project_id
records {
content = "10 mx1.foobar.com."
disabled = false
}
records {
content = "20 mx2.foobar.com."
disabled = false
}
}
resource "selectel_domains_rrset_v2" "mx2_domain" {
zone_id = selectel_domains_zone_v2.myzone.id
name = "foobar.ru."
type = "MX"
ttl = 60
project_id = var.project_id
records {
content = "30 mx3.foobar.com."
disabled = false
}
records {
content = "40 mx4.foobar.com."
disabled = false
}
}
Верно Вас понял? Если нет, можете дать чуть больше информации? Насколько вижу для ttl используется конструкция each... вероятно Вы используете циклы, можете их включить тогда в пример?
В данном случае ошибка с конфликтом - ожидаемое поведение.
Если вам необходимо к зоне по одному и тому же адресу добавить несколько MX записей, то надо добавлять больше records. Пример:
resource "selectel_domains_rrset_v2" "mx1_domain" {
zone_id = selectel_domains_zone_v2.myzone.id
name = "foobar.ru."
type = "MX"
ttl = 60
project_id = var.project_id
records {
content = "10 mx1.foobar.com."
disabled = false
}
records {
content = "20 mx2.foobar.com."
disabled = false
}
records {
content = "30 mx3.foobar.com."
disabled = false
}
records {
content = "40 mx4.foobar.com."
disabled = false
}
}
Данный пример запустился и в панели управления видно 4 записи.
Проверил с 5.1 релизнутой 6 часов назад, проблема отсутствует. Спасибо 🙏🏻