From 1c3346bf2fb6369da194e9da087dd8cfa341628a Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Fri, 24 Feb 2023 09:51:31 -0800 Subject: [PATCH 1/8] [zonca] router and domain --- inventory/kubejetstream/cluster.tfvars | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventory/kubejetstream/cluster.tfvars b/inventory/kubejetstream/cluster.tfvars index 7783d979178..e3c1f651375 100644 --- a/inventory/kubejetstream/cluster.tfvars +++ b/inventory/kubejetstream/cluster.tfvars @@ -71,11 +71,11 @@ k8s_allowed_remote_ips = ["0.0.0.0/0"] use_access_ip = 0 # Uncomment below and edit to set dns-domain network property (the initial tg- is not necessary anymore) -# network_dns_domain = "xxxxxxxxx.projects.jetstream-cloud.org." +network_dns_domain = "cis230085.projects.jetstream-cloud.org." # Reuse the auto allocated router, we do not want to waste floating IPs by having un-necessary routers # openstack router list, find the ID (first column) of the `auto_allocated_router` -router_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +router_id = "15cc195f-02d4-4d9b-ae24-5b2e9e52a13a" # Default subnetpool ID for JetStream2; Let neutron (openstack) do the CIDR # book-keeping for you From 0d96c0ecfd6dab743969499bc37c67fda9913acc Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Thu, 8 Jun 2023 10:52:25 -0700 Subject: [PATCH 2/8] use the auto allocated network --- inventory/kubejetstream/cluster.tfvars | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inventory/kubejetstream/cluster.tfvars b/inventory/kubejetstream/cluster.tfvars index e3c1f651375..fe514a13e15 100644 --- a/inventory/kubejetstream/cluster.tfvars +++ b/inventory/kubejetstream/cluster.tfvars @@ -77,6 +77,10 @@ network_dns_domain = "cis230085.projects.jetstream-cloud.org." # openstack router list, find the ID (first column) of the `auto_allocated_router` router_id = "15cc195f-02d4-4d9b-ae24-5b2e9e52a13a" +# Reuse the auto-allocated network +use_existing_network = true +network_name = "auto_allocated_network" + # Default subnetpool ID for JetStream2; Let neutron (openstack) do the CIDR # book-keeping for you subnetpool_id = "be988956-1bfb-4828-b511-a58229fbd4ac" From aeb54e205c0a7ff1655d9b2fc7eda4efac15132a Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Thu, 8 Jun 2023 11:50:12 -0700 Subject: [PATCH 3/8] do not override network name in the scripts --- inventory/kubejetstream/terraform_apply.sh | 2 +- inventory/kubejetstream/terraform_destroy.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inventory/kubejetstream/terraform_apply.sh b/inventory/kubejetstream/terraform_apply.sh index 2b0d1663fce..82cf3b68bf1 100644 --- a/inventory/kubejetstream/terraform_apply.sh +++ b/inventory/kubejetstream/terraform_apply.sh @@ -1 +1 @@ -terraform apply -auto-approve -var-file=cluster.tfvars -var="cluster_name=$CLUSTER" -var="network_name=${CLUSTER}-network" ../../contrib/terraform/openstack +terraform apply -var-file=cluster.tfvars -var="cluster_name=$CLUSTER" ../../contrib/terraform/openstack diff --git a/inventory/kubejetstream/terraform_destroy.sh b/inventory/kubejetstream/terraform_destroy.sh index 15f0037b4e1..baf3c7ddbe1 100644 --- a/inventory/kubejetstream/terraform_destroy.sh +++ b/inventory/kubejetstream/terraform_destroy.sh @@ -1 +1 @@ -terraform destroy -var-file=cluster.tfvars -var="cluster_name=$CLUSTER" -var="network_name=${CLUSTER}-network" ../../contrib/terraform/openstack +terraform destroy -var-file=cluster.tfvars -var="cluster_name=$CLUSTER" ../../contrib/terraform/openstack From 5662076a4e9e8b7d6890fd80507cc85ded68a87b Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Mon, 12 Jun 2023 11:12:38 -0700 Subject: [PATCH 4/8] set dns_name in the master node port, this fixes DNS auto-assignment --- contrib/terraform/openstack/modules/compute/main.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/terraform/openstack/modules/compute/main.tf b/contrib/terraform/openstack/modules/compute/main.tf index 6c2b8ff186f..5ca73881250 100644 --- a/contrib/terraform/openstack/modules/compute/main.tf +++ b/contrib/terraform/openstack/modules/compute/main.tf @@ -297,6 +297,7 @@ resource "openstack_networking_port_v2" "k8s_master_port" { port_security_enabled = var.force_null_port_security ? null : var.port_security_enabled security_group_ids = var.port_security_enabled ? local.master_sec_groups : null no_security_groups = var.port_security_enabled ? null : false + dns_name = "${var.cluster_name}-${count.index + 1}" dynamic "fixed_ip" { for_each = var.private_subnet_id == "" ? [] : [true] content { From 0e297f41d2e0e10aadbc9fd36aef2c7a60fad526 Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Mon, 12 Jun 2023 11:13:14 -0700 Subject: [PATCH 5/8] hardcode network id --- contrib/terraform/openstack/modules/network/main.tf | 2 +- contrib/terraform/openstack/modules/network/outputs.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/terraform/openstack/modules/network/main.tf b/contrib/terraform/openstack/modules/network/main.tf index 6448cffcdaa..5789103dc77 100644 --- a/contrib/terraform/openstack/modules/network/main.tf +++ b/contrib/terraform/openstack/modules/network/main.tf @@ -21,7 +21,7 @@ resource "openstack_networking_network_v2" "k8s" { resource "openstack_networking_subnet_v2" "k8s" { name = "${var.cluster_name}-internal-network" count = var.use_neutron - network_id = openstack_networking_network_v2.k8s[count.index].id + network_id = "bdd21138-b4d2-4e2d-8114-efaf248c3722" subnetpool_id = var.subnetpool_id ip_version = 4 dns_nameservers = var.dns_nameservers diff --git a/contrib/terraform/openstack/modules/network/outputs.tf b/contrib/terraform/openstack/modules/network/outputs.tf index 0e8a5004f33..d873ee3bd46 100644 --- a/contrib/terraform/openstack/modules/network/outputs.tf +++ b/contrib/terraform/openstack/modules/network/outputs.tf @@ -3,7 +3,7 @@ output "router_id" { } output "network_id" { - value = element(concat(openstack_networking_network_v2.k8s.*.id, [""]),0) + value = "bdd21138-b4d2-4e2d-8114-efaf248c3722" } output "router_internal_port_id" { From 76984026561a327e4828d80ec211fcbb35bdfe93 Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Mon, 12 Jun 2023 11:13:36 -0700 Subject: [PATCH 6/8] transform network from resource to data --- contrib/terraform/openstack/modules/network/main.tf | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/contrib/terraform/openstack/modules/network/main.tf b/contrib/terraform/openstack/modules/network/main.tf index 5789103dc77..3e71daa7b5e 100644 --- a/contrib/terraform/openstack/modules/network/main.tf +++ b/contrib/terraform/openstack/modules/network/main.tf @@ -10,12 +10,9 @@ data "openstack_networking_router_v2" "k8s" { count = var.use_neutron == 1 && var.router_id != null ? 1 : 0 } -resource "openstack_networking_network_v2" "k8s" { +data "openstack_networking_network_v2" "k8s" { name = var.network_name - count = var.use_neutron - dns_domain = var.network_dns_domain != null ? var.network_dns_domain : null - admin_state_up = "true" - port_security_enabled = var.port_security_enabled + count = 1 } resource "openstack_networking_subnet_v2" "k8s" { From f70e084dd581651fccd0f735799a3394cbd54cdb Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Thu, 15 Jun 2023 12:34:40 -0700 Subject: [PATCH 7/8] Revert "hardcode network id" This reverts commit 0e297f41d2e0e10aadbc9fd36aef2c7a60fad526. --- contrib/terraform/openstack/modules/network/main.tf | 2 +- contrib/terraform/openstack/modules/network/outputs.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/terraform/openstack/modules/network/main.tf b/contrib/terraform/openstack/modules/network/main.tf index 3e71daa7b5e..d3264d1f406 100644 --- a/contrib/terraform/openstack/modules/network/main.tf +++ b/contrib/terraform/openstack/modules/network/main.tf @@ -18,7 +18,7 @@ data "openstack_networking_network_v2" "k8s" { resource "openstack_networking_subnet_v2" "k8s" { name = "${var.cluster_name}-internal-network" count = var.use_neutron - network_id = "bdd21138-b4d2-4e2d-8114-efaf248c3722" + network_id = openstack_networking_network_v2.k8s[count.index].id subnetpool_id = var.subnetpool_id ip_version = 4 dns_nameservers = var.dns_nameservers diff --git a/contrib/terraform/openstack/modules/network/outputs.tf b/contrib/terraform/openstack/modules/network/outputs.tf index d873ee3bd46..0e8a5004f33 100644 --- a/contrib/terraform/openstack/modules/network/outputs.tf +++ b/contrib/terraform/openstack/modules/network/outputs.tf @@ -3,7 +3,7 @@ output "router_id" { } output "network_id" { - value = "bdd21138-b4d2-4e2d-8114-efaf248c3722" + value = element(concat(openstack_networking_network_v2.k8s.*.id, [""]),0) } output "router_internal_port_id" { From 69d1e881c5f55b5f7ab260043cc37c8f94bf1e38 Mon Sep 17 00:00:00 2001 From: Andrea Zonca Date: Thu, 15 Jun 2023 12:36:22 -0700 Subject: [PATCH 8/8] refer to the data network and not managed resource --- contrib/terraform/openstack/modules/network/main.tf | 2 +- contrib/terraform/openstack/modules/network/outputs.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/terraform/openstack/modules/network/main.tf b/contrib/terraform/openstack/modules/network/main.tf index d3264d1f406..21607849d60 100644 --- a/contrib/terraform/openstack/modules/network/main.tf +++ b/contrib/terraform/openstack/modules/network/main.tf @@ -18,7 +18,7 @@ data "openstack_networking_network_v2" "k8s" { resource "openstack_networking_subnet_v2" "k8s" { name = "${var.cluster_name}-internal-network" count = var.use_neutron - network_id = openstack_networking_network_v2.k8s[count.index].id + network_id = data.openstack_networking_network_v2.k8s[count.index].id subnetpool_id = var.subnetpool_id ip_version = 4 dns_nameservers = var.dns_nameservers diff --git a/contrib/terraform/openstack/modules/network/outputs.tf b/contrib/terraform/openstack/modules/network/outputs.tf index 0e8a5004f33..6b7a6a58395 100644 --- a/contrib/terraform/openstack/modules/network/outputs.tf +++ b/contrib/terraform/openstack/modules/network/outputs.tf @@ -3,7 +3,7 @@ output "router_id" { } output "network_id" { - value = element(concat(openstack_networking_network_v2.k8s.*.id, [""]),0) + value = element(concat(data.openstack_networking_network_v2.k8s.*.id, [""]),0) } output "router_internal_port_id" {