Skip to content

Commit 83cf36b

Browse files
authored
fix: add onprem_dc variable and add missing routers in hub and spoke base and restricted modules (#912)
* fix: add onprem_dc variable and add missing routers in hub and spoke base and restricted modules * fix reference to base and restricted modules in the shared hub and spoke * use 16550 as bgp asn number in routers if using partner interconnect * update onprem_dc example value to comply with max length of vlan attachment name of 63 chars
1 parent f9cd2e1 commit 83cf36b

File tree

26 files changed

+303
-124
lines changed

26 files changed

+303
-124
lines changed

3-networks-dual-svpc/envs/shared/dns-hub.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ module "dns_hub_region1_router1" {
9696
network = module.dns_hub_vpc.network_name
9797
region = local.default_region1
9898
bgp = {
99-
asn = var.bgp_asn_dns
99+
asn = local.dns_bgp_asn_number
100100
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
101101
}
102102
}
@@ -109,7 +109,7 @@ module "dns_hub_region1_router2" {
109109
network = module.dns_hub_vpc.network_name
110110
region = local.default_region1
111111
bgp = {
112-
asn = var.bgp_asn_dns
112+
asn = local.dns_bgp_asn_number
113113
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
114114
}
115115
}
@@ -122,7 +122,7 @@ module "dns_hub_region2_router1" {
122122
network = module.dns_hub_vpc.network_name
123123
region = local.default_region2
124124
bgp = {
125-
asn = var.bgp_asn_dns
125+
asn = local.dns_bgp_asn_number
126126
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
127127
}
128128
}
@@ -135,7 +135,7 @@ module "dns_hub_region2_router2" {
135135
network = module.dns_hub_vpc.network_name
136136
region = local.default_region2
137137
bgp = {
138-
asn = var.bgp_asn_dns
138+
asn = local.dns_bgp_asn_number
139139
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
140140
}
141141
}

3-networks-dual-svpc/envs/shared/interconnect.tf.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,27 @@ module "dns_hub_interconnect" {
2626
region1_interconnect1_vlan_tag8021q = "3931"
2727
region1_interconnect1 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-1"
2828
region1_interconnect1_location = "las-zone1-770"
29+
region1_interconnect1_onprem_dc = "onprem-dc1"
2930
region1_router2_name = module.dns_hub_region1_router2.router.name
3031
region1_interconnect2_candidate_subnets = ["169.254.0.8/29"]
3132
region1_interconnect2_vlan_tag8021q = "3932"
3233
region1_interconnect2 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-2"
3334
region1_interconnect2_location = "las-zone1-770"
35+
region1_interconnect2_onprem_dc = "onprem-dc2"
3436

3537
region2 = local.default_region2
3638
region2_router1_name = module.dns_hub_region2_router1.router.name
3739
region2_interconnect1_candidate_subnets = ["169.254.0.16/29"]
3840
region2_interconnect1_vlan_tag8021q = "3933"
3941
region2_interconnect1 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-3"
4042
region2_interconnect1_location = "lax-zone2-19"
43+
region2_interconnect1_onprem_dc = "onprem-dc3"
4144
region2_router2_name = module.dns_hub_region2_router2.router.name
4245
region2_interconnect2_candidate_subnets = ["169.254.0.24/29"]
4346
region2_interconnect2_vlan_tag8021q = "3934"
4447
region2_interconnect2 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-4"
4548
region2_interconnect2_location = "lax-zone1-403"
49+
region2_interconnect2_onprem_dc = "onprem-dc4"
4650

4751
peer_asn = "64515"
4852
peer_name = "interconnect-peer"

3-networks-dual-svpc/envs/shared/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
locals {
1818
env = "common"
1919
environment_code = "c"
20-
bgp_asn_number = var.enable_partner_interconnect ? "16550" : "64514"
20+
dns_bgp_asn_number = var.enable_partner_interconnect ? "16550" : var.bgp_asn_dns
2121
default_region1 = "us-west1"
2222
default_region2 = "us-central1"
2323
folder_prefix = data.terraform_remote_state.bootstrap.outputs.common_config.folder_prefix

3-networks-dual-svpc/envs/shared/partner_interconnect.tf.example

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,23 @@ module "shared_restricted_interconnect" {
1919

2020
attachment_project_id = local.restricted_net_hub_project_id
2121
vpc_name = "${local.environment_code}-shared-restricted"
22-
vpc_type = "restricted"
2322
preactivate = var.preactivate_partner_interconnect
2423

25-
region1 = local.default_region1
26-
region1_router1_name = module.restricted_shared_vpc[0].region1_router1.router.name
27-
region1_interconnect1_location = "las-zone1-770"
28-
region1_router2_name = module.restricted_shared_vpc[0].region1_router2.router.name
29-
region1_interconnect2_location = "las-zone1-770"
24+
region1 = local.default_region1
25+
region1_router1_name = module.restricted_shared_vpc[0].region1_router1.router.name
26+
region1_interconnect1_location = "las-zone1-770"
27+
region1_interconnect1_onprem_dc = "onprem-dc1"
28+
region1_router2_name = module.restricted_shared_vpc[0].region1_router2.router.name
29+
region1_interconnect2_location = "las-zone1-770"
30+
region1_interconnect2_onprem_dc = "onprem-dc2"
3031

31-
region2 = local.default_region2
32-
region2_router1_name = module.restricted_shared_vpc[0].region2_router1.router.name
33-
region2_interconnect1_location = "lax-zone2-19"
34-
region2_router2_name = module.restricted_shared_vpc[0].region2_router2.router.name
35-
region2_interconnect2_location = "lax-zone1-403"
32+
region2 = local.default_region2
33+
region2_router1_name = module.restricted_shared_vpc[0].region2_router1.router.name
34+
region2_interconnect1_location = "lax-zone2-19"
35+
region2_interconnect1_onprem_dc = "onprem-dc3"
36+
region2_router2_name = module.restricted_shared_vpc[0].region2_router2.router.name
37+
region2_interconnect2_location = "lax-zone1-403"
38+
region2_interconnect2_onprem_dc = "onprem-dc4"
3639

3740
cloud_router_labels = {
3841
vlan_1 = "cr5",
@@ -47,20 +50,23 @@ module "shared_base_interconnect" {
4750

4851
attachment_project_id = local.base_net_hub_project_id
4952
vpc_name = "${local.environment_code}-shared-base"
50-
vpc_type = "base"
5153
preactivate = var.preactivate_partner_interconnect
5254

53-
region1 = local.default_region1
54-
region1_router1_name = module.base_shared_vpc[0].region1_router1.router.name
55-
region1_interconnect1_location = "las-zone1-770"
56-
region1_router2_name = module.base_shared_vpc[0].region1_router2.router.name
57-
region1_interconnect2_location = "las-zone1-770"
55+
region1 = local.default_region1
56+
region1_router1_name = module.base_shared_vpc[0].region1_router1.router.name
57+
region1_interconnect1_location = "las-zone1-770"
58+
region1_interconnect1_onprem_dc = "onprem-dc1"
59+
region1_router2_name = module.base_shared_vpc[0].region1_router2.router.name
60+
region1_interconnect2_location = "las-zone1-770"
61+
region1_interconnect2_onprem_dc = "onprem-dc2"
5862

59-
region2 = local.default_region2
60-
region2_router1_name = module.base_shared_vpc[0].region2_router1.router.name
61-
region2_interconnect1_location = "lax-zone2-19"
62-
region2_router2_name = module.base_shared_vpc[0].region2_router2.router.name
63-
region2_interconnect2_location = "lax-zone1-403"
63+
region2 = local.default_region2
64+
region2_router1_name = module.base_shared_vpc[0].region2_router1.router.name
65+
region2_interconnect1_location = "lax-zone2-19"
66+
region2_interconnect1_onprem_dc = "onprem-dc3"
67+
region2_router2_name = module.base_shared_vpc[0].region2_router2.router.name
68+
region2_interconnect2_location = "lax-zone1-403"
69+
region2_interconnect2_onprem_dc = "onprem-dc4"
6470

6571
cloud_router_labels = {
6672
vlan_1 = "cr1",

3-networks-dual-svpc/modules/base_env/interconnect.tf.example

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,27 @@ module "shared_restricted_interconnect" {
2626
region1_interconnect1_vlan_tag8021q = "3901"
2727
region1_interconnect1 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-1"
2828
region1_interconnect1_location = "las-zone1-770"
29+
region1_interconnect1_onprem_dc = "onprem-dc1"
2930
region1_router2_name = module.restricted_shared_vpc.region1_router2.router.name
3031
region1_interconnect2_candidate_subnets = ["169.254.0.168/29"]
3132
region1_interconnect2_vlan_tag8021q = "3902"
3233
region1_interconnect2 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-2"
3334
region1_interconnect2_location = "las-zone1-770"
35+
region1_interconnect2_onprem_dc = "onprem-dc2"
3436

3537
region2 = var.default_region2
3638
region2_router1_name = module.restricted_shared_vpc.region2_router1.router.name
3739
region2_interconnect1_candidate_subnets = ["169.254.0.176/29"]
3840
region2_interconnect1_vlan_tag8021q = "3903"
3941
region2_interconnect1 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-3"
4042
region2_interconnect1_location = "lax-zone2-19"
43+
region2_interconnect1_onprem_dc = "onprem-dc3"
4144
region2_router2_name = module.restricted_shared_vpc.region2_router2.router.name
4245
region2_interconnect2_candidate_subnets = ["169.254.0.184/29"]
4346
region2_interconnect2_vlan_tag8021q = "3904"
4447
region2_interconnect2 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-4"
4548
region2_interconnect2_location = "lax-zone1-403"
49+
region2_interconnect2_onprem_dc = "onprem-dc4"
4650

4751
peer_asn = "64515"
4852
peer_name = "interconnect-peer"
@@ -71,23 +75,27 @@ module "shared_base_interconnect" {
7175
region1_interconnect1_vlan_tag8021q = "3905"
7276
region1_interconnect1 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-1"
7377
region1_interconnect1_location = "las-zone1-770"
78+
region1_interconnect1_onprem_dc = "onprem-dc1"
7479
region1_router2_name = module.base_shared_vpc.region1_router2.router.name
7580
region1_interconnect2_candidate_subnets = ["169.254.0.200/29"]
7681
region1_interconnect2_vlan_tag8021q = "3906"
7782
region1_interconnect2 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-2"
7883
region1_interconnect2_location = "las-zone1-770"
84+
region1_interconnect2_onprem_dc = "onprem-dc2"
7985

8086
region2 = var.default_region2
8187
region2_router1_name = module.base_shared_vpc.region2_router1.router.name
8288
region2_interconnect1_candidate_subnets = ["169.254.0.208/29"]
8389
region2_interconnect1_vlan_tag8021q = "3907"
8490
region2_interconnect1 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-3"
8591
region2_interconnect1_location = "lax-zone2-19"
92+
region2_interconnect1_onprem_dc = "onprem-dc3"
8693
region2_router2_name = module.base_shared_vpc.region2_router2.router.name
8794
region2_interconnect2_candidate_subnets = ["169.254.0.216/29"]
8895
region2_interconnect2_vlan_tag8021q = "3908"
8996
region2_interconnect2 = "https://www.googleapis.com/compute/v1/projects/example-interconnect-project/global/interconnects/example-interconnect-4"
9097
region2_interconnect2_location = "lax-zone1-403"
98+
region2_interconnect2_onprem_dc = "onprem-dc4"
9199

92100

93101
peer_asn = "64515"

3-networks-dual-svpc/modules/base_env/partner_interconnect.tf.example

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,23 @@ module "shared_restricted_interconnect" {
1919

2020
attachment_project_id = local.restricted_project_id
2121
vpc_name = "${var.environment_code}-shared-restricted"
22-
vpc_type = "restricted"
2322
preactivate = true
2423

25-
region1 = var.default_region1
26-
region1_router1_name = module.restricted_shared_vpc.region1_router1.router.name
27-
region1_interconnect1_location = "las-zone1-770"
28-
region1_router2_name = module.restricted_shared_vpc.region1_router2.router.name
29-
region1_interconnect2_location = "las-zone1-770"
24+
region1 = var.default_region1
25+
region1_router1_name = module.restricted_shared_vpc.region1_router1.router.name
26+
region1_interconnect1_location = "las-zone1-770"
27+
region1_interconnect1_onprem_dc = "onprem-dc1"
28+
region1_router2_name = module.restricted_shared_vpc.region1_router2.router.name
29+
region1_interconnect2_location = "las-zone1-770"
30+
region1_interconnect2_onprem_dc = "onprem-dc2"
3031

31-
region2 = var.default_region2
32-
region2_router1_name = module.restricted_shared_vpc.region2_router1.router.name
33-
region2_interconnect1_location = "lax-zone2-19"
34-
region2_router2_name = module.restricted_shared_vpc.region2_router2.router.name
35-
region2_interconnect2_location = "lax-zone1-403"
32+
region2 = var.default_region2
33+
region2_router1_name = module.restricted_shared_vpc.region2_router1.router.name
34+
region2_interconnect1_location = "lax-zone2-19"
35+
region2_interconnect1_onprem_dc = "onprem-dc3"
36+
region2_router2_name = module.restricted_shared_vpc.region2_router2.router.name
37+
region2_interconnect2_location = "lax-zone1-403"
38+
region2_interconnect2_onprem_dc = "onprem-dc4"
3639

3740
cloud_router_labels = {
3841
vlan_1 = "cr5",
@@ -51,20 +54,23 @@ module "shared_base_interconnect" {
5154

5255
attachment_project_id = local.base_project_id
5356
vpc_name = "${var.environment_code}-shared-base"
54-
vpc_type = "base"
5557
preactivate = true
5658

57-
region1 = var.default_region1
58-
region1_router1_name = module.base_shared_vpc.region1_router1.router.name
59-
region1_interconnect1_location = "las-zone1-770"
60-
region1_router2_name = module.base_shared_vpc.region1_router2.router.name
61-
region1_interconnect2_location = "las-zone1-770"
59+
region1 = var.default_region1
60+
region1_router1_name = module.base_shared_vpc.region1_router1.router.name
61+
region1_interconnect1_location = "las-zone1-770"
62+
region1_interconnect1_onprem_dc = "onprem-dc1"
63+
region1_router2_name = module.base_shared_vpc.region1_router2.router.name
64+
region1_interconnect2_location = "las-zone1-770"
65+
region1_interconnect2_onprem_dc = "onprem-dc2"
6266

63-
region2 = var.default_region2
64-
region2_router1_name = module.base_shared_vpc.region2_router1.router.name
65-
region2_interconnect1_location = "lax-zone2-19"
66-
region2_router2_name = module.base_shared_vpc.region2_router2.router.name
67-
region2_interconnect2_location = "lax-zone1-403"
67+
region2 = var.default_region2
68+
region2_router1_name = module.base_shared_vpc.region2_router1.router.name
69+
region2_interconnect1_location = "lax-zone2-19"
70+
region2_interconnect1_onprem_dc = "onprem-dc3"
71+
region2_router2_name = module.base_shared_vpc.region2_router2.router.name
72+
region2_interconnect2_location = "lax-zone1-403"
73+
region2_interconnect2_onprem_dc = "onprem-dc4"
6874

6975

7076
cloud_router_labels = {

3-networks-dual-svpc/modules/dedicated_interconnect/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,25 @@ This module implements the recommendation proposed in [Establishing 99.99% Avail
2626
| region1\_interconnect1 | URL of the underlying Interconnect object that this attachment's traffic will traverse through. | `string` | n/a | yes |
2727
| region1\_interconnect1\_candidate\_subnets | Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). | `list(string)` | `null` | no |
2828
| region1\_interconnect1\_location | Name of the interconnect location used in the creation of the Interconnect for the first location of region1 | `string` | n/a | yes |
29+
| region1\_interconnect1\_onprem\_dc | Name of the on premisses data center used in the creation of the Interconnect for the first location of region1. | `string` | n/a | yes |
2930
| region1\_interconnect1\_vlan\_tag8021q | The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. | `string` | `null` | no |
3031
| region1\_interconnect2 | URL of the underlying Interconnect object that this attachment's traffic will traverse through. | `string` | n/a | yes |
3132
| region1\_interconnect2\_candidate\_subnets | Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). | `list(string)` | `null` | no |
3233
| region1\_interconnect2\_location | Name of the interconnect location used in the creation of the Interconnect for the second location of region1 | `string` | n/a | yes |
34+
| region1\_interconnect2\_onprem\_dc | Name of the on premisses data center used in the creation of the Interconnect for the second location of region1. | `string` | n/a | yes |
3335
| region1\_interconnect2\_vlan\_tag8021q | The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. | `string` | `null` | no |
3436
| region1\_router1\_name | Name of the Router 1 for Region 1 where the attachment resides. | `string` | n/a | yes |
3537
| region1\_router2\_name | Name of the Router 2 for Region 1 where the attachment resides. | `string` | n/a | yes |
3638
| region2 | Second subnet region. The Dedicated Interconnect module only configures two regions. | `string` | n/a | yes |
3739
| region2\_interconnect1 | URL of the underlying Interconnect object that this attachment's traffic will traverse through. | `string` | n/a | yes |
3840
| region2\_interconnect1\_candidate\_subnets | Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). | `list(string)` | `null` | no |
3941
| region2\_interconnect1\_location | Name of the interconnect location used in the creation of the Interconnect for the first location of region2 | `string` | n/a | yes |
42+
| region2\_interconnect1\_onprem\_dc | Name of the on premisses data center used in the creation of the Interconnect for the first location of region2. | `string` | n/a | yes |
4043
| region2\_interconnect1\_vlan\_tag8021q | The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. | `string` | `null` | no |
4144
| region2\_interconnect2 | URL of the underlying Interconnect object that this attachment's traffic will traverse through. | `string` | n/a | yes |
4245
| region2\_interconnect2\_candidate\_subnets | Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). | `list(string)` | `null` | no |
4346
| region2\_interconnect2\_location | Name of the interconnect location used in the creation of the Interconnect for the second location of region2 | `string` | n/a | yes |
47+
| region2\_interconnect2\_onprem\_dc | Name of the on premisses data center used in the creation of the Interconnect for the second location of region2. | `string` | n/a | yes |
4448
| region2\_interconnect2\_vlan\_tag8021q | The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. | `string` | `null` | no |
4549
| region2\_router1\_name | Name of the Router 1 for Region 2 where the attachment resides. | `string` | n/a | yes |
4650
| region2\_router2\_name | Name of the Router 2 for Region 2 where the attachment resides | `string` | n/a | yes |

0 commit comments

Comments
 (0)