e2e

package
v0.30.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2026 License: Apache-2.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// For tests that use just one Numaflow Controller Version:
	PrimaryNumaflowControllerVersion = "1.7.0"

	// For tests that transition from one Numaflow Controller Version to another:
	// (generally these are consecutive versions, but not always)
	InitialNumaflowControllerVersion = "1.5.2"
	UpdatedNumaflowControllerVersion = "1.7.0"

	InitialJetstreamVersion = "2.10.17"
	UpdatedJetstreamVersion = "2.10.11"

	Namespace = "numaplane-system"

	ControllerOutputPath = "../output/controllers"

	ResourceChangesPipelineOutputPath           = "../output/resources/pipelinerollouts"
	ResourceChangesISBServiceOutputPath         = "../output/resources/isbservicerollouts"
	ResourceChangesMonoVertexOutputPath         = "../output/resources/monovertexrollouts"
	ResourceChangesNumaflowControllerOutputPath = "../output/resources/numaflowcontrollerrollouts"

	PodLogsPipelineOutputPath            = "../output/logs/pipelinerollouts"
	PodLogsISBServiceOutputPath          = "../output/logs/isbservicerollouts"
	PodLogsMonoVertexOutputPath          = "../output/logs/monovertexrollouts"
	PodLogsNumaflowControllerOutputPath  = "../output/logs/numaflowcontrollerrollouts"
	PodLogsNumaplaneControllerOutputPath = "../output/logs/numaplanecontroller"

	NumaplaneAPIVersion    = "numaplane.numaproj.io/v1alpha1"
	NumaflowAPIVersion     = "numaflow.numaproj.io/v1alpha1"
	ArgoRolloutsAPIVersion = "argoproj.io/v1alpha1"

	NumaplaneLabel = "app.kubernetes.io/part-of=numaplane"
	NumaflowLabel  = "app.kubernetes.io/part-of=numaflow"

	ParentRolloutLabel        = "numaplane.numaproj.io/parent-rollout-name"
	UpgradeStateLabelSelector = "numaplane.numaproj.io/upgrade-state=promoted"

	LogSpacer = "================================"
)

Variables

View Source
var (

	// Note: this timeout needs to be large enough for:
	//  - progressive child resource healthiness assessment (2 minutes until assessment start time + 1 minute until end time)
	//  - time for isbsvc to be created plus pipeline to become healthy afterward
	DefaultTestTimeout            = 10 * time.Minute
	DefaultConsistentCheckTimeout = 15 * time.Second // the default time for checks using "Consistently"
	TestPollingInterval           = 10 * time.Millisecond

	UpgradeStrategy config.USDEUserStrategy
)

Functions

func BeforeSuiteSetup added in v0.13.0

func BeforeSuiteSetup()

func CheckConsistently added in v0.15.0

func CheckConsistently(testDescription string, actualOrCtx interface{}) AsyncAssertion

CheckConsistently is wrappers around Ginkgo's Consistently You can override the default timeout and polling interval by using WithTimeout and WithPolling methods

func CheckEventually added in v0.15.0

func CheckEventually(testDescription string, actualOrCtx interface{}) AsyncAssertion

CheckEventually is wrappers around Ginkgo's Eventually You can override the default timeout and polling interval by using WithTimeout and WithPolling methods

func CreateAnalysisTemplate added in v0.24.0

func CreateAnalysisTemplate(name, namespace string, spec argov1alpha1.AnalysisTemplateSpec)

func CreateISBServiceRollout added in v0.13.0

func CreateISBServiceRollout(name string, isbServiceSpec numaflowv1.InterStepBufferServiceSpec)

create an ISBServiceRollout of a given version and name and make sure it's running

func CreateInitialMonoVertexRollout added in v0.24.0

func CreateInitialMonoVertexRollout(monoVertexRolloutName string, initialMonoVertexSpec numaflowv1.MonoVertexSpec, strategy *apiv1.PipelineTypeRolloutStrategy, monoVertexMetadata apiv1.Metadata)

func CreateInitialPipelineRollout added in v0.24.0

func CreateInitialPipelineRollout(pipelineRolloutName, currentPromotedISBService string, initialPipelineSpec numaflowv1.PipelineSpec, defaultStrategy apiv1.PipelineStrategy, pipelineMetadata apiv1.Metadata)

func CreateMonoVertexRollout added in v0.13.0

func CreateMonoVertexRollout(name, namespace string, spec numaflowv1.MonoVertexSpec, strategy *apiv1.PipelineTypeRolloutStrategy, metadata apiv1.Metadata)

creates MonoVertexRollout of a given spec/name and makes sure it's running

func CreateNumaflowControllerRollout added in v0.13.0

func CreateNumaflowControllerRollout(version string)

create NumaflowControllerRollout of any given version and be sure it's running

func CreatePipelineRollout added in v0.13.0

