milvus/tests/python_client/deploy
zhuwenxing db9074ab24
Add README for deploy test (#7837)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2021-09-13 20:10:57 +08:00
..
scripts Set latest_tag as a constants (#7824) 2021-09-13 19:35:02 +08:00
README.md Add README for deploy test (#7837) 2021-09-13 20:10:57 +08:00
requirements.txt Add deploy test (#7539) 2021-09-09 14:32:27 +08:00
run.sh Add deploy test (#7539) 2021-09-09 14:32:27 +08:00
test.sh Add deploy test (#7539) 2021-09-09 14:32:27 +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
├── 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