milvus/tests/python_client/deploy
zhuwenxing f755c9a43e
[skip e2e]Disable repo and tag as param (#14393)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2021-12-28 11:54:07 +08:00
..
cluster [skip e2e]Add docker-compose.yml for deploy test (#14106) 2021-12-23 22:13:32 +08:00
scripts [skip e2e]Add timeout for query in deploy test (#14371) 2021-12-27 22:18:20 +08:00
standalone [skip e2e]Add docker-compose.yml for deploy test (#14106) 2021-12-23 22:13:32 +08:00
cluster-values.yaml [skip e2e]Disable repo and tag as param (#14393) 2021-12-28 11:54:07 +08:00
README.md [skip ci]Update readme for deploy test (#10615) 2021-10-25 22:34:20 +08:00
requirements.txt [skip ci]Update deploy test (#12778) 2021-12-06 18:18:41 +08:00
run.sh [skip e2e]Fix typo in script (#13801) 2021-12-20 19:52:51 +08:00
standalone-values.yaml [skip e2e]Disable repo and tag as param (#14393) 2021-12-28 11:54:07 +08:00
test.sh [skip e2e]Fix image tag for upgrade and standalone helm uninstall (#14246) 2021-12-27 09:22:20 +08:00

Overview

To test deployment by docker-compose(Both standalone and cluster)

  • re-install milvus to check data persistence
    1. Deploy Milvus
    2. Insert data
    3. Build index
    4. Search
    5. Stop Milvus
    6. Repeat from step #1
  • upgrade milvus to check data compatibility
    1. Deploy Milvus Previous RC)
    2. Insert data
    3. Search
    4. Stop Milvus
    5. Deploy Milvus (Latest RC)
    6. Build index
    7. Search

Project structure

.
├── README.md
├── cluster # dir to deploy cluster
│   ├── logs # dir to save logs
│   └──docker-compose.yml
├── standalone # dir to deploy standalone
│   ├── logs # dir to save logs
│   └──docker-compose.yml
├── scripts
│   ├── action_after_upgrade.py
│   ├── action_before_upgrade.py
│   ├── action_reinstall.py
│   └── utils.py
├── cluster-values.yaml # config for helm deployment
├── test.sh # script to run a single task
└── run.sh # script to run all tasks

Usage

Make sure you have installed docker,docker-compose and pymilvus! For different version, you should modify the value of latest_tag, latest_rc_tag and Release. Password of root is needed for deleting volumes dir.

single test task

$ bash test.sh -m ${Mode} -t ${Task} -p ${Password}
# Mode, the mode of milvus deploy. standalone or cluster"
# Task, the task type of test. reinstall or upgrade
# Password, the password of root"

run all tasks

$ bash run.sh -p ${Password}
# Password, the password of root"

Integrate deploy test into CI

Provides a way to periodically run docker-compose deployment tests through GitHub actiondeploy-test

  • Parallel testing for four deployment scenarios
  • Upload logs to artifacts for further debug
  • Email notification for test failure
  • Support helm deployment tests
  • Cover more detail information in email notification