github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/test/util/clean/clean.go (about)

     1  package clean
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"time"
     7  
     8  	"github.com/k8snetworkplumbingwg/sriov-network-operator/test/util/client"
     9  	"github.com/k8snetworkplumbingwg/sriov-network-operator/test/util/cluster"
    10  	"github.com/k8snetworkplumbingwg/sriov-network-operator/test/util/namespaces"
    11  )
    12  
    13  var RestoreNodeDrainState bool
    14  
    15  // All cleans all the dangling resources created by conformance tests.
    16  // This includes pods, networks, policies and namespaces.
    17  func All() error {
    18  	operatorNamespace, found := os.LookupEnv("OPERATOR_NAMESPACE")
    19  	if !found {
    20  		operatorNamespace = "openshift-sriov-network-operator"
    21  	}
    22  	clients := client.New("")
    23  	if clients == nil {
    24  		return fmt.Errorf("failed to create ClientSet")
    25  	}
    26  
    27  	if RestoreNodeDrainState {
    28  		err := cluster.SetDisableNodeDrainState(clients, operatorNamespace, false)
    29  		if err != nil {
    30  			return fmt.Errorf("failed to restore node drain state %v", err)
    31  		}
    32  	}
    33  
    34  	err := namespaces.DeleteAndWait(clients, namespaces.Test, 5*time.Minute)
    35  	if err != nil {
    36  		return fmt.Errorf("failed to delete sriov tests namespace %v", err)
    37  	}
    38  
    39  	err = namespaces.Clean(operatorNamespace, namespaces.Test, clients, false)
    40  	if err != nil {
    41  		return fmt.Errorf("failed to clean sriov resources %v", err)
    42  	}
    43  
    44  	return nil
    45  }