func CreatePipelineRollout(name, namespace string, spec numaflowv1.PipelineSpec, failed bool, strategy *apiv1.PipelineStrategy, metadata apiv1.Metadata)

create a PipelineRollout of a given spec/name and make sure it's running

func DeleteAnalysisTemplate added in v0.24.0

func DeleteAnalysisTemplate(name string)

DeleteAnalysisTemplate will delete and verify deletion of the Analysis Template with the given name.

func DeleteISBServiceRollout added in v0.13.0

func DeleteISBServiceRollout(name string)

delete ISBServiceRollout and verify deletion

func DeleteMonoVertexRollout added in v0.13.0

func DeleteMonoVertexRollout(name string)

delete MonoVertexRollout and verify deletion

func DeleteNumaflowControllerRollout added in v0.13.0

func DeleteNumaflowControllerRollout()

delete NumaflowControllerRollout and verify deletion

func DeletePipelineRollout added in v0.13.0

func DeletePipelineRollout(name string)

delete a PipelineRollout and verify deletion

func GetAnnotation added in v0.29.0

func GetAnnotation(namespace, pipelineName, annotationKey string) (string, error)

GetAnnotation retrieves a specific annotation from a Pipeline by namespace and name

func GetChildren added in v0.14.0

func GetChildren(gvr schema.GroupVersionResource, namespace, rolloutName string) (*unstructured.UnstructuredList, error)

func GetChildrenOfUpgradeStrategy added in v0.21.0

func GetChildrenOfUpgradeStrategy(gvr schema.GroupVersionResource, namespace, rolloutName string, upgradeState common.UpgradeState) (*unstructured.UnstructuredList, error)

func GetCurrentPipelineCount added in v0.21.0

func GetCurrentPipelineCount(pipelineRolloutName string) int

func GetGVRForISBService added in v0.14.0

func GetGVRForISBService() schema.GroupVersionResource

func GetGVRForMonoVertex added in v0.14.0

func GetGVRForMonoVertex() schema.GroupVersionResource

func GetGVRForPipeline added in v0.14.0

func GetGVRForPipeline() schema.GroupVersionResource

func GetGVRForVertex added in v0.14.0

func GetGVRForVertex() schema.GroupVersionResource

func GetISBServiceRolloutProgressiveStatus added in v0.23.0

func GetISBServiceRolloutProgressiveStatus(isbSvcRolloutName string) apiv1.ISBServiceProgressiveStatus

func GetISBServiceSpec added in v0.14.0

Get ISBServiceSpec from Unstructured type

func GetISBServiceStatus added in v0.24.0

func GetInstanceName added in v0.19.0

func GetInstanceName(rolloutName string, idx int) string

func GetMonoVertexMetadata added in v0.28.0

func GetMonoVertexMetadata(u *unstructured.Unstructured) (apiv1.Metadata, error)

GetMonoVertexMetadata from Unstructured type

func GetMonoVertexRolloutProgressiveStatus added in v0.19.0

func GetMonoVertexRolloutProgressiveStatus(monoVertexRolloutName string) apiv1.MonoVertexProgressiveStatus

func GetMonoVertexStatus added in v0.14.0

func GetMonoVertexStatus(u *unstructured.Unstructured) (numaflowv1.MonoVertexStatus, error)

func GetNumberOfChildren added in v0.14.0

func GetNumberOfChildren(gvr schema.GroupVersionResource, namespace, rolloutName string) int

func GetNumberOfNonRecyclableChildren added in v0.29.0

func GetNumberOfNonRecyclableChildren(gvr schema.GroupVersionResource, namespace, rolloutName string) int

func GetPipelineByName added in v0.21.0

func GetPipelineByName(namespace, pipelineName string) (*unstructured.Unstructured, error)

func GetPipelineMetadata added in v0.28.0

func GetPipelineMetadata(u *unstructured.Unstructured) (apiv1.Metadata, error)

GetPipelineMetadata from Unstructured type

func GetPipelineRolloutProgressiveStatus added in v0.19.0

func GetPipelineRolloutProgressiveStatus(pipelineRolloutName string) apiv1.PipelineProgressiveStatus

func GetPipelineSpec added in v0.14.0

func GetPipelineSpec(u *unstructured.Unstructured) (numaflowv1.PipelineSpec, error)

GetPipelineSpec from Unstructured type

func GetPipelineSpecAndStatus added in v0.14.0

func GetPipelineSpecAndStatus(namespace, pipelineName string) (*unstructured.Unstructured, numaflowv1.PipelineSpec, numaflowv1.PipelineStatus, error)

GetPipelineSpecAndStatus retrieves a pipeline by name and returns its spec and status

func GetPipelineStatus added in v0.14.0

func GetPipelineStatus(u *unstructured.Unstructured) (numaflowv1.PipelineStatus, error)

func GetPromotedISBService added in v0.14.0

func GetPromotedISBService(namespace, isbServiceRolloutName string) (*unstructured.Unstructured, error)

