Documentation
¶
Index ¶
- Constants
- func BeforeProvisioning(ctx context.Context, input *systemTestInput)
- func CopySecretToNamespace(ctx context.Context, c client.Client, secretName string, ...)
- func CreateProvisioningDPUCluster(ctx context.Context, input *systemTestInput)
- func CreateProvisioningDPUSet(ctx context.Context, input *systemTestInput)
- func DeleteDPFOperatorConfig(ctx context.Context, testClient client.Client)
- func DeleteProvisioning(ctx context.Context, input *systemTestInput)
- func DeployDPFSystemComponents(ctx context.Context, input DeployDPFSystemComponentsInput)
- func EventuallyCheckReadyStatusCondition(ctx context.Context, client client.Client, obj client.Object, ...)
- func ProvisionBFBAndDPUFlavor(ctx context.Context, input ProvisionDPUClustersInput)
- func ProvisionDPUClusters(ctx context.Context, input ProvisionDPUClustersInput)
- func ProvisionDPUDeploymentWithEachDPUJoiningADifferentDPUCluster(ctx context.Context, input *systemTestInput)
- func ProvisionDPUSet(ctx context.Context, input ProvisionDPUClustersInput)
- func ValidateDPFOperatorBaseConfiguration(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorConfigCleanupPrerequisites(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorFlannelPodCIDRChange(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorKubernetesAPIServerVIPAndPort(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorMTUConfigurationChange(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorMTUCurrentConfiguration(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorMaxDPUParallelInstallations(ctx context.Context, input *systemTestInput)
- func ValidateDPFOperatorPathConfiguration(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentCreation(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentDPUServiceChainDisruptiveUpgrade(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentDPUServiceDisruptiveUpgrade(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentDeletionWhileDisruptiveUpgradeInProgress(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentFullCreation(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentInClusterDPUServiceDisruptiveUpgrade(ctx context.Context, input *systemTestInput)
- func ValidateDPUDeploymentMetrics(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceChainCreation(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceChainDeletion(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceChainMetrics(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceConfigPorts(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceCreationAndMirroring(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceCredentialRequestCreation(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceCredentialRequestDeletion(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceCredentialRequestMetrics(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceDeletion(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMCreationCidrSplit(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMCreationInvalid(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMCreationSubnetSplit(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMDeletionCidrSplit(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMInL2ModeForMultiDPUCluster(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMInL3ModeForMultiDPUCluster(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMMetrics(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceIPAMMetricsDeletion(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceInterfaceCreation(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceMetrics(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceNADConsumedByPod(ctx context.Context, input *systemTestInput)
- func ValidateDPUServiceNADMetrics(ctx context.Context)
- func ValidateDPUServiceTemplateCreationNoAnnotations(ctx context.Context, input *systemTestInput)
- func ValidateGeneralDPFMetrics(ctx context.Context, input *systemTestInput)
- func ValidateImagePullSecretsSync(ctx context.Context, input *systemTestInput)
- func VerifyClusterPods(ctx context.Context, client client.Client, podSubstrToVerify []string)
- func VerifyDPFOperatorConfigReady(ctx context.Context, kclient client.Client, timeout time.Duration)
- func VerifyDPUClusterWithNodes(ctx context.Context, input ProvisionDPUClustersInput)
- func VerifyDPUPodToPodRDMATraffic(ctx context.Context, input *systemTestInput)
- func VerifyDPUServiceTemplateCreationWithAnnotations(ctx context.Context, input *systemTestInput)
- func VerifyDPUServiceTemplateMetrics(ctx context.Context, input *systemTestInput)
- func VerifyDeploymentUnderlyingObjectsCreated(ctx context.Context, g Gomega, testClient client.Client, ...) bool
- func VerifyHBNOnlyBadFlowRecovery(ctx context.Context, input *systemTestInput)
- func VerifyHBNOnlyServiceFunctionChain(ctx context.Context, input *systemTestInput)
- func VerifyKSMMetricsCollection(ctx context.Context)
- func VerifyPerformancePodToPodDifferentNode(ctx context.Context, input *systemTestInput)
- func VerifyPerformancePodToPodSameNode(ctx context.Context, input *systemTestInput)
- func VerifyPlainServiceFunctionChain(ctx context.Context, input *systemTestInput)
- func VerifyProvisioning(ctx context.Context, input *systemTestInput)
- func VerifyServiceMTUOnDPUPods(ctx context.Context, input *systemTestInput)
- func WaitForOVNKHBNDeploymentReady(ctx context.Context, input *systemTestInput)
- type ByTracker
- type DPUDeploymentNodesInfo
- type DeployDPFSystemComponentsInput
- type ProvisionDPUClustersInput
- type TestVPCConfig
Constants ¶
const ( // CoreTestPriority is the test priority for the "DPF System tests - Core" test suite. CoreTestPriority = 101 // SDNTestPriority is the test priority for the "DPF System tests - SDN" test suite. SDNTestPriority = 100 )
Test priorities are defined below. these are used for specific test specs to ensure they are run in the correct order. for tests which do not specify a priority, ginkgo will will assign a default priority of 0. test specs with a higher priority will run first. for more information, see: https://onsi.github.io/ginkgo/#prioritizing-specs in most cases, assigning a specific test priority for a test should not be needed.
const ( // NodeUnschedulableTaintKey is the well known taint key that indicates a node is unschedulable, typically used when // draining a node NodeUnschedulableTaintKey = "node.kubernetes.io/unschedulable" )
Variables ¶
This section is empty.
Functions ¶
func BeforeProvisioning ¶
func CopySecretToNamespace ¶
func CopySecretToNamespace(ctx context.Context, c client.Client, secretName string, sourceNamespace, targetNamespace string, targetNamespaceLabels map[string]string)
CopySecretToNamespace copies a secret from one namespace to another If the source secret doesn't exist, does nothing (nothing to copy) Always set's the label "dpu.nvidia.com/image-pull-secret" to "" in the target namespace to ensure reconciliation in the DPU cluster
func DeleteDPFOperatorConfig ¶
func DeleteProvisioning ¶
func DeployDPFSystemComponents ¶
func DeployDPFSystemComponents(ctx context.Context, input DeployDPFSystemComponentsInput)
DeployDPFSystemComponents creates the operatorConfig and some dependencies and checks that the system components are deployed from the operator. 1) Ensures the DPF Operator is running and ready 2) Creates a PersistentVolumeClaim for the Provisioning controller 3) Creates ImagePullSecrets which are tested as part of the e2e flow (note these are fake and could possibly be replaced by real ones) 4) Creates the operatorConfig for the test 5) Ensures the DPF System components - including DPUServices - have been deployed.
func EventuallyCheckReadyStatusCondition ¶
func EventuallyCheckReadyStatusCondition(ctx context.Context, client client.Client, obj client.Object, timeout time.Duration)
EventuallyCheckReadyStatusCondition checks for the Ready condition on any object having a Status.Conditions[...].Type == "Ready" field It uses Gomega matchers to validate the condition
func ProvisionBFBAndDPUFlavor ¶
func ProvisionBFBAndDPUFlavor(ctx context.Context, input ProvisionDPUClustersInput)
ProvisionBFBAndDPUFlavor creates the BFB and optionally the DPUFlavor resources
func ProvisionDPUClusters ¶
func ProvisionDPUClusters(ctx context.Context, input ProvisionDPUClustersInput)
ProvisionDPUClusters provisions DPUClusters.
func ProvisionDPUDeploymentWithEachDPUJoiningADifferentDPUCluster ¶
func ProvisionDPUDeploymentWithEachDPUJoiningADifferentDPUCluster(ctx context.Context, input *systemTestInput)
ProvisionDPUDeploymentWithEachDPUJoiningADifferentDPUCluster creates a DPUDeployment where each DPU joins a different cluster
func ProvisionDPUSet ¶
func ProvisionDPUSet(ctx context.Context, input ProvisionDPUClustersInput)
ProvisionDPUSet DPUSet that will provision DPUs in the background if the environment has such DPUs. It doesn't check whether the DPUs become ready intentionally to allow for subsequent tests to be executed in the meantime.
func ValidateDPFOperatorBaseConfiguration ¶
ValidateDPFOperatorBaseConfiguration verifies that DPFOperatorConfiguration ContainerComponentConfiguration options work. It changes the images for all system components to arbitrary values, checks that the changes have propagated and then changes them back to their default versions.
func ValidateDPFOperatorConfigCleanupPrerequisites ¶
ValidateDPFOperatorConfigCleanupPrerequisites this function ensures that the prerequisite objects exist before removing the DPFOperatorConfig to ensure that we cover edge cases.
func ValidateDPFOperatorKubernetesAPIServerVIPAndPort ¶
ValidateDPFOperatorKubernetesAPIServerVIPAndPort validates that the Kubernetes API Server related variables are propagated correctly to the DMS pods.
func ValidateDPUDeploymentDPUServiceChainDisruptiveUpgrade ¶
func ValidateDPUDeploymentDPUServiceChainDisruptiveUpgrade(ctx context.Context, input *systemTestInput)
ValidateDPUDeploymentDPUServiceChainDisruptiveUpgrade validates that DPUDeployment disruptive upgrade flow for DPUServiceChain works as expected
func ValidateDPUDeploymentDPUServiceDisruptiveUpgrade ¶
ValidateDPUDeploymentDPUServiceDisruptiveUpgrade validates that DPUDeployment disruptive upgrade flow for standard DPUServices works as expected
func ValidateDPUDeploymentInClusterDPUServiceDisruptiveUpgrade ¶
func ValidateDPUDeploymentInClusterDPUServiceDisruptiveUpgrade(ctx context.Context, input *systemTestInput)
ValidateDPUDeploymentInClusterDPUServiceDisruptiveUpgrade validates that DPUDeployment disruptive upgrade flow for in-cluster DPUServices works as expected
func ValidateDPUServiceCreationAndMirroring ¶
ValidateDPUServiceCreationAndMirroring creates the DPUService in DPU cluster and host cluster. It verifies all triggered objects are created and ready. Can be used as s test precondition(ex: DPUServiceDeletion test) and as a separate test.
func ValidateDPUServiceIPAMInL2ModeForMultiDPUCluster ¶
ValidateDPUServiceIPAMInL2ModeForMultiDPUCluster validates DPUService IPAM in L2 mode for multi-cluster setup
func ValidateDPUServiceIPAMInL3ModeForMultiDPUCluster ¶
ValidateDPUServiceIPAMInL3ModeForMultiDPUCluster validates DPUService IPAM in L3 mode for multi-cluster setup
func VerifyClusterPods ¶
func VerifyDPFOperatorConfigReady ¶
func VerifyDPFOperatorConfigReady(ctx context.Context, kclient client.Client, timeout time.Duration)
VerifyDPFOperatorConfigReady waits and verifies if the DPFOperatorConfig is ready.
func VerifyDPUClusterWithNodes ¶
func VerifyDPUClusterWithNodes(ctx context.Context, input ProvisionDPUClustersInput)
VerifyDPUClusterWithNodes waits and verifies if the DPUCluster has nodes meaning that there were DPUs provisioned. In addition verifies that the DPUs become ready.
func VerifyDPUPodToPodRDMATraffic ¶
VerifyDPUPodToPodRDMATraffic verifies that 2 Pods in the DPUCluster can run RDMA traffic between each other.
func VerifyDeploymentUnderlyingObjectsCreated ¶
func VerifyDeploymentUnderlyingObjectsCreated(ctx context.Context, g Gomega, testClient client.Client, dpuDeployment *dpuservicev1.DPUDeployment) bool
func VerifyProvisioning ¶
Types ¶
type ByTracker ¶
type ByTracker struct {
// contains filtered or unexported fields
}
ByTracker tracks Ginkgo By() statements to ensure they are only printed once
type DPUDeploymentNodesInfo ¶
type DPUDeploymentNodesInfo struct {
// contains filtered or unexported fields
}
DPUDeploymentNodesInfo holds information about target nodes and DPUNodes
type DeployDPFSystemComponentsInput ¶
type DeployDPFSystemComponentsInput struct {
ProvisioningControllerPVC *corev1.PersistentVolumeClaim
ImagePullSecrets []string
// contains filtered or unexported fields
}
type ProvisionDPUClustersInput ¶
type ProvisionDPUClustersInput struct {
// contains filtered or unexported fields
}