Skip to content

Commit 7bf2b99

Browse files
authored
Merge branch 'master' into feature/issue_65
2 parents 6fcdf76 + de467d9 commit 7bf2b99

File tree

23 files changed

+283
-21
lines changed

23 files changed

+283
-21
lines changed

Makefile

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,7 @@ check_headers:
7474
# Integration tests
7575
.PHONY: test_integration
7676
test_integration:
77-
bundle install
78-
bundle exec kitchen create
79-
bundle exec kitchen converge
80-
bundle exec kitchen converge
81-
bundle exec kitchen verify
82-
bundle exec kitchen destroy
77+
test/ci_integration.sh
8378

8479
.PHONY: generate_docs
8580
generate_docs:
@@ -112,15 +107,25 @@ docker_push_kitchen_terraform:
112107
.PHONY: docker_run
113108
docker_run:
114109
docker run --rm -it \
110+
-e COMPUTE_ENGINE_SERVICE_ACCOUNT \
111+
-e PROJECT_ID \
112+
-e REGION \
113+
-e ZONES \
114+
-e SERVICE_ACCOUNT_JSON \
115115
-e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \
116116
-e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \
117117
-v $(CURDIR):/cft/workdir \
118118
${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
119-
/bin/bash
119+
/bin/bash -c "source test/ci_integration.sh && setup_environment && exec /bin/bash"
120120

121121
.PHONY: docker_create
122122
docker_create: docker_build_kitchen_terraform
123123
docker run --rm -it \
124+
-e COMPUTE_ENGINE_SERVICE_ACCOUNT \
125+
-e PROJECT_ID \
126+
-e REGION \
127+
-e ZONES \
128+
-e SERVICE_ACCOUNT_JSON \
124129
-e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \
125130
-e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \
126131
-v $(CURDIR):/cft/workdir \
@@ -130,6 +135,11 @@ docker_create: docker_build_kitchen_terraform
130135
.PHONY: docker_converge
131136
docker_converge:
132137
docker run --rm -it \
138+
-e COMPUTE_ENGINE_SERVICE_ACCOUNT \
139+
-e PROJECT_ID \
140+
-e REGION \
141+
-e ZONES \
142+
-e SERVICE_ACCOUNT_JSON \
133143
-e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \
134144
-e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \
135145
-v $(CURDIR):/cft/workdir \
@@ -139,6 +149,11 @@ docker_converge:
139149
.PHONY: docker_verify
140150
docker_verify:
141151
docker run --rm -it \
152+
-e COMPUTE_ENGINE_SERVICE_ACCOUNT \
153+
-e PROJECT_ID \
154+
-e REGION \
155+
-e ZONES \
156+
-e SERVICE_ACCOUNT_JSON \
142157
-e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \
143158
-e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \
144159
-v $(CURDIR):/cft/workdir \
@@ -148,12 +163,25 @@ docker_verify:
148163
.PHONY: docker_destroy
149164
docker_destroy:
150165
docker run --rm -it \
166+
-e COMPUTE_ENGINE_SERVICE_ACCOUNT \
167+
-e PROJECT_ID \
168+
-e REGION \
169+
-e ZONES \
170+
-e SERVICE_ACCOUNT_JSON \
151171
-e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \
152172
-e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \
153173
-v $(CURDIR):/cft/workdir \
154174
${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
155175
/bin/bash -c "kitchen destroy"
156176

157177
.PHONY: test_integration_docker
158-
test_integration_docker: docker_create docker_converge docker_verify docker_destroy
159-
@echo "Running test-kitchen tests in docker"
178+
test_integration_docker:
179+
docker run --rm -it \
180+
-e COMPUTE_ENGINE_SERVICE_ACCOUNT \
181+
-e PROJECT_ID \
182+
-e REGION \
183+
-e ZONES \
184+
-e SERVICE_ACCOUNT_JSON \
185+
-v $(CURDIR):/cft/workdir \
186+
${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
187+
/bin/bash -c "test/ci_integration.sh"

autogen/sa.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ locals {
2424
resource "google_service_account" "cluster_service_account" {
2525
count = "${var.service_account == "create" ? 1 : 0}"
2626
project = "${var.project_id}"
27-
account_id = "tf-gke-${substr(var.name, 0, 20)}"
27+
account_id = "tf-gke-${substr(var.name, 0, min(20, length(var.name)))}"
2828
display_name = "Terraform-managed service account for cluster ${var.name}"
2929
}
3030

cluster_zonal.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ resource "google_container_node_pool" "zonal_pools" {
108108

109109
management {
110110
auto_repair = "${lookup(var.node_pools[count.index], "auto_repair", true)}"
111-
auto_upgrade = "${lookup(var.node_pools[count.index], "auto_upgrade", false)}"
111+
auto_upgrade = "${lookup(var.node_pools[count.index], "auto_upgrade", true)}"
112112
}
113113

114114
node_config {

examples/deploy_service/main.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ locals {
2121
provider "google" {
2222
credentials = "${file(var.credentials_path)}"
2323
region = "${var.region}"
24+
version = "~> 1.20"
2425
}
2526

2627
provider "kubernetes" {
@@ -40,6 +41,8 @@ module "gke" {
4041
network = "${var.network}"
4142
subnetwork = "${var.subnetwork}"
4243

44+
kubernetes_version = "1.11.7-gke.12"
45+
4346
ip_range_pods = "${var.ip_range_pods}"
4447
ip_range_services = "${var.ip_range_services}"
4548
service_account = "${var.compute_engine_service_account}"

examples/node_pool/main.tf

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,29 @@ locals {
1919
}
2020

2121
provider "google" {
22+
version = "~> 1.20"
2223
credentials = "${file(var.credentials_path)}"
2324
region = "${var.region}"
2425
}
2526

2627
module "gke" {
27-
source = "../../"
28-
project_id = "${var.project_id}"
29-
name = "${local.cluster_type}-cluster${var.cluster_name_suffix}"
30-
region = "${var.region}"
31-
network = "${var.network}"
32-
subnetwork = "${var.subnetwork}"
33-
ip_range_pods = "${var.ip_range_pods}"
34-
ip_range_services = "${var.ip_range_services}"
28+
source = "../../"
29+
project_id = "${var.project_id}"
30+
name = "${local.cluster_type}-cluster${var.cluster_name_suffix}"
31+
regional = "false"
32+
region = "${var.region}"
33+
zones = "${var.zones}"
34+
network = "${var.network}"
35+
subnetwork = "${var.subnetwork}"
36+
ip_range_pods = "${var.ip_range_pods}"
37+
ip_range_services = "${var.ip_range_services}"
38+
remove_default_node_pool = "true"
3539

3640
node_pools = [
3741
{
3842
name = "pool-01"
3943
min_count = 1
44+
max_count = 2
4045
service_account = "${var.compute_engine_service_account}"
4146
},
4247
{

examples/node_pool/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ variable "region" {
3131
description = "The region to host the cluster in"
3232
}
3333

34+
variable "zones" {
35+
type = "list"
36+
description = "The zone to host the cluster in (required if is a zonal cluster)"
37+
}
38+
3439
variable "network" {
3540
description = "The VPC network to host the cluster in"
3641
}

examples/shared_vpc/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ locals {
1919
}
2020

2121
provider "google" {
22+
version = "~> 1.20"
2223
credentials = "${file(var.credentials_path)}"
2324
region = "${var.region}"
2425
}

examples/simple_regional_private/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ locals {
1919
}
2020

2121
provider "google-beta" {
22+
version = "~> 1.20"
2223
credentials = "${file(var.credentials_path)}"
2324
region = "${var.region}"
2425
}

examples/simple_zonal/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ locals {
1919
}
2020

2121
provider "google" {
22+
version = "~> 1.20"
2223
credentials = "${file(var.credentials_path)}"
2324
region = "${var.region}"
2425
}

examples/simple_zonal_private/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ locals {
1919
}
2020

2121
provider "google-beta" {
22+
version = "~> 1.20"
2223
credentials = "${file(var.credentials_path)}"
2324
region = "${var.region}"
2425
}

examples/stub_domains/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ locals {
1919
}
2020

2121
provider "google" {
22+
version = "~> 1.20"
2223
credentials = "${file(var.credentials_path)}"
2324
region = "${var.region}"
2425
}

modules/private-cluster/sa.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ locals {
2424
resource "google_service_account" "cluster_service_account" {
2525
count = "${var.service_account == "create" ? 1 : 0}"
2626
project = "${var.project_id}"
27-
account_id = "tf-gke-${substr(var.name, 0, 20)}"
27+
account_id = "tf-gke-${substr(var.name, 0, min(20, length(var.name)))}"
2828
display_name = "Terraform-managed service account for cluster ${var.name}"
2929
}
3030

sa.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ locals {
2424
resource "google_service_account" "cluster_service_account" {
2525
count = "${var.service_account == "create" ? 1 : 0}"
2626
project = "${var.project_id}"
27-
account_id = "tf-gke-${substr(var.name, 0, 20)}"
27+
account_id = "tf-gke-${substr(var.name, 0, min(20, length(var.name)))}"
2828
display_name = "Terraform-managed service account for cluster ${var.name}"
2929
}
3030

test/ci/deploy-service.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "deploy-service-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/node-pool.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "node-pool-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/shared-vpc.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "shared-vpc-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/simple-regional-private.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "simple-regional-private-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/simple-regional.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "simple-regional-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/simple-zonal-private.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "simple-zonal-private-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/simple-zonal.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "simple-zonal-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

test/ci/stub-domains.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
platform: linux
4+
5+
inputs:
6+
- name: pull-request
7+
path: terraform-google-kubernetes-engine
8+
9+
run:
10+
path: make
11+
args: ['test_integration']
12+
dir: terraform-google-kubernetes-engine
13+
14+
params:
15+
SUITE: "stub-domains-local"
16+
COMPUTE_ENGINE_SERVICE_ACCOUNT: ""
17+
REGION: "us-east4"
18+
ZONES: '["us-east4-a", "us-east4-b", "us-east4-c"]'

0 commit comments

Comments
 (0)