func GetPromotedISBServiceName added in v0.23.0

func GetPromotedISBServiceName(namespace, isbServiceRolloutName string) (string, error)

func GetPromotedISBServiceSpecAndStatus added in v0.24.0

func GetPromotedISBServiceSpecAndStatus(namespace string, isbsvcRolloutName string) (*unstructured.Unstructured, numaflowv1.InterStepBufferServiceSpec, numaflowv1.InterStepBufferServiceStatus, error)

func GetPromotedMonoVertex added in v0.21.0

func GetPromotedMonoVertex(namespace, monoVertexRolloutName string) (*unstructured.Unstructured, error)

func GetPromotedMonoVertexFromK8S added in v0.23.0

func GetPromotedMonoVertexFromK8S(namespace string, monoVertexRolloutName string) (*unstructured.Unstructured, numaflowv1.MonoVertexSpec, numaflowv1.MonoVertexStatus, error)

func GetPromotedMonoVertexName added in v0.25.0

func GetPromotedMonoVertexName(namespace, monoVertexRolloutName string) (string, error)

func GetPromotedMonoVertexSpecAndStatus added in v0.26.0

func GetPromotedMonoVertexSpecAndStatus(namespace string, monoVertexRolloutName string) (*unstructured.Unstructured, numaflowv1.MonoVertexSpec, numaflowv1.MonoVertexStatus, error)

func GetPromotedPipeline added in v0.21.0

func GetPromotedPipeline(namespace, pipelineRolloutName string) (*unstructured.Unstructured, error)

func GetPromotedPipelineName added in v0.23.0

func GetPromotedPipelineName(namespace, pipelineRolloutName string) (string, error)

func GetPromotedPipelineSpecAndStatus added in v0.23.0

func GetPromotedPipelineSpecAndStatus(namespace string, pipelineRolloutName string) (*unstructured.Unstructured, numaflowv1.PipelineSpec, numaflowv1.PipelineStatus, error)

func GetResource added in v0.22.1

func GetResource(gvr schema.GroupVersionResource, namespace, name string) (*unstructured.Unstructured, error)

func GetUpgradingISBServices added in v0.21.0

func GetUpgradingISBServices(namespace, isbServiceRolloutName string) (*unstructured.UnstructuredList, error)

func GetUpgradingMonoVertices added in v0.21.0

func GetUpgradingMonoVertices(namespace, monoVertexRolloutName string) (*unstructured.UnstructuredList, error)

func GetUpgradingPipelines added in v0.21.0

func GetUpgradingPipelines(namespace, pipelineRolloutName string) (*unstructured.UnstructuredList, error)

func GetVertex added in v0.26.0

func GetVertex(namespace string, vertexName string) (*unstructured.Unstructured, error)

func GetVertexByName added in v0.26.0

func GetVertexByName(namespace, name string) (*unstructured.Unstructured, error)

func GetVertexSpec added in v0.26.0

func GetVertexStatus added in v0.26.0

func GetVertexStatus(u *unstructured.Unstructured) (numaflowv1.VertexStatus, error)

func MakeExpectedPipelineTypeProgressiveStatus added in v0.19.0

func MakeExpectedPipelineTypeProgressiveStatus(
	promotedName, upgradingName, sourceVertexName string,
	scaleTo int64,
	originalScaleMinMax string,
	assessmentResultInProgress, assessmentResultOnDone apiv1.AssessmentResult,
) (ExpectedPipelineTypeProgressiveStatus, ExpectedPipelineTypeProgressiveStatus)

func PipelineFinalProgressiveChecks added in v0.21.0

func PipelineFinalProgressiveChecks(pipelineRolloutName string, expectedPromotedPipelineName string, expectedUpgradingPipelineName string, expectedSuccess bool,
	newPipelineSpec numaflowv1.PipelineSpec)

Verify promoted pipeline and upgrading pipeline after Progressive Rollout

func PipelineTransientProgressiveChecks added in v0.21.0

func PipelineTransientProgressiveChecks(pipelineRolloutName string, expectedPromotedPipelineName string, expectedUpgradingPipelineName string)

Verify promoted pipeline and upgrading pipeline during Progressive Rollout

func UpdateISBService added in v0.25.0

func UpdateISBService(isbServiceRolloutName string, spec numaflowv1.InterStepBufferServiceSpec)

func UpdateISBServiceInK8S added in v0.23.0

func UpdateISBServiceInK8S(name string, f func(*unstructured.Unstructured) (*unstructured.Unstructured, error))

func UpdateISBServiceRollout added in v0.13.0

func UpdateISBServiceRollout(
	isbServiceRolloutName string,
	pipelineRollouts []PipelineRolloutInfo,
	newSpec numaflowv1.InterStepBufferServiceSpec,
	verifySpecFunc func(numaflowv1.InterStepBufferServiceSpec) bool,
	dataLossFieldChanged bool,
	recreateFieldChanged bool,
	progressiveFieldChanged bool,
)

