milvus/tests/python_client/scale
ThreadDao f8b2a64805
Add annotations to the func of helm_env (#7985)
Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2021-09-15 17:37:53 +08:00
..
constants.py Delete scale default helm chart path (#7829) 2021-09-13 19:38:58 +08:00
helm_env.py Add annotations to the func of helm_env (#7985) 2021-09-15 17:37:53 +08:00
README.md Update scale test README (#7872) 2021-09-14 13:11:54 +08:00
scale_common.py Delete scale default helm chart path (#7829) 2021-09-13 19:38:58 +08:00
test_data_node_scale.py Optmize scale helm env (#7263) 2021-08-24 16:07:52 +08:00
test_index_node_scale.py Optmize scale helm env (#7263) 2021-08-24 16:07:52 +08:00
test_proxy_scale.py Optmize scale helm env (#7263) 2021-08-24 16:07:52 +08:00
test_query_node_scale.py Optmize scale helm env (#7263) 2021-08-24 16:07:52 +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

  • expand / shrink dataNode pod

  • expand / shrink indexNode pod

  • expand / shrink queryNode pod

  • expand / shrink proxy pod

How it works

  • Milvus scales the number of pods in a deployment based on the helm upgrade

  • 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 helm_env.py

Run

Manually

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

  • update milvus helm chart path
  export MILVUS_CHART_ENV=/your/milvus-helm/charts/milvus  
  • 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