Skip to content

Commit 454b878

Browse files
committed
traffic works
1 parent 5b74a5b commit 454b878

File tree

1 file changed

+192
-0
lines changed

1 file changed

+192
-0
lines changed
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
locals {
2+
workspace_traffic_job_timeout = "300s"
3+
workspace_traffic_duration = "60s"
4+
bytes_per_tick = 1024
5+
tick_interval = "100ms"
6+
}
7+
8+
resource "kubernetes_job" "workspace_traffic_primary" {
9+
provider = kubernetes.primary
10+
11+
metadata {
12+
name = "${var.name}-workspace-traffic"
13+
namespace = kubernetes_namespace.coder_primary.metadata.0.name
14+
labels = {
15+
"app.kubernetes.io/name" = "${var.name}-workspace-traffic"
16+
}
17+
}
18+
spec {
19+
completions = 1
20+
template {
21+
metadata {}
22+
spec {
23+
affinity {
24+
node_affinity {
25+
required_during_scheduling_ignored_during_execution {
26+
node_selector_term {
27+
match_expressions {
28+
key = "cloud.google.com/gke-nodepool"
29+
operator = "In"
30+
values = ["${google_container_node_pool.node_pool["primary_misc"].name}"]
31+
}
32+
}
33+
}
34+
}
35+
}
36+
container {
37+
name = "cli"
38+
image = "${var.coder_image_repo}:${var.coder_image_tag}"
39+
command = [
40+
"/opt/coder",
41+
"--verbose",
42+
"--url=${local.deployments.primary.url}",
43+
"--token=${trimspace(data.local_file.api_key.content)}",
44+
"exp",
45+
"scaletest",
46+
"workspace-traffic",
47+
"--concurrency=0",
48+
"--bytes-per-tick=${local.bytes_per_tick}",
49+
"--tick-interval=${local.tick_interval}",
50+
"--scaletest-prometheus-wait=60s",
51+
]
52+
env {
53+
name = "CODER_SCALETEST_JOB_TIMEOUT"
54+
value = local.workspace_traffic_duration
55+
}
56+
}
57+
restart_policy = "Never"
58+
}
59+
}
60+
}
61+
wait_for_completion = true
62+
63+
timeouts {
64+
create = local.workspace_traffic_job_timeout
65+
}
66+
67+
depends_on = [kubernetes_job.create_workspaces_primary]
68+
}
69+
70+
resource "kubernetes_job" "workspace_traffic_europe" {
71+
provider = kubernetes.europe
72+
73+
metadata {
74+
name = "${var.name}-workspace-traffic"
75+
namespace = kubernetes_namespace.coder_europe.metadata.0.name
76+
labels = {
77+
"app.kubernetes.io/name" = "${var.name}-workspace-traffic"
78+
}
79+
}
80+
spec {
81+
completions = 1
82+
template {
83+
metadata {}
84+
spec {
85+
affinity {
86+
node_affinity {
87+
required_during_scheduling_ignored_during_execution {
88+
node_selector_term {
89+
match_expressions {
90+
key = "cloud.google.com/gke-nodepool"
91+
operator = "In"
92+
values = ["${google_container_node_pool.node_pool["europe_misc"].name}"]
93+
}
94+
}
95+
}
96+
}
97+
}
98+
container {
99+
name = "cli"
100+
image = "${var.coder_image_repo}:${var.coder_image_tag}"
101+
command = [
102+
"/opt/coder",
103+
"--verbose",
104+
"--url=${local.deployments.primary.url}",
105+
"--token=${trimspace(data.local_file.api_key.content)}",
106+
"exp",
107+
"scaletest",
108+
"workspace-traffic",
109+
"--concurrency=0",
110+
"--bytes-per-tick=${local.bytes_per_tick}",
111+
"--tick-interval=${local.tick_interval}",
112+
"--scaletest-prometheus-wait=60s",
113+
]
114+
env {
115+
name = "CODER_SCALETEST_JOB_TIMEOUT"
116+
value = local.workspace_traffic_duration
117+
}
118+
}
119+
restart_policy = "Never"
120+
}
121+
}
122+
}
123+
wait_for_completion = true
124+
125+
timeouts {
126+
create = local.workspace_traffic_job_timeout
127+
}
128+
129+
depends_on = [kubernetes_job.create_workspaces_europe]
130+
}
131+
132+
resource "kubernetes_job" "workspace_traffic_asia" {
133+
provider = kubernetes.asia
134+
135+
metadata {
136+
name = "${var.name}-workspace-traffic"
137+
namespace = kubernetes_namespace.coder_asia.metadata.0.name
138+
labels = {
139+
"app.kubernetes.io/name" = "${var.name}-workspace-traffic"
140+
}
141+
}
142+
spec {
143+
completions = 1
144+
template {
145+
metadata {}
146+
spec {
147+
affinity {
148+
node_affinity {
149+
required_during_scheduling_ignored_during_execution {
150+
node_selector_term {
151+
match_expressions {
152+
key = "cloud.google.com/gke-nodepool"
153+
operator = "In"
154+
values = ["${google_container_node_pool.node_pool["asia_misc"].name}"]
155+
}
156+
}
157+
}
158+
}
159+
}
160+
container {
161+
name = "cli"
162+
image = "${var.coder_image_repo}:${var.coder_image_tag}"
163+
command = [
164+
"/opt/coder",
165+
"--verbose",
166+
"--url=${local.deployments.primary.url}",
167+
"--token=${trimspace(data.local_file.api_key.content)}",
168+
"exp",
169+
"scaletest",
170+
"workspace-traffic",
171+
"--concurrency=0",
172+
"--bytes-per-tick=${local.bytes_per_tick}",
173+
"--tick-interval=${local.tick_interval}",
174+
"--scaletest-prometheus-wait=60s",
175+
]
176+
env {
177+
name = "CODER_SCALETEST_JOB_TIMEOUT"
178+
value = local.workspace_traffic_duration
179+
}
180+
}
181+
restart_policy = "Never"
182+
}
183+
}
184+
}
185+
wait_for_completion = true
186+
187+
timeouts {
188+
create = local.workspace_traffic_job_timeout
189+
}
190+
191+
depends_on = [kubernetes_job.create_workspaces_asia]
192+
}

0 commit comments

Comments
 (0)