pipelineRolloutNames is an array of pipelinerollout names that are checked to see if it is pausing or not after update newSpec is the updated spec of the ISBService defined in the rollout verifySpecFunc is passed to the verifyISBServiceSpec func which verifies the ISBService spec defined in the updated rollout matches what we expect dataLossFieldChanged determines if the change of spec incurs a potential data loss or not, as defined in the USDE config: https://github.com/numaproj/numaplane/blob/main/config/manager/usde-config.yaml recreateFieldChanged determines if the change of spec should result in a recreation of InterstepBufferService and its underlying pipelines - also defined in the USDE config pipelineIsFailed informs us if any dependent pipelines are currently failed and to not check if they are running

func UpdateISBServiceRolloutInK8S added in v0.13.0

func UpdateISBServiceRolloutInK8S(name string, f func(apiv1.ISBServiceRollout) (apiv1.ISBServiceRollout, error))

func UpdateMonoVertexInK8S added in v0.23.0

func UpdateMonoVertexInK8S(name string, f func(*unstructured.Unstructured) (*unstructured.Unstructured, error))

func UpdateMonoVertexRollout added in v0.13.0

func UpdateMonoVertexRollout(name string, origSpec numaflowv1.MonoVertexSpec, newSpec numaflowv1.MonoVertexSpec, expectedFinalPhase numaflowv1.MonoVertexPhase, verifySpecFunc func(numaflowv1.MonoVertexSpec) bool,
	verifyMetadataFunc func(apiv1.Metadata) bool, progressiveFieldChanged bool, currentMonoVertexRolloutIndex int, monoVertexMetadata apiv1.Metadata,
)

func UpdateMonoVertexRolloutForFailure added in v0.24.0

func UpdateMonoVertexRolloutForFailure(monoVertexRolloutName, invalidUDTransformerImage string, initialMonoVertexSpec numaflowv1.MonoVertexSpec, udTransformer numaflowv1.UDTransformer) *numaflowv1.MonoVertexSpec

func UpdateMonoVertexRolloutForSuccess added in v0.24.0

func UpdateMonoVertexRolloutForSuccess(monoVertexRolloutName, validUDTransformerImage string, initialMonoVertexSpec numaflowv1.MonoVertexSpec, udTransformer numaflowv1.UDTransformer) *numaflowv1.MonoVertexSpec

func UpdateMonoVertexRolloutInK8S added in v0.14.0

func UpdateMonoVertexRolloutInK8S(name string, f func(apiv1.MonoVertexRollout) (apiv1.MonoVertexRollout, error))

func UpdateNumaflowControllerRollout added in v0.13.0

func UpdateNumaflowControllerRollout(originalVersion, newVersion string, pipelineRollouts []PipelineRolloutInfo, valid bool)

UpdateNumaflowControllerRollout updates the NumaflowControllerRollout and its dependent PipelineRollouts. originalVersion is the original version of the current NumaflowController defined in the rollout newVersion is the new version the updated NumaflowController should have if it is a valid version pipelineRolloutNames is an array of PipelineRollout names we check to be sure that they are pausing during an update valid boolean indicates if newVersion is a valid version or not (which will change the check we make) pipelineIsFailed informs us if any dependent pipelines are currently failed and to not check if they are running originalVersion is the original version of the current NumaflowController defined in the rollout newVersion is the new version the updated NumaflowController should have if it is a valid version pipelineRolloutNames is an array of PipelineRollout names we check to be sure that they are pausing during an update valid boolean indicates if newVersion is a valid version or not (which will change the check we make) pipelineIsFailed informs us if any dependent pipelines are currently failed and to not check if they are running

func UpdateNumaflowControllerRolloutInK8S added in v0.13.0

func UpdateNumaflowControllerRolloutInK8S(f func(apiv1.NumaflowControllerRollout) (apiv1.NumaflowControllerRollout, error))

func UpdateNumaplaneControllerConfig added in v0.29.0

func UpdateNumaplaneControllerConfig(configUpdates map[string]string)

UpdateNumaplaneControllerConfig updates the numaplane controller ConfigMap with the provided key-value pairs

func UpdatePipeline added in v0.24.0

func UpdatePipeline(pipelineRolloutName string, spec numaflowv1.PipelineSpec)

func UpdatePipelineInK8S added in v0.23.0

func UpdatePipelineInK8S(name string, f func(*unstructured.Unstructured) (*unstructured.Unstructured, error))

func UpdatePipelineRollout added in v0.13.0

func UpdatePipelineRollout(name string, newSpec numaflowv1.PipelineSpec, expectedFinalPhase numaflowv1.PipelinePhase, verifySpecFunc func(numaflowv1.PipelineSpec) bool, verifyMetadataFunc func(apiv1.Metadata) bool, dataLoss bool,
	progressiveFieldChanged bool, expectedSuccess bool, pipelineMetadata apiv1.Metadata,
)

