-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI integration of networkservicemesh integration tests (NSMNSE-79) #23
base: vl3_latest
Are you sure you want to change the base?
Changes from 62 commits
25366f8
5159511
f9c29c9
b5756fa
7656f1c
3215b2d
8377e22
2f1e4f9
8e3fa80
aeef96b
e6d59f9
51afdd1
93ccd37
8239b95
9ca800f
38cd1d4
f2520e4
b8edfc1
0365ef6
2f52c5b
a355cf9
4ccfbae
95553fa
aedaf82
ddfbba0
04d69f4
d7007c4
f2eba70
01ffb5b
cbbe6b9
b92b097
a5906a0
e155706
d0ca32f
a5e53c3
9ebeca5
42e0393
4a842fa
02a03e9
5addda7
e74f800
8140068
1978eda
68931b1
59817d6
b8fded3
c188e63
10f96b8
1c68a87
815833b
bcac0b7
6912e0f
58debbe
cd31d11
8fb9d7a
8064ba6
cbb7aa4
a15c242
23b4804
3c7e2ac
6d85130
a3c03fb
34146a0
1f6abff
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
version: 1.0 | ||
root: "./.tests/cloud_test/bench/" | ||
timeout: 7200 # 2 hour total total timeout | ||
shuffle-enabled: false | ||
statistics: | ||
enabled: true | ||
interval: 30 # 30 seconds for statistics | ||
providers: | ||
- name: "kind" # A name of our provider | ||
kind: "shell" # A type of provider, shell indicate we need to specify all operations with shell commands. | ||
instances: 1 # We need to have 1 instance of cloud. | ||
node-count: 3 # With 3 nodes, CloudTest will validate if cloud has 3 nodes alive. | ||
retry: 1 # A retry count if cloud is failed to start tool will try again. | ||
enabled: true # Indicate Provider is active with config by default, if set to false, values could be overriden using command line arguments. | ||
timeout: 300 # 5 minutes to start cluster | ||
stop-delay: 10 | ||
env: | ||
- KIND_CLUSTER_NAME=cloudtest-kind-$(rands10) # Generate a uniq cluster name | ||
- CONFIG_LOCATION=$(tempdir)/config # Put Kubernetes configuration file here, $(tempdir) a executable variable name pointing to temporary folder. | ||
scripts: | ||
start: make kind-start | ||
config: make kind-export-kubeconfig # Use make file to generate kind config and put it into a file specified with CONFIG_LOCATION environment variable. | ||
stop: make kind-stop | ||
prepare: | | ||
make k8s-load-images | ||
make spire-install | ||
make k8s-config | ||
executions: | ||
- name: "Benchmark tests" | ||
env: | ||
- ARTIFACTS_ARCHIVE=true | ||
source: | ||
tags: | ||
- bench | ||
root: ./test/integration | ||
timeout: 600 | ||
cluster-count: 1 | ||
cluster-env: | ||
- KUBECONFIG | ||
on-fail: | | ||
make k8s-reset | ||
reporting: | ||
junit-report: "results/junit-benchmark-tests.xml" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
version: 1.0 | ||
root: "./.tests/cloud_test/interdomain/" | ||
timeout: 7200 # 2 hour total total timeout | ||
shuffle-enabled: false | ||
statistics: | ||
enabled: true | ||
interval: 30 # 30 seconds for statistics | ||
providers: | ||
- name: "kind" # A name of our provider | ||
kind: "shell" # A type of provider, shell indicate we need to specify all operations with shell commands. | ||
instances: 2 | ||
node-count: 3 # With 3 nodes, CloudTest will validate if cloud has 3 nodes alive. | ||
retry: 1 # A retry count if cloud is failed to start tool will try again. | ||
enabled: true # Indicate Provider is active with config by default, if set to false, values could be overriden using command line arguments. | ||
timeout: 300 # 5 minutes to start cluster | ||
stop-delay: 10 | ||
env: | ||
- KIND_CLUSTER_NAME=cloudtest-kind-$(rands10) # Generate a uniq cluster name | ||
- CONFIG_LOCATION=$(tempdir)/config # Put Kubernetes configuration file here, $(tempdir) a executable variable name pointing to temporary folder. | ||
scripts: | ||
start: make kind-start | ||
config: make kind-export-kubeconfig # Use make file to generate kind config and put it into a file specified with CONFIG_LOCATION environment variable. | ||
stop: make kind-stop | ||
prepare: | | ||
make k8s-load-images | ||
make spire-install | ||
make k8s-config | ||
executions: | ||
- name: "Interdomain tests" | ||
env: | ||
- ARTIFACTS_ARCHIVE=true | ||
- USE_JAEGER_SERVICE=true | ||
source: | ||
tags: | ||
- interdomain | ||
root: ./test/integration | ||
timeout: 600 | ||
cluster-count: 2 | ||
cluster-selector: | ||
- kind | ||
- kind | ||
cluster-env: | ||
- KUBECONFIG_CLUSTER_1 | ||
- KUBECONFIG_CLUSTER_2 | ||
on-fail: | | ||
make k8s-reset | ||
reporting: | ||
junit-report: "results/junit-interdomain-tests.xml" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
version: 1.0 | ||
root: "./.tests/cloud_test/single-cluster/" | ||
timeout: 7200 # 2 hour total total timeout | ||
shuffle-enabled: false | ||
statistics: | ||
enabled: true | ||
interval: 30 # 30 seconds for statistics | ||
providers: | ||
- name: "kind" # A name of our provider | ||
kind: "shell" # A type of provider, shell indicate we need to specify all operations with shell commands. | ||
instances: 1 # We need to have 1 instance of cloud. | ||
node-count: 3 # With 3 nodes, CloudTest will validate if cloud has 3 nodes alive. | ||
retry: 1 # A retry count if cloud is failed to start tool will try again. | ||
enabled: true # Indicate Provider is active with config by default, if set to false, values could be overriden using command line arguments. | ||
timeout: 300 # 5 minutes to start cluster | ||
stop-delay: 10 | ||
env: | ||
- KIND_CLUSTER_NAME=cloudtest-kind-$(rands10) # Generate a uniq cluster name | ||
- CONFIG_LOCATION=$(tempdir)/config # Put Kubernetes configuration file here, $(tempdir) a executable variable name pointing to temporary folder. | ||
scripts: | ||
start: make kind-start | ||
config: make kind-export-kubeconfig # Use make file to generate kind config and put it into a file specified with CONFIG_LOCATION environment variable. | ||
stop: make kind-stop | ||
prepare: | | ||
make k8s-load-images | ||
make spire-install | ||
make k8s-config | ||
executions: | ||
- name: "Single cluster tests" | ||
env: | ||
- ARTIFACTS_ARCHIVE=true | ||
source: | ||
tags: | ||
- basic | ||
- recover | ||
- usecase | ||
root: ./test/integration | ||
timeout: 300 | ||
cluster-count: 1 | ||
cluster-env: | ||
- KUBECONFIG | ||
on-fail: | | ||
make k8s-reset | ||
reporting: | ||
junit-report: "results/junit-single-cluster-tests.xml" |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does the injection of the
$(rands10)
actually work? Does cloudtest process the yaml file content in a way that a bash shell would exec that?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I see that a makefile target is wrapping usage of the env var with
$()
exec... interestingThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cloudtest does do extra processing.
https://github.com/networkservicemesh/cloudtest/blob/master/docs/README.md#environment-variables-processing
you get environment variables and a handful of other useful commands, like rands10. I'm not sure if this is executed by bash or not, they may have just borrowed the syntax.