Skip to content
Merged
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
12 changes: 3 additions & 9 deletions pkg/apis/serving/v1alpha1/revision_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ var revCondSet = duckv1alpha1.NewLivingConditionSet(
RevisionConditionResourcesAvailable,
RevisionConditionContainerHealthy,
RevisionConditionActive,
RevisionConditionBuildSucceeded,
)

var buildCondSet = duckv1alpha1.NewBatchConditionSet()
Expand Down Expand Up @@ -297,13 +298,6 @@ func (rs *RevisionStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alph

func (rs *RevisionStatus) InitializeConditions() {
revCondSet.Manage(rs).InitializeConditions()

// We don't include BuildSucceeded here because it could confuse users if
// no `buildName` was specified.
}

func (rs *RevisionStatus) InitializeBuildCondition() {
revCondSet.Manage(rs).InitializeCondition(RevisionConditionBuildSucceeded)
}

func (rs *RevisionStatus) PropagateBuildStatus(bs duckv1alpha1.KResourceStatus) {
Expand Down Expand Up @@ -374,8 +368,8 @@ func (rs *RevisionStatus) SetConditions(conditions duckv1alpha1.Conditions) {
const (
AnnotationParseErrorTypeMissing = "Missing"
AnnotationParseErrorTypeInvalid = "Invalid"
LabelParserErrorTypeMissing = "Missing"
LabelParserErrorTypeInvalid = "Invalid"
LabelParserErrorTypeMissing = "Missing"
LabelParserErrorTypeInvalid = "Invalid"
)

// +k8s:deepcopy-gen=false
Expand Down
18 changes: 8 additions & 10 deletions pkg/apis/serving/v1alpha1/revision_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,6 @@ func TestGetSetCondition(t *testing.T) {
func TestTypicalFlowWithBuild(t *testing.T) {
r := &Revision{}
r.Status.InitializeConditions()
r.Status.InitializeBuildCondition()
checkConditionOngoingRevision(r.Status, RevisionConditionBuildSucceeded, t)
checkConditionOngoingRevision(r.Status, RevisionConditionResourcesAvailable, t)
checkConditionOngoingRevision(r.Status, RevisionConditionContainerHealthy, t)
Expand Down Expand Up @@ -394,19 +393,11 @@ func TestTypicalFlowWithBuild(t *testing.T) {
checkConditionSucceededRevision(r.Status, RevisionConditionResourcesAvailable, t)
checkConditionSucceededRevision(r.Status, RevisionConditionContainerHealthy, t)
checkConditionSucceededRevision(r.Status, RevisionConditionReady, t)

// Or this.
r.Status.InitializeBuildCondition()
checkConditionSucceededRevision(r.Status, RevisionConditionBuildSucceeded, t)
checkConditionSucceededRevision(r.Status, RevisionConditionResourcesAvailable, t)
checkConditionSucceededRevision(r.Status, RevisionConditionContainerHealthy, t)
checkConditionSucceededRevision(r.Status, RevisionConditionReady, t)
}

func TestTypicalFlowWithBuildFailure(t *testing.T) {
r := &Revision{}
r.Status.InitializeConditions()
r.Status.InitializeBuildCondition()
checkConditionOngoingRevision(r.Status, RevisionConditionBuildSucceeded, t)
checkConditionOngoingRevision(r.Status, RevisionConditionResourcesAvailable, t)
checkConditionOngoingRevision(r.Status, RevisionConditionContainerHealthy, t)
Expand Down Expand Up @@ -515,6 +506,13 @@ func TestTypicalFlowWithSuspendResume(t *testing.T) {
r.Status.MarkActive()
r.Status.MarkContainerHealthy()
r.Status.MarkResourcesAvailable()
r.Status.PropagateBuildStatus(duckv1alpha1.KResourceStatus{
Conditions: []duckv1alpha1.Condition{{
Type: duckv1alpha1.ConditionSucceeded,
Status: corev1.ConditionTrue,
Reason: "NoBuild",
}},
})
checkConditionSucceededRevision(r.Status, RevisionConditionResourcesAvailable, t)
checkConditionSucceededRevision(r.Status, RevisionConditionContainerHealthy, t)
checkConditionSucceededRevision(r.Status, RevisionConditionActive, t)
Expand Down Expand Up @@ -769,7 +767,7 @@ func TestRevisionAnnotations(t *testing.T) {
rev := Revision{
ObjectMeta: metav1.ObjectMeta{
Annotations: tc.annotations,
Labels: tc.labels,
Labels: tc.labels,
},
}

Expand Down
6 changes: 6 additions & 0 deletions pkg/reconciler/v1alpha1/configuration/configuration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,12 @@ func makeRevReady(t *testing.T, rev *v1alpha1.Revision) *v1alpha1.Revision {
rev.Status.MarkContainerHealthy()
rev.Status.MarkResourcesAvailable()
rev.Status.MarkActive()
rev.Status.PropagateBuildStatus(duckv1alpha1.KResourceStatus{
Conditions: []duckv1alpha1.Condition{{
Type: duckv1alpha1.ConditionSucceeded,
Status: corev1.ConditionTrue,
}},
})
if !rev.Status.IsReady() {
t.Fatalf("Wanted ready revision: %v", rev)
}
Expand Down
8 changes: 7 additions & 1 deletion pkg/reconciler/v1alpha1/revision/revision.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,13 @@ func (c *Reconciler) Reconcile(ctx context.Context, key string) error {
func (c *Reconciler) reconcileBuild(ctx context.Context, rev *v1alpha1.Revision) error {
buildRef := rev.BuildRef()
if buildRef == nil {
rev.Status.PropagateBuildStatus(duckv1alpha1.KResourceStatus{
Conditions: []duckv1alpha1.Condition{{
Type: duckv1alpha1.ConditionSucceeded,
Status: corev1.ConditionTrue,
Reason: "NoBuild",
}},
})
return nil
}

Expand All @@ -271,7 +278,6 @@ func (c *Reconciler) reconcileBuild(ctx context.Context, rev *v1alpha1.Revision)
logger.Errorf("Error tracking build '%+v' for Revision %q: %+v", buildRef, rev.Name, err)
return err
}
rev.Status.InitializeBuildCondition()

gvr, _ := meta.UnsafeGuessKindToResource(buildRef.GroupVersionKind())
_, lister, err := c.buildInformerFactory.Get(gvr)
Expand Down
Loading