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

feat: tweak the condition behaviors in the new work applier #1039

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 17 additions & 15 deletions pkg/controllers/workapplier/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,22 +111,24 @@ func NewReconciler(
}
}

const (
allManifestsAppliedMessage = "All the specified manifests have been applied"
allAppliedObjectAvailableMessage = "All of the applied manifests are available"
someAppliedObjectUntrackableMessage = "Some of the applied manifests cannot be tracked for availability"

notAllManifestsAppliedReason = "FailedToApplyAllManifests"
notAllManifestsAppliedMessage = "Failed to apply all the specified manifests (%d of %d manifests are applied)"
notAllAppliedObjectsAvailableReason = "NotAllAppliedObjectAreAvailable"
notAllAppliedObjectsAvailableMessage = "Not all of the applied manifests are available (%d of %d manifests are available)"

someObjectsHaveDiffs = "Found configurations diffs on some objects (%d of %d objects have diffs)"
)

var (
// Some exported reasons. Currently only the untrackable reason is being actively used.
WorkNotTrackableReason = string(ManifestProcessingAvailabilityResultTypeNotTrackable)
// Some exported reasons for Work object conditions. Currently only the untrackable reason is being actively used.
WorkNotAllManfestsTrackableReason = "SomeManifestsAreNotAvailabilityTrackable"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
WorkNotAllManfestsTrackableReason = "SomeManifestsAreNotAvailabilityTrackable"
WorkNotAllManifestsTrackableReason = "SomeManifestsAreNotAvailabilityTrackable"

WorkAllManifestsAppliedReason = "AllManifestsApplied"
WorkAllManifestsAvailableReason = "AllManifestsAvailable"
WorkAllManifestsDiffReportedReason = "AllManifestsDiffReported"
WorkNotAllManifestsAppliedReason = "SomeManifestsAreNotApplied"
WorkNotAllManifestsAvailableReason = "SomeManifestsAreNotAvailable"
WorkNotAllManifestsDiffReportedReason = "SomeManifestsHaveNotReportedDiff"

// Some condition messages for Work object conditions.
allManifestsAppliedMessage = "All the specified manifests have been applied"
allManifestsHaveReportedDiffMessage = "All the specified manifests have reported diff"
allAppliedObjectAvailableMessage = "All of the applied manifests are available"
someAppliedObjectUntrackableMessage = "Some of the applied manifests cannot be tracked for availability"
notAllManifestsAppliedMessage = "Failed to apply all manifests (%d of %d manifests are applied)"
notAllAppliedObjectsAvailableMessage = "Some manifests are not available (%d of %d manifests are available)"
notAllManifestsHaveReportedDiff = "Failed to report diff on all manifests (%d of %d manifests have reported diff)"
)

type manifestProcessingAppliedResultType string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ var _ = Describe("Work Controller", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
Expect(controller.CompareConditions(expected, resultWork.Status.Conditions)).Should(BeEmpty())
Expand Down
108 changes: 34 additions & 74 deletions pkg/controllers/workapplier/controller_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -533,12 +533,12 @@ var _ = Describe("applying manifests", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -708,12 +708,12 @@ var _ = Describe("applying manifests", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -826,12 +826,12 @@ var _ = Describe("applying manifests", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -973,12 +973,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -1247,12 +1247,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -1507,12 +1502,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -1700,12 +1690,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -1945,12 +1935,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2101,12 +2086,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2229,12 +2214,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2343,12 +2323,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2469,12 +2449,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2593,12 +2573,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2721,12 +2701,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2828,12 +2803,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -2952,12 +2927,12 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingApplyResultTypeApplied),
Reason: WorkAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingAvailabilityResultTypeAvailable),
Reason: WorkAllManifestsAvailableReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3046,12 +3021,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3125,12 +3095,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3258,12 +3223,7 @@ var _ = Describe("drift detection and takeover", func() {
{
Type: fleetv1beta1.WorkConditionTypeApplied,
Status: metav1.ConditionFalse,
Reason: notAllManifestsAppliedReason,
},
{
Type: fleetv1beta1.WorkConditionTypeAvailable,
Status: metav1.ConditionFalse,
Reason: notAllAppliedObjectsAvailableReason,
Reason: WorkNotAllManifestsAppliedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3401,7 +3361,7 @@ var _ = Describe("report diff", func() {
{
Type: fleetv1beta1.WorkConditionTypeDiffReported,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingReportDiffResultTypeFoundDiff),
Reason: WorkAllManifestsDiffReportedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3609,7 +3569,7 @@ var _ = Describe("report diff", func() {
{
Type: fleetv1beta1.WorkConditionTypeDiffReported,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingReportDiffResultTypeFoundDiff),
Reason: WorkAllManifestsDiffReportedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3709,7 +3669,7 @@ var _ = Describe("report diff", func() {
{
Type: fleetv1beta1.WorkConditionTypeDiffReported,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingReportDiffResultTypeNoDiffFound),
Reason: WorkAllManifestsDiffReportedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down Expand Up @@ -3911,7 +3871,7 @@ var _ = Describe("report diff", func() {
{
Type: fleetv1beta1.WorkConditionTypeDiffReported,
Status: metav1.ConditionTrue,
Reason: string(ManifestProcessingReportDiffResultTypeFoundDiff),
Reason: WorkAllManifestsDiffReportedReason,
},
}
manifestConds := []fleetv1beta1.ManifestCondition{
Expand Down
Loading
Loading