update PipelineRollout and verify correct process name - name of PipelineRollout to update newSpec - new child Pipeline spec that will be updated in the rollout expectedFinalPhase - after updating the Rollout what phase we expect the child Pipeline to be in verifySpecFunc - boolean function to verify that updated PipelineRollout has correct spec verifyMetadataFunc - boolean function to verify that updated PipelineRollout has correct metadata dataLoss - informs us if the update to the PipelineRollout will cause data loss or not

func UpdatePipelineRolloutInK8S added in v0.13.0

func UpdatePipelineRolloutInK8S(namespace string, name string, f func(apiv1.PipelineRollout) (apiv1.PipelineRollout, error))

func UpdatePipelineSpec added in v0.14.0

Take a Pipeline Unstructured type and update the PipelineSpec in some way

func UpdatePipelineSpecInK8S added in v0.13.0

func UpdatePipelineSpecInK8S(namespace string, pipelineRolloutName string, f func(numaflowv1.PipelineSpec) (numaflowv1.PipelineSpec, error))

func UpdateVertexInK8S added in v0.26.0

func UpdateVertexInK8S(name string, f func(*unstructured.Unstructured) (*unstructured.Unstructured, error))

func VerifyAnalysisRunStatus added in v0.24.0

func VerifyAnalysisRunStatus(metricName, name string, expectedStatus argov1alpha1.AnalysisPhase)

func VerifyISBServiceDeletion added in v0.23.0

func VerifyISBServiceDeletion(isbsvcName string)

func VerifyISBServiceProgressiveFailure added in v0.25.0

func VerifyISBServiceProgressiveFailure(isbsvcRolloutName string, promotedISBSvcName string, upgradingISBSvcName string)

func VerifyISBServiceProgressiveSuccess added in v0.25.0

func VerifyISBServiceProgressiveSuccess(isbsvcRolloutName string, promotedISBSvcName string, upgradingISBSvcName string)

func VerifyISBServiceRolloutInProgressStrategy added in v0.19.0

func VerifyISBServiceRolloutInProgressStrategy(isbServiceRolloutName string, inProgressStrategy apiv1.UpgradeStrategy)

func VerifyISBServiceRolloutInProgressStrategyConsistently added in v0.24.0

func VerifyISBServiceRolloutInProgressStrategyConsistently(isbsvcRolloutName string, inProgressStrategy apiv1.UpgradeStrategy)

func VerifyISBServiceRolloutProgressiveCondition added in v0.25.0

func VerifyISBServiceRolloutProgressiveCondition(isbsvcRolloutName string, success metav1.ConditionStatus)

func VerifyISBServiceRolloutProgressiveStatus added in v0.23.0

func VerifyISBServiceRolloutProgressiveStatus(
	isbServiceRolloutName string,
	expectedPromotedName string,
	expectedUpgradingName string,
	expectedAssessmentResult apiv1.AssessmentResult,
)

func VerifyISBSvcRolloutDeployed added in v0.25.0

func VerifyISBSvcRolloutDeployed(isbServiceRolloutName string)

func VerifyISBSvcRolloutHealthy added in v0.25.0

func VerifyISBSvcRolloutHealthy(isbServiceRolloutName string)

func VerifyISBSvcRolloutReady added in v0.14.0

func VerifyISBSvcRolloutReady(isbServiceRolloutName string)

func VerifyMonoVertexDeletion added in v0.19.0

func VerifyMonoVertexDeletion(name string)

func VerifyMonoVertexProgressiveFailure added in v0.24.0

func VerifyMonoVertexProgressiveFailure(monoVertexRolloutName, monoVertexScaleMinMaxJSONString string, updatedMonoVertexSpec *numaflowv1.MonoVertexSpec, monoVertexScaleTo int64, forcePromote bool)

func VerifyMonoVertexProgressiveSuccess added in v0.24.0

func VerifyMonoVertexProgressiveSuccess(monoVertexRolloutName, monoVertexScaleMinMaxJSONString string, monoVertexScaleTo int64,
	updatedMonoVertexSpec *numaflowv1.MonoVertexSpec, promotedMonoVertexIndex, updatedMonoVertexIndex int,
	forcedSuccess, checkRunningVertices bool)

func VerifyMonoVertexPromotedScale added in v0.19.0

func VerifyMonoVertexPromotedScale(namespace, monoVertexRolloutName string, expectedMonoVertexScaleMap map[string]numaflowv1.Scale)

func VerifyMonoVertexRolloutDeployed added in v0.14.0

func VerifyMonoVertexRolloutDeployed(monoVertexRolloutName string)

func VerifyMonoVertexRolloutHealthy added in v0.14.0

func VerifyMonoVertexRolloutHealthy(monoVertexRolloutName string)

func VerifyMonoVertexRolloutInProgressStrategy added in v0.19.0

