From f518b90c6b02a603b14b39ab3f44f9bb1a7d30b6 Mon Sep 17 00:00:00 2001 From: Jiang Yi Tao Date: Mon, 29 Apr 2019 13:58:20 +0800 Subject: [PATCH] associate fips for masters with no etcd (#4657) --- contrib/terraform/openstack/kubespray.tf | 3 ++- contrib/terraform/openstack/modules/compute/main.tf | 6 ++++++ contrib/terraform/openstack/modules/compute/variables.tf | 4 ++++ contrib/terraform/openstack/modules/ips/main.tf | 6 ++++++ contrib/terraform/openstack/modules/ips/outputs.tf | 4 ++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/contrib/terraform/openstack/kubespray.tf b/contrib/terraform/openstack/kubespray.tf index 278b8152b..b53cccab7 100644 --- a/contrib/terraform/openstack/kubespray.tf +++ b/contrib/terraform/openstack/kubespray.tf @@ -53,6 +53,7 @@ module "compute" { network_name = "${var.network_name}" flavor_bastion = "${var.flavor_bastion}" k8s_master_fips = "${module.ips.k8s_master_fips}" + k8s_master_no_etcd_fips = "${module.ips.k8s_master_no_etcd_fips}" k8s_node_fips = "${module.ips.k8s_node_fips}" bastion_fips = "${module.ips.bastion_fips}" bastion_allowed_remote_ips = "${var.bastion_allowed_remote_ips}" @@ -79,7 +80,7 @@ output "router_id" { } output "k8s_master_fips" { - value = "${module.ips.k8s_master_fips}" + value = "${concat(module.ips.k8s_master_fips, module.ips.k8s_master_no_etcd_fips)}" } output "k8s_node_fips" { diff --git a/contrib/terraform/openstack/modules/compute/main.tf b/contrib/terraform/openstack/modules/compute/main.tf index 9e35d4d7c..c745021a8 100644 --- a/contrib/terraform/openstack/modules/compute/main.tf +++ b/contrib/terraform/openstack/modules/compute/main.tf @@ -296,6 +296,12 @@ resource "openstack_compute_floatingip_associate_v2" "k8s_master" { floating_ip = "${var.k8s_master_fips[count.index]}" } +resource "openstack_compute_floatingip_associate_v2" "k8s_master_no_etcd" { + count = "${var.number_of_k8s_masters_no_etcd}" + instance_id = "${element(openstack_compute_instance_v2.k8s_master_no_etcd.*.id, count.index)}" + floating_ip = "${var.k8s_master_no_etcd_fips[count.index]}" +} + resource "openstack_compute_floatingip_associate_v2" "k8s_node" { count = "${var.number_of_k8s_nodes}" floating_ip = "${var.k8s_node_fips[count.index]}" diff --git a/contrib/terraform/openstack/modules/compute/variables.tf b/contrib/terraform/openstack/modules/compute/variables.tf index dfb438128..004342dc4 100644 --- a/contrib/terraform/openstack/modules/compute/variables.tf +++ b/contrib/terraform/openstack/modules/compute/variables.tf @@ -54,6 +54,10 @@ variable "k8s_master_fips" { type = "list" } +variable "k8s_master_no_etcd_fips" { + type = "list" +} + variable "k8s_node_fips" { type = "list" } diff --git a/contrib/terraform/openstack/modules/ips/main.tf b/contrib/terraform/openstack/modules/ips/main.tf index 43d543307..d3b06609e 100644 --- a/contrib/terraform/openstack/modules/ips/main.tf +++ b/contrib/terraform/openstack/modules/ips/main.tf @@ -10,6 +10,12 @@ resource "openstack_networking_floatingip_v2" "k8s_master" { depends_on = ["null_resource.dummy_dependency"] } +resource "openstack_networking_floatingip_v2" "k8s_master_no_etcd" { + count = "${var.number_of_k8s_masters_no_etcd}" + pool = "${var.floatingip_pool}" + depends_on = ["null_resource.dummy_dependency"] +} + resource "openstack_networking_floatingip_v2" "k8s_node" { count = "${var.number_of_k8s_nodes}" pool = "${var.floatingip_pool}" diff --git a/contrib/terraform/openstack/modules/ips/outputs.tf b/contrib/terraform/openstack/modules/ips/outputs.tf index 10bea5519..1b2ed6aa2 100644 --- a/contrib/terraform/openstack/modules/ips/outputs.tf +++ b/contrib/terraform/openstack/modules/ips/outputs.tf @@ -2,6 +2,10 @@ output "k8s_master_fips" { value = ["${openstack_networking_floatingip_v2.k8s_master.*.address}"] } +output "k8s_master_no_etcd_fips" { + value = ["${openstack_networking_floatingip_v2.k8s_master_no_etcd.*.address}"] +} + output "k8s_node_fips" { value = ["${openstack_networking_floatingip_v2.k8s_node.*.address}"] }