diff --git a/bare-metal/container-linux/kubernetes/profiles.tf b/bare-metal/container-linux/kubernetes/profiles.tf index 6dd57cf6..c9d188c7 100644 --- a/bare-metal/container-linux/kubernetes/profiles.tf +++ b/bare-metal/container-linux/kubernetes/profiles.tf @@ -87,7 +87,9 @@ data "template_file" "controller-configs" { etcd_initial_cluster = "${join(",", formatlist("%s=https://%s:2380", var.controller_names, var.controller_domains))}" k8s_dns_service_ip = "${module.bootkube.kube_dns_service_ip}" ssh_authorized_key = "${var.ssh_authorized_key}" - networkd_content = "${element(var.controller_networkds, count.index)}" + + # Terraform evaluates both sides regardless and element cannot be used on 0 length lists + networkd_content = "${length(var.controller_networkds) == 0 ? "" : element(concat(var.controller_networkds, list("")), count.index)}" } } @@ -107,6 +109,8 @@ data "template_file" "worker-configs" { domain_name = "${element(var.worker_domains, count.index)}" k8s_dns_service_ip = "${module.bootkube.kube_dns_service_ip}" ssh_authorized_key = "${var.ssh_authorized_key}" - networkd_content = "${element(var.worker_networkds, count.index)}" + + # Terraform evaluates both sides regardless and element cannot be used on 0 length lists + networkd_content = "${length(var.worker_networkds) == 0 ? "" : element(concat(var.worker_networkds, list("")), count.index)}" } }