func VerifyMonoVertexRolloutInProgressStrategy(monoVertexRolloutName string, inProgressStrategy apiv1.UpgradeStrategy)

func VerifyMonoVertexRolloutInProgressStrategyConsistently added in v0.24.0

func VerifyMonoVertexRolloutInProgressStrategyConsistently(monoVertexRolloutName string, inProgressStrategy apiv1.UpgradeStrategy)

func VerifyMonoVertexRolloutProgressiveCondition added in v0.25.0

func VerifyMonoVertexRolloutProgressiveCondition(monoVertexRolloutName string, success metav1.ConditionStatus)

func VerifyMonoVertexRolloutProgressiveStatus added in v0.19.0

func VerifyMonoVertexRolloutProgressiveStatus(
	monoVertexRolloutName string,
	expectedPromotedName string,
	expectedUpgradingName string,
	expectedScaleValuesRestoredToOriginal bool,
	expectedAssessmentResult apiv1.AssessmentResult,
	forcedPromotion bool,
)

func VerifyMonoVertexRolloutReady added in v0.14.0

func VerifyMonoVertexRolloutReady(monoVertexRolloutName string)

func VerifyMonoVertexRolloutScaledDownForProgressive added in v0.19.0

func VerifyMonoVertexRolloutScaledDownForProgressive(
	monoVertexRolloutName string,
	expectedPromotedName string,
	expectedOriginalScaleMinMaxAsJSONString string,
	expectedScaleTo int64,
)

func VerifyMonoVertexRolloutStatusEventually added in v0.29.0

func VerifyMonoVertexRolloutStatusEventually(monoVertexRolloutName string, f func(apiv1.MonoVertexRolloutStatus) bool)

func VerifyNumaflowControllerDeployment added in v0.13.0

func VerifyNumaflowControllerDeployment(namespace string, f func(appsv1.Deployment) bool)

verify that the Deployment matches some criteria

func VerifyNumaflowControllerExists added in v0.14.0

func VerifyNumaflowControllerExists(namespace string)

func VerifyNumaflowControllerRollout added in v0.14.0

func VerifyNumaflowControllerRollout(namespace string, f func(apiv1.NumaflowControllerRollout) bool)

verify that the NumaflowControllerRollout matches some criteria

func VerifyNumaflowControllerRolloutReady added in v0.14.0

func VerifyNumaflowControllerRolloutReady()

func VerifyPDBForISBService added in v0.19.0

func VerifyPDBForISBService(namespace string, isbServiceName string)

func VerifyPipelineDeletion added in v0.19.0

func VerifyPipelineDeletion(pipelineName string)

func VerifyPipelineDesiredPhase added in v0.29.0

func VerifyPipelineDesiredPhase(pipelineName string, desiredPhase numaflowv1.PipelinePhase)

VerifyPipelineDesiredPhase verifies that a Pipeline has the expected desired phase in its lifecycle

func VerifyPipelineDrainedOnPause added in v0.27.0

func VerifyPipelineDrainedOnPause(pipelineName string)

func VerifyPipelineEvent added in v0.28.0

func VerifyPipelineEvent(namespace, pipelineName, eventType string)

func VerifyPipelineExists added in v0.29.0

func VerifyPipelineExists(namespace, pipelineName string)

func VerifyPipelinePhase added in v0.29.0

func VerifyPipelinePhase(namespace, pipelineName string, phases []numaflowv1.PipelinePhase)

func VerifyPipelineProgressiveFailure added in v0.25.0

func VerifyPipelineProgressiveFailure(pipelineRolloutName, promotedPipelineName, upgradingPipelineName string, promotedPipelineSpec, upgradingPipelineSpec numaflowv1.PipelineSpec)

func VerifyPipelineProgressiveSuccess added in v0.25.0

func VerifyPipelineProgressiveSuccess(pipelineRolloutName, promotedPipelineName, upgradingPipelineName string, forcedSuccess bool, upgradingPipelineSpec numaflowv1.PipelineSpec)

func VerifyPipelinePromoted added in v0.29.0

func VerifyPipelinePromoted(pipelineName string)

VerifyPipelinePromoted verifies that a specific Pipeline instance has the "promoted" upgrade state

func VerifyPipelineRolloutConditionPausing added in v0.23.0

func VerifyPipelineRolloutConditionPausing(namespace string, pipelineRolloutName string)

func VerifyPipelineRolloutDeployed added in v0.13.0

func VerifyPipelineRolloutDeployed(pipelineRolloutName string)

func VerifyPipelineRolloutHealthy added in v0.13.0

func VerifyPipelineRolloutHealthy(pipelineRolloutName string)

func VerifyPipelineRolloutInProgressStrategy added in v0.19.0

func VerifyPipelineRolloutInProgressStrategy(pipelineRolloutName string, inProgressStrategy apiv1.UpgradeStrategy)

func VerifyPipelineRolloutInProgressStrategyConsistently added in v0.24.0

