1# Template generated from load test configurations by loadtest_template.py.
2#
3# Configuration templates contain client and server configurations for multiple
4# languages, and may contain template substitution keys. These templates are
5# used to generate load test configurations by selecting clients and servers for
6# the required languages. The source files for template generation may be load
7# test configurations or load test configuration templates. Load test
8# configuration generation is performed by loadtest_config.py. See documentation
9# below:
10# https://github.com/grpc/grpc/blob/master/tools/run_tests/performance/README.md
11apiVersion: e2etest.grpc.io/v1
12kind: LoadTest
13metadata:
14  name: basic_all_languages
15spec:
16  clients:
17  - build:
18      command:
19      - bash
20      - /build_scripts/build_qps_worker.sh
21    clone:
22      gitRef: master
23      repo: https://github.com/grpc/grpc.git
24    language: csharp
25    pool: ${client_pool}
26    run:
27    - args:
28      - -c
29      - |
30        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" dotnet exec \
31            qps_worker/Grpc.IntegrationTesting.QpsWorker.dll \
32            --driver_port="${DRIVER_PORT}"
33      command:
34      - bash
35      name: main
36  - build:
37      command:
38      - bash
39      - /build_scripts/build_qps_worker.sh
40    clone:
41      gitRef: master
42      repo: https://github.com/grpc/grpc-dotnet.git
43    language: dotnet
44    pool: ${client_pool}
45    run:
46    - args:
47      - -c
48      # TODO(jtattermusch): why is the extra "--" in cmdline needed?
49      - |
50        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
51            qps_worker/QpsWorker -- --driver_port="${DRIVER_PORT}"
52      command:
53      - bash
54      name: main
55  - build:
56      args:
57      - build
58      - --config
59      - opt
60      - //test/cpp/qps:qps_worker
61      command:
62      - bazel
63    clone:
64      gitRef: master
65      repo: https://github.com/grpc/grpc.git
66    language: cxx
67    pool: ${client_pool}
68    run:
69    - args:
70      - -c
71      - |
72        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
73            bazel-bin/test/cpp/qps/qps_worker --driver_port="${DRIVER_PORT}"
74      command:
75      - bash
76      name: main
77  - build:
78      args:
79      - build
80      - -o
81      - /src/workspace/bin/worker
82      - ./benchmark/worker
83      command:
84      - go
85    clone:
86      gitRef: master
87      repo: https://github.com/grpc/grpc-go.git
88    language: go
89    pool: ${client_pool}
90    run:
91    - args:
92      - -c
93      - |
94        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
95            /src/workspace/bin/worker --driver_port="${DRIVER_PORT}"
96      command:
97      - bash
98      name: main
99  - build:
100      args:
101      - -PskipAndroid=true
102      - -PskipCodegen=true
103      - :grpc-benchmarks:installDist
104      command:
105      - gradle
106    clone:
107      gitRef: master
108      repo: https://github.com/grpc/grpc-java.git
109    language: java
110    pool: ${client_pool}
111    run:
112    - args:
113      - -c
114      - |
115        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
116            /run_scripts/run_worker.sh
117      command:
118      - bash
119      name: main
120  - build:
121      command:
122      - bash
123      - /build_scripts/build_qps_worker.sh
124    clone:
125      gitRef: master
126      repo: https://github.com/grpc/grpc-node.git
127    language: node
128    pool: ${client_pool}
129    run:
130    - args:
131      - -c
132      - |
133        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" node -r \
134            ./test/fixtures/native_native.js test/performance/worker.js \
135            --benchmark_impl=grpc --driver_port="${DRIVER_PORT}"
136      command:
137      - bash
138      name: main
139  - build:
140      command:
141      - bash
142      - /build_scripts/build_qps_worker.sh
143    clone:
144      gitRef: master
145      repo: https://github.com/grpc/grpc.git
146    language: php7
147    pool: ${client_pool}
148    run:
149    - args:
150      - -c
151      - |
152        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
153        /run_scripts/run_worker.sh
154      command:
155      - bash
156      name: main
157  - build:
158      command:
159      - bash
160      - /build_scripts/build_qps_worker.sh
161    clone:
162      gitRef: master
163      repo: https://github.com/grpc/grpc.git
164    language: php7_protobuf_c
165    pool: ${client_pool}
166    run:
167    - args:
168      - -c
169      - |
170        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
171        /run_scripts/run_protobuf_c_worker.sh
172      command:
173      - bash
174      name: main
175  - build:
176      args:
177      - build
178      - --compilation_mode
179      - opt
180      - //src/python/grpcio_tests/tests/qps:qps_worker
181      command:
182      - bazel
183    clone:
184      gitRef: master
185      repo: https://github.com/grpc/grpc.git
186    language: python
187    pool: ${client_pool}
188    run:
189    - args:
190      - -c
191      - |
192        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
193            bazel-bin/src/python/grpcio_tests/tests/qps/qps_worker \
194            --driver_port="${DRIVER_PORT}"
195      command:
196      - bash
197      name: main
198  - build:
199      args:
200      - build
201      - --compilation_mode
202      - opt
203      - //src/python/grpcio_tests/tests_aio/benchmark:worker
204      command:
205      - bazel
206    clone:
207      gitRef: master
208      repo: https://github.com/grpc/grpc.git
209    language: python_asyncio
210    pool: ${client_pool}
211    run:
212    - args:
213      - -c
214      - |
215        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
216            bazel-bin/src/python/grpcio_tests/tests_aio/benchmark/worker \
217            --driver_port="${DRIVER_PORT}"
218      command:
219      - bash
220      name: main
221  - build:
222      command:
223      - bash
224      - /build_scripts/build_qps_worker.sh
225    clone:
226      gitRef: master
227      repo: https://github.com/grpc/grpc
228    language: ruby
229    pool: ${client_pool}
230    run:
231    - args:
232      - -c
233      - |
234        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" ruby \
235            src/ruby/qps/worker.rb --driver_port="${DRIVER_PORT}"
236      command:
237      - bash
238      name: main
239  driver:
240    language: cxx
241    run: []
242  results:
243    bigQueryTable: ${big_query_table}
244  servers:
245  - build:
246      command:
247      - bash
248      - /build_scripts/build_qps_worker.sh
249    clone:
250      gitRef: master
251      repo: https://github.com/grpc/grpc.git
252    language: csharp
253    pool: ${server_pool}
254    run:
255    - args:
256      - -c
257      - |
258        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" dotnet exec \
259            qps_worker/Grpc.IntegrationTesting.QpsWorker.dll \
260            --driver_port="${DRIVER_PORT}"
261      command:
262      - bash
263      name: main
264  - build:
265      command:
266      - bash
267      - /build_scripts/build_qps_worker.sh
268    clone:
269      gitRef: master
270      repo: https://github.com/grpc/grpc-dotnet.git
271    language: dotnet
272    pool: ${server_pool}
273    run:
274    - args:
275      - -c
276      - |
277        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
278            qps_worker/QpsWorker -- --driver_port="${DRIVER_PORT}"
279      command:
280      - bash
281      name: main
282  - build:
283      args:
284      - build
285      - --config
286      - opt
287      - //test/cpp/qps:qps_worker
288      command:
289      - bazel
290    clone:
291      gitRef: master
292      repo: https://github.com/grpc/grpc.git
293    language: cxx
294    pool: ${server_pool}
295    run:
296    - args:
297      - -c
298      - |
299        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
300            bazel-bin/test/cpp/qps/qps_worker --driver_port="${DRIVER_PORT}" \
301            --server_port=10010
302      command:
303      - bash
304      name: main
305  - build:
306      args:
307      - build
308      - -o
309      - /src/workspace/bin/worker
310      - ./benchmark/worker
311      command:
312      - go
313    clone:
314      gitRef: master
315      repo: https://github.com/grpc/grpc-go.git
316    language: go
317    pool: ${server_pool}
318    run:
319    - args:
320      - -c
321      - |
322        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
323            /src/workspace/bin/worker --driver_port="${DRIVER_PORT}"
324      command:
325      - bash
326      name: main
327  - build:
328      args:
329      - -PskipAndroid=true
330      - -PskipCodegen=true
331      - :grpc-benchmarks:installDist
332      command:
333      - gradle
334    clone:
335      gitRef: master
336      repo: https://github.com/grpc/grpc-java.git
337    language: java
338    pool: ${server_pool}
339    run:
340    - args:
341      - -c
342      - |
343        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
344            /run_scripts/run_worker.sh
345      command:
346      - bash
347      name: main
348  - build:
349      command:
350      - bash
351      - /build_scripts/build_qps_worker.sh
352    clone:
353      gitRef: master
354      repo: https://github.com/grpc/grpc-node.git
355    language: node
356    pool: ${server_pool}
357    run:
358    - args:
359      - -c
360      - |
361        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" node -r \
362            ./test/fixtures/native_native.js test/performance/worker.js \
363            --benchmark_impl=grpc --driver_port="${DRIVER_PORT}"
364      command:
365      - bash
366      name: main
367  - build:
368      args:
369      - build
370      - --compilation_mode
371      - opt
372      - //src/python/grpcio_tests/tests/qps:qps_worker
373      command:
374      - bazel
375    clone:
376      gitRef: master
377      repo: https://github.com/grpc/grpc.git
378    language: python
379    pool: ${server_pool}
380    run:
381    - args:
382      - -c
383      - |
384        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
385            bazel-bin/src/python/grpcio_tests/tests/qps/qps_worker \
386            --driver_port="${DRIVER_PORT}"
387      command:
388      - bash
389      name: main
390  - build:
391      args:
392      - build
393      - --compilation_mode
394      - opt
395      - //src/python/grpcio_tests/tests_aio/benchmark:worker
396      command:
397      - bazel
398    clone:
399      gitRef: master
400      repo: https://github.com/grpc/grpc.git
401    language: python_asyncio
402    pool: ${server_pool}
403    run:
404    - args:
405      - -c
406      - |
407        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" \
408            bazel-bin/src/python/grpcio_tests/tests_aio/benchmark/worker \
409            --driver_port="${DRIVER_PORT}"
410      command:
411      - bash
412      name: main
413  - build:
414      command:
415      - bash
416      - /build_scripts/build_qps_worker.sh
417    clone:
418      gitRef: master
419      repo: https://github.com/grpc/grpc
420    language: ruby
421    pool: ${server_pool}
422    run:
423    - args:
424      - -c
425      - |
426        timeout --kill-after="${KILL_AFTER}" "${POD_TIMEOUT}" ruby \
427            src/ruby/qps/worker.rb --driver_port="${DRIVER_PORT}"
428      command:
429      - bash
430      name: main
431  timeoutSeconds: ${timeout_seconds}
432  ttlSeconds: 86400
433