scheduler_perf: refactor to allow arbitrary workloads
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
This commit is contained in:
@@ -58,7 +58,7 @@ func NewIntegrationTestNodePreparerWithNodeSpec(client clientset.Interface, coun
|
||||
}
|
||||
|
||||
// PrepareNodes prepares countToStrategy test nodes.
|
||||
func (p *IntegrationTestNodePreparer) PrepareNodes() error {
|
||||
func (p *IntegrationTestNodePreparer) PrepareNodes(nextNodeIndex int) error {
|
||||
numNodes := 0
|
||||
for _, v := range p.countToStrategy {
|
||||
numNodes += v.Count
|
||||
@@ -103,11 +103,9 @@ func (p *IntegrationTestNodePreparer) PrepareNodes() error {
|
||||
if err != nil {
|
||||
klog.Fatalf("Error listing nodes: %v", err)
|
||||
}
|
||||
index := 0
|
||||
sum := 0
|
||||
index := nextNodeIndex
|
||||
for _, v := range p.countToStrategy {
|
||||
sum += v.Count
|
||||
for ; index < sum; index++ {
|
||||
for i := 0; i < v.Count; i, index = i+1, index+1 {
|
||||
if err := testutils.DoPrepareNode(p.client, &nodes.Items[index], v.Strategy); err != nil {
|
||||
klog.Errorf("Aborting node preparation: %v", err)
|
||||
return err
|
||||
@@ -119,14 +117,18 @@ func (p *IntegrationTestNodePreparer) PrepareNodes() error {
|
||||
|
||||
// CleanupNodes deletes existing test nodes.
|
||||
func (p *IntegrationTestNodePreparer) CleanupNodes() error {
|
||||
// TODO(#93794): make CleanupNodes only clean up the nodes created by this
|
||||
// IntegrationTestNodePreparer to make this more intuitive.
|
||||
nodes, err := GetReadySchedulableNodes(p.client)
|
||||
if err != nil {
|
||||
klog.Fatalf("Error listing nodes: %v", err)
|
||||
}
|
||||
var errRet error
|
||||
for i := range nodes.Items {
|
||||
if err := p.client.CoreV1().Nodes().Delete(context.TODO(), nodes.Items[i].Name, metav1.DeleteOptions{}); err != nil {
|
||||
klog.Errorf("Error while deleting Node: %v", err)
|
||||
errRet = err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return errRet
|
||||
}
|
||||
|
Reference in New Issue
Block a user