func VerifyPipelineRolloutInProgressStrategyConsistently(pipelineRolloutName string, inProgressStrategy apiv1.UpgradeStrategy)

func VerifyPipelineRolloutProgressiveCondition added in v0.25.0

func VerifyPipelineRolloutProgressiveCondition(pipelineRolloutName string, success metav1.ConditionStatus)

func VerifyPipelineRolloutProgressiveStatus added in v0.19.0

func VerifyPipelineRolloutProgressiveStatus(
	pipelineRolloutName string,
	expectedPromotedName string,
	expectedUpgradingName string,
	expectedScaleValuesRestoredToOriginal bool,
	expectedAssessmentResult apiv1.AssessmentResult,
	forcedPromotion bool,
)

func VerifyPipelineRolloutStatusEventually added in v0.29.0

func VerifyPipelineRolloutStatusEventually(pipelineRolloutName string, f func(apiv1.PipelineRolloutStatus) bool)

func VerifyPipelineSpecStatus added in v0.27.0

func VerifyPipelineSpecStatus(namespace string, pipelineName string, f func(numaflowv1.PipelineSpec, numaflowv1.PipelineStatus) bool)

func VerifyPipelineUpgradeState added in v0.29.0

func VerifyPipelineUpgradeState(namespace, pipelineName, upgradeState string, upgradeStateReason *string)

VerifyPipelineUpgradeState verifies that a Pipeline has the expected upgrade state label and optionally the upgrade state reason label

func VerifyPodsRunningForAllVertices added in v0.21.0

func VerifyPodsRunningForAllVertices(pipelineName string, vertexScaleDefinitions []apiv1.VertexScaleDefinition)

func VerifyPromotedISBServiceExists added in v0.29.0

func VerifyPromotedISBServiceExists(namespace, isbServiceRolloutName string)

func VerifyPromotedISBServiceSpec added in v0.23.0

func VerifyPromotedISBServiceSpec(namespace string, isbServiceRolloutName string, f func(numaflowv1.InterStepBufferServiceSpec) bool)

func VerifyPromotedISBSvcReady added in v0.23.0

func VerifyPromotedISBSvcReady(namespace string, isbServiceRolloutName string, nodeSize int)

func VerifyPromotedMonoVertexConsistently added in v0.24.0

func VerifyPromotedMonoVertexConsistently(namespace string, monoVertexRolloutName string, f func(spec numaflowv1.MonoVertexSpec, status numaflowv1.MonoVertexStatus, labels map[string]string, annotations map[string]string) bool)

func VerifyPromotedMonoVertexEventually added in v0.23.0

func VerifyPromotedMonoVertexEventually(namespace string, monoVertexRolloutName string, f func(spec numaflowv1.MonoVertexSpec, status numaflowv1.MonoVertexStatus, labels map[string]string, annotations map[string]string) bool)

func VerifyPromotedMonoVertexExists added in v0.29.0

func VerifyPromotedMonoVertexExists(namespace, monoVertexRolloutName string)

func VerifyPromotedMonoVertexMetadata added in v0.28.0

func VerifyPromotedMonoVertexMetadata(namespace string, monoVertexRolloutName string, f func(apiv1.Metadata) bool)

func VerifyPromotedMonoVertexName added in v0.23.0

func VerifyPromotedMonoVertexName(namespace string, monoVertexRolloutName string, monoVertexName string)

func VerifyPromotedMonoVertexPaused added in v0.23.0

func VerifyPromotedMonoVertexPaused(namespace string, monoVertexRolloutName string)

func VerifyPromotedMonoVertexRunning added in v0.23.0

func VerifyPromotedMonoVertexRunning(namespace, monoVertexRolloutName string) error

func VerifyPromotedMonoVertexSpec added in v0.23.0

func VerifyPromotedMonoVertexSpec(namespace, monoVertexRolloutName string, f func(numaflowv1.MonoVertexSpec) bool)

func VerifyPromotedMonoVertexStatus added in v0.23.0

func VerifyPromotedMonoVertexStatus(namespace, monoVertexRolloutName string, f func(numaflowv1.MonoVertexSpec, numaflowv1.MonoVertexStatus) bool) string

func VerifyPromotedMonoVertexStaysPaused added in v0.26.0

func VerifyPromotedMonoVertexStaysPaused(monoVertexRolloutName string)

func VerifyPromotedPipelineExists added in v0.29.0

func VerifyPromotedPipelineExists(namespace, pipelineRolloutName string)

func VerifyPromotedPipelineFailed added in v0.23.0

func VerifyPromotedPipelineFailed(namespace, pipelineRolloutName string)

func VerifyPromotedPipelineMetadata added in v0.28.0

func VerifyPromotedPipelineMetadata(namespace string, pipelineRolloutName string, f func(apiv1.Metadata) bool)

func VerifyPromotedPipelinePaused added in v0.23.0

