milvus/tests/python_client/scale
ThreadDao 6b57e87acb
[skip e2e] Update scale test image tag (#14294)
Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2021-12-27 15:22:57 +08:00
..
constants.py [skip e2e] Update scale test image tag (#14294) 2021-12-27 15:22:57 +08:00
README.md [skip e2e] Update scale test README (#13864) 2021-12-21 15:55:46 +08:00
scale_common.py [skip ci] Update scale proxy test and delete shrink proxy (#13550) 2021-12-17 08:53:26 +08:00
test_data_node_scale.py [skip ci] Add comment to scale queryNode and dataNode test (#13551) 2021-12-17 08:55:14 +08:00
test_index_node_scale.py [skip ci] Add operator in scale shrink indxnode test (#13069) 2021-12-09 15:27:09 +08:00
test_proxy_scale.py [skip ci] Update scale proxy test and delete shrink proxy (#13550) 2021-12-17 08:53:26 +08:00
test_query_node_scale.py [skip e2e] Update milvus image harbor (#13874) 2021-12-21 16:07:02 +08:00

Scale Tests

Goal

Scale tests are designed to check the scalability of Milvus.

For instance, if the dataNode pod expands from one to two:

  • verify the consistency of existing data

  • verify that the DDL and DML operation is working

Prerequisite

Test Scenarios

Milvus in cluster mode

  • scale dataNode replicas

  • expand / shrink indexNode replicas

  • scale queryNode replicas

  • scale proxy replicas

How it works

  • Milvus scales the number of pods in a deployment based on the milvus operator

  • Scale test decouple the milvus deployment from the test code

  • Each test scenario is carried out along the process:
    deploy milvus -> operate milvus -> scale milvus -> verify milvus

  • Milvus deployment and milvus scaling are designed in ./customize/milvus_operator.py

Run

Manually

Run a single test scenario manually(take scale dataNode as instance):

  • update update milvus image tag IMAGE_TAG in scale/constants.py

  • run the commands below:

  cd /milvus/tests/python_client/scale  
  
  pytest test_data_node_scale.py::TestDataNodeScale::test_expand_data_node -v -s  

Nightly

still in planning