# kubectl get cmpd
NAME SERVICE SERVICE-VERSION STATUS AGE
milvus-datanode-0.9.4 milvus 2.3.9 Available 5m54s
milvus-indexnode-0.9.4 milvus 2.3.9 Available 5m54s
milvus-mixcoord-0.9.4 milvus 2.3.9 Available 5m54s
milvus-proxy-0.9.4 milvus 2.3.9 Available 5m54s
milvus-querynode-0.9.4 milvus 2.3.9 Available 5m54s
3. helm install the target version for all ComponentDefinitions with changes as follows
3.3 perform helm upgrade against the new helm package
4. List ComponentDefinitions again
You can expect to see two versions of CD are available now
# kubectl get cmpd && kubectl get sd && kubectl get cm && kubectl get cd
NAME SERVICE SERVICE-VERSION STATUS AGE
milvus-datanode-0.9.4 milvus 2.3.9 Available 6m51s
milvus-datanode-0.9.5 milvus 2.3.10 Available 18s
milvus-indexnode-0.9.4 milvus 2.3.9 Available 6m51s
milvus-indexnode-0.9.5 milvus 2.3.10 Available 18s
milvus-mixcoord-0.9.4 milvus 2.3.9 Available 6m51s
milvus-mixcoord-0.9.5 milvus 2.3.10 Available 18s
milvus-proxy-0.9.4 milvus 2.3.9 Available 6m51s
milvus-proxy-0.9.5 milvus 2.3.10 Available 18s
milvus-querynode-0.9.4 milvus 2.3.9 Available 6m51s
milvus-querynode-0.9.5 milvus 2.3.10 Available 18s
5. Check the status of all resources before upgrade
# kubectl get ops && kubectl get cmp && kubectl get pod && kubectl get instanceset
No resources found in default namespace.
NAME DEFINITION SERVICE-VERSION STATUS AGE
milvus-cc-datanode milvus-datanode-0.9.4 2.3.9 Running 7m54s
milvus-cc-indexnode milvus-indexnode-0.9.4 2.3.9 Running 7m54s
milvus-cc-mixcoord milvus-mixcoord-0.9.4 2.3.9 Running 7m54s
milvus-cc-proxy milvus-proxy-0.9.4 2.3.9 Running 7m54s
milvus-cc-querynode milvus-querynode-0.9.4 2.3.9 Running 7m54s
NAME READY STATUS RESTARTS AGE
milvus-cc-datanode-0 1/1 Running 0 7m53s
milvus-cc-datanode-1 1/1 Running 0 6m13s
milvus-cc-datanode-2 1/1 Running 0 4m33s
milvus-cc-indexnode-0 1/1 Running 0 7m54s
milvus-cc-indexnode-1 1/1 Running 0 6m13s
milvus-cc-indexnode-2 1/1 Running 0 4m33s
milvus-cc-mixcoord-0 1/1 Running 0 7m50s
milvus-cc-mixcoord-1 1/1 Running 0 6m10s
milvus-cc-mixcoord-2 1/1 Running 0 4m29s
milvus-cc-proxy-0 1/1 Running 0 7m52s
milvus-cc-proxy-1 1/1 Running 0 6m12s
milvus-cc-proxy-2 1/1 Running 0 4m31s
milvus-cc-querynode-0 1/1 Running 0 7m53s
milvus-cc-querynode-1 1/1 Running 0 6m12s
milvus-cc-querynode-2 1/1 Running 0 4m32s
NAME LEADER READY REPLICAS AGE
milvus-cc-datanode 3 3 7m54s
milvus-cc-indexnode 3 3 7m54s
milvus-cc-mixcoord 3 3 7m51s
milvus-cc-proxy 3 3 7m52s
milvus-cc-querynode 3 3 7m53s
6. Perform the upgrade
6.1 create a OpsRequest manifest as follows:
Try to upgrade all components in a single OpsRequest.
Expected behavior
The components should be upgraded sequentially across components in the order of mixcoord->datanode->indexnode->querynode->proxy as defined in the cluster definition.
Describe the bug When upgrading a milvus cluster using a OpsRequest, it didn't upgrade the components in the order defined in the ClusterDefinition.
To Reproduce Steps to reproduce the behavior:
1. create a milvus cluster with ClusterDefinition as follows:
Note it has the order of update between components defined.
2. List current ComponentDefinitions as follows
3. helm install the target version for all ComponentDefinitions with changes as follows
3.1 the addon values.yaml
3.2 the addon Chart.yaml
3.3 perform
helm upgrade
against the new helm package4. List ComponentDefinitions again
You can expect to see two versions of CD are available now
5. Check the status of all resources before upgrade
6. Perform the upgrade
6.1 create a OpsRequest manifest as follows: Try to upgrade all components in a single OpsRequest.
6.2 perform the Upgrade by running
kubectl apply -f ops-upgrade.yaml
7. verify the upgrade process by checking the status of resources
You can see both components, milvus-cc-datanode and milvus-cc-mixcoord, got upgraded simultaneously, which is unexpected.
Once those two components finished, the rest components(indexnode/proxy/querynode) also started to upgrade simultaeously, which is also unexpected.
Expected behavior The components should be upgraded sequentially across components in the order of mixcoord->datanode->indexnode->querynode->proxy as defined in the cluster definition.
Additional context kubeblocks: v0.9.2-beta.16 kubernetes: 1.30