func VerifyPromotedPipelinePaused(namespace string, pipelineRolloutName string)

func VerifyPromotedPipelineRunning added in v0.23.0

func VerifyPromotedPipelineRunning(namespace string, pipelineRolloutName string)

func VerifyPromotedPipelineScaledDownForProgressive added in v0.21.0

func VerifyPromotedPipelineScaledDownForProgressive(
	pipelineRolloutName string,
	expectedPromotedPipelineName string,
)

func VerifyPromotedPipelineScaledUpForProgressive added in v0.21.0

func VerifyPromotedPipelineScaledUpForProgressive(
	pipelineRolloutName string,
	expectedPromotedPipelineName string,
	newPipelineSpec numaflowv1.PipelineSpec,
)

func VerifyPromotedPipelineSpec added in v0.23.0

func VerifyPromotedPipelineSpec(namespace string, pipelineRolloutName string, f func(numaflowv1.PipelineSpec) bool)

func VerifyPromotedPipelineStatusConsistently added in v0.23.0

func VerifyPromotedPipelineStatusConsistently(namespace string, pipelineRolloutName string, f func(numaflowv1.PipelineSpec, numaflowv1.PipelineStatus) bool)

func VerifyPromotedPipelineStatusEventually added in v0.23.0

func VerifyPromotedPipelineStatusEventually(namespace string, pipelineRolloutName string, f func(numaflowv1.PipelineSpec, numaflowv1.PipelineStatus) bool)

func VerifyPromotedPipelineStaysPaused added in v0.23.0

func VerifyPromotedPipelineStaysPaused(pipelineRolloutName string)

func VerifyResourceDoesntExist added in v0.22.1

func VerifyResourceDoesntExist(gvr schema.GroupVersionResource, name string)

func VerifyResourceExists added in v0.22.1

func VerifyResourceExists(gvr schema.GroupVersionResource, name string)

func VerifyResourceFieldMatchesRegex added in v0.28.0

func VerifyResourceFieldMatchesRegex(gvr schema.GroupVersionResource, name string, fieldPath string, regexPattern string)

VerifyResourceFieldMatchesRegex verifies that a field in a resource eventually matches a regular expression. The fieldPath parameter is a dot-separated path to the field (e.g., "status.phase" or "metadata.name"). The field at the specified path is expected to be a string.

Example usage:

// Verify that a Pipeline's status phase matches "Running" or "Paused"
VerifyResourceFieldMatchesRegex(
    schema.GroupVersionResource{Group: "numaflow.numaproj.io", Version: "v1alpha1", Resource: "pipelines"},
    "my-pipeline",
    "status.phase",
    "^(Running|Paused)$",
)

func VerifyUpgradingPipelineScaledDownForProgressive added in v0.21.0

func VerifyUpgradingPipelineScaledDownForProgressive(
	pipelineRolloutName string,
	expectedUpgradingPipelineName string,
)

Make sure Upgrading Pipeline has min=max equal to difference between Initial and ScaleTo in promoted status

func VerifyUpgradingPipelineScaledToZeroForProgressive added in v0.21.0

func VerifyUpgradingPipelineScaledToZeroForProgressive(
	pipelineRolloutName string,
	expectedUpgradingPipelineName string,
)

verify that when the upgrading Pipeline fails, its Vertices scale to 0 Pods

func VerifyVertexSpecStatus added in v0.26.0

func VerifyVertexSpecStatus(namespace string, vertexName string, f func(numaflowv1.VertexSpec, numaflowv1.VertexStatus) bool)

func VerifyVerticesPodsRunning added in v0.19.0

func VerifyVerticesPodsRunning(namespace, rolloutChildName string, specVertices []numaflowv1.AbstractVertex, component ComponentType)

func VerifyVerticesScale added in v0.19.0

func VerifyVerticesScale(actualVertexScaleMap map[string]numaflowv1.Scale, expectedVertexScaleMap map[string]numaflowv1.Scale) bool

Types

type ComponentType added in v0.15.0

type ComponentType = string
const (
	ComponentVertex     ComponentType = "vertex"
	ComponentMonoVertex ComponentType = "mono-vertex"
)

type ExpectedPipelineTypeProgressiveStatus added in v0.19.0

type ExpectedPipelineTypeProgressiveStatus struct {
	Promoted                 apiv1.PromotedPipelineTypeStatus
	Upgrading                apiv1.UpgradingChildStatus
	PipelineSourceVertexName string
}

type Output added in v0.7.0

type Output struct {
	APIVersion string            `json:"apiVersion"`
	Kind       string            `json:"kind"`
	Metadata   metav1.ObjectMeta `json:"metadata"`
	Spec       interface{}       `json:"spec"`
	Status     interface{}       `json:"status,omitempty"`
}

type PipelineRolloutInfo added in v0.14.0

type PipelineRolloutInfo struct {
	PipelineRolloutName string
	PipelineIsFailed    bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL