Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add network topology e2e test cases #3928

Open
6 tasks
JesseStutler opened this issue Dec 26, 2024 · 3 comments
Open
6 tasks

Add network topology e2e test cases #3928

JesseStutler opened this issue Dec 26, 2024 · 3 comments
Assignees
Labels
area/test CI and test related Issues or PRs kind/feature Categorizes issue or PR as related to a new feature.

Comments

@JesseStutler
Copy link
Member

JesseStutler commented Dec 26, 2024

Network topology needs to add e2e test cases

The current scoring mechanism of hypernode is as follows:
Score(sum) = Score(hypernodes) + Score(nodes)

  • Score(hypernodes): The lower the tier of the Hypernode, the higher the score. If the tier is the same, the more Pods deployed under the vc-job in the hypernode, the higher the score.
  • Score(nodes): Sum the score of the Nodes in the HyperNode, and the Node score is calculated according to binpack

Suppose we create the HyperNodes structure according to this pic, and the test cases are also tested according to this pic. (We can create fake nodes using kwok)
image

Test Cases

  • case 1: network topology mode is hard, HighestTierAllowed is 1, assume that there are already Pods occupying resources on Node-0 at this time. Then deploy a vc-job that needs to use NetworkTopology. Because node scoring is based on binpack, we will try to fill the nodes first as much as possible.
    • subcase1-1: The score of hypernode s0 is highest. The resources of node-0 are enough to be allocated to all pods in vc-job. These pods should be scheduled to node-0.
    • subcase1-2: The score of hypernode s0 is highest. The resources of node-0 are not enough to be allocated to all pods in vc-job. Then part of the pods should be scheduled to node-0, and part of the pods should be scheduled to node-1.
    • subcase1-3: Neither Hypernode s0, s1, s2, nor s3 resources are enough to be allocated to vc-job, all/part of the pods of the vc-job should be pending.
  • case 2: network topology mode is hard, HighestTierAllowed is 2. Assume that the hypernodes resources of tier 1 are not enough to be allocated to vc-job. Tier 2 hypernode resources are enough to be allocated to vc-job. If there are already some pods occupying in hypernode s4, s4 score should be higher, and all pods should be scheduled to hypernode s4.
  • case 3: network topology mode is hard, HighestTierAllowed is 3. Assume that there are already parts of vc-job pods scheduled onto hypernode s4, but there are still pods in vc-job needed to be scheduled, then these pods should be scheduled onto hypernode s4, because more pods deployed under the vc-job in the hypernode, the higher the score.
  • case 4: network topology mode is soft, Assume that the hypernodes resources of tier 1 are not enough to be allocated to vc-job, tier 2 hypernode resources are enough to be allocated to vc-job(Need 4 nodes resources). The pods of vc-job should be scheduled onto hypernode s4 or s5, cannot be scheduled both in s4/s5.
@JesseStutler
Copy link
Member Author

/kind feature

@volcano-sh-bot volcano-sh-bot added the kind/feature Categorizes issue or PR as related to a new feature. label Dec 26, 2024
@JesseStutler
Copy link
Member Author

/area test

@volcano-sh-bot volcano-sh-bot added the area/test CI and test related Issues or PRs label Dec 30, 2024
@Xu-Wentao
Copy link

/assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/test CI and test related Issues or PRs kind/feature Categorizes issue or PR as related to a new feature.
Development

No branches or pull requests

3 participants