forked from C2Devel/aws-ebs-csi-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update testing and debugging documentation
- Loading branch information
1 parent
9690d1e
commit 918ca4a
Showing
3 changed files
with
51 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,10 @@ | |
|
||
## e2e | ||
|
||
В апстриме используетс сложный агрегат под названием [aws-k8s-tester](https://github.com/aws/aws-k8s-tester). Этот инструкмент создает кластер, деплоит в него драйвер и запускает тесты. Инструкции по запуску тестов находятся в tester/*.yaml в секции test. Например в single-az-conifg.yaml инструкции следующие: | ||
В апстриме используется сложный агрегат под названием [aws-k8s-tester](https://github.com/aws/aws-k8s-tester). | ||
Этот инструмент создает кластер, деплоит в него драйвер и запускает тесты. | ||
Инструкции по запуску тестов находятся в tester/*.yaml в секции test. | ||
Например в single-az-conifg.yaml инструкции следующие: | ||
|
||
``` | ||
go get -u github.com/onsi/ginkgo/ginkgo | ||
|
@@ -54,45 +57,54 @@ $(go env GOBIN)/ginkgo -p -nodes=32 -v --focus="\[ebs-csi-e2e\] \[single-az\]" t | |
|-- integration_test.go | ||
|-- README.md | ||
`-- setup_test.go | ||
``` | ||
``` | ||
|
||
В директории tests есть e2e/e2e-migration/intergration субдиректории. Основная масса тестов находится в e2e. Тесты в е2е функциональные, в основном работют в api k8s и облака (лучшего облака - ц2 облака). | ||
В директории tests есть e2e/e2e-migration/intergration субдиректории. | ||
Основная масса тестов находится в e2e. | ||
Тесты в е2е функциональные, в основном работют в api k8s и облака (лучшего облака - ц2 облака). | ||
|
||
Для выполнения тестов потребуется: | ||
- Для single-az 1 нода мастер и 1 воркер | ||
- Для multi-az 3 ноды мастеров в разных аз и 1 воркер в одной аз | ||
Мастер нода должна быть с диском достаточного размера, от 16 Гб | ||
Как запустить тесты | ||
Для запуска тестов нам понадобится. | ||
- [создать](https://docs.cloud.croc.ru/ru/services/kubernetes.html#creating) бубернетес кластер в ц2 кдауде | ||
- попасть по ссш на мастер ноду и выполнить ```sudo -i``` | ||
- проверить что в руте настроен kubectl - выполнить: ```kubectl get nodes``` | ||
- установить голанг: | ||
- - cd /tmp && curl -O https://dl.google.com/go/go1.16.9.linux-amd64.tar.gz | ||
- - tar -xzf go1.16.9.linux-amd64.tar.gz | ||
- - mv go /usr/local | ||
- - export GOROOT=/usr/local/go | ||
- - cd /tmp && curl -O https://dl.google.com/go/go1.20.7.linux-amd64.tar.gz | ||
- - tar -xzf go1.20.7.linux-amd64.tar.gz | ||
- - mv go /usr/local/go1.20.7 | ||
- - export GOROOT=/usr/local/go1.20.7 | ||
- - export PATH=$GOROOT/bin:$PATH | ||
- - cd - | ||
- установить gcc (нужно для ginkgo): | ||
- - yum install gcc | ||
- - cd ~ | ||
- установить gcc (нужно для ginkgo) и git: | ||
- - yum install gcc git | ||
- склонить эту репу: | ||
- - git clone https://github.com/c2devel/aws-ebs-csi-driver.git | ||
- задать переменные окружения для подлкючения тестов к облаку: | ||
- - export AWS_EC2_ENDPOINT="https://api.cloud.croc.ru" | ||
- - export AWS_AVAILABILITY_ZONES="ru-msk-comp1p" | ||
- - Воркер должен быть в той же аз что и указана | ||
- - Воркер должен быть в той же az что и указана | ||
- - export AWS_SECRET_ACCESS_KEY="<secret_key>" | ||
- - export AWS_ACCESS_KEY_ID="<access_key>" | ||
- - export AWS_EC2_ENDPOINT_UNSECURE=true | ||
- задать переменные окружения для подлючения тестов к k8s: | ||
- - export KUBECONFIG=$HOME/.kube/config | ||
- - export KUBECONFIG=$HOME/.kube/config | ||
- запустить проверку зависимостей | ||
- - cd aws-ebs-csi-driver | ||
- - Выполнить ```go get -u modernc.org/[email protected]``` (временный воркераунд для версии 1.1, связанный с недоступностью go зависимостей. для версии 1.21 не требуется) | ||
- - make verify-vendor | ||
- запустить юнит тесты (проверить что код собирается) | ||
- - cd <repo_base_dir> | ||
- - Выполнить ```go get -u modernc.org/[email protected]``` (временный воркераунд, связанный с недоступностью go зависимостей) | ||
- - make test | ||
- установить ginkgo: | ||
- - go get github.com/onsi/ginkgo/[email protected] | ||
- запустить e2e тесты для single az: | ||
- установить ginkgo для нужной версии ebs драйвера: | ||
- - для 1.1: go install github.com/onsi/ginkgo/[email protected] | ||
- - для 1.21: go install github.com/onsi/ginkgo/v2/[email protected] | ||
- запустить e2e тесты для single az для версии 1.1: | ||
- - ~/go/bin/ginkgo -v -progress --focus="\\[ebs-csi-e2e\] \\[single-az\\]" /root/aws-ebs-csi-driver/tests/e2e -- -report-dir=./reports/ -kubeconfig=/root/.kube/config | ||
- - для версии 1.21: | ||
- - ~/go/bin/ginkgo -vv --show-node-events --focus='\[ebs-csi-e2e\] \[single-az\]' /root/aws-ebs-csi-driver/tests/e2e -- -report-dir=./reports/ -kubeconfig=/root/.kube/config | ||
- запустить e2e тесты для multi az: | ||
- - ~/go/bin/ginkgo -v -progress --focus="\\[ebs-csi-e2e\] \\[multi-az\\]" /root/aws-ebs-csi-driver/tests/e2e -- -report-dir=./reports/ -kubeconfig=/root/.kube/config | ||
Какие тесты есть: | ||
|