Skip to content

Commit

Permalink
Add lint for aliasing autoscaling import correctly
Browse files Browse the repository at this point in the history
And fix a file that I apparently forgot to `git add` when I fixed this
before, and never spotted because we didn't lint it :).
  • Loading branch information
julz committed Mar 10, 2021
1 parent 3ee7319 commit c60e0b5
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 27 deletions.
3 changes: 3 additions & 0 deletions .golangci.yaml
Expand Up @@ -23,6 +23,7 @@ linters:
- errorlint
- golint
- gosec
- importas
- prealloc
- stylecheck
- tparallel
Expand All @@ -38,6 +39,8 @@ linters-settings:
- sync/atomic
packages-with-error-message:
- sync/atomic: "please use type-safe atomics from go.uber.org/atomic"
importas:
autoscalingv1alpha1: knative.dev/serving/pkg/apis/autoscaling/v1alpha1

issues:
include:
Expand Down
6 changes: 3 additions & 3 deletions pkg/apis/serving/v1/revision_lifecycle.go
Expand Up @@ -24,7 +24,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"

"knative.dev/pkg/apis"
av1alpha1 "knative.dev/serving/pkg/apis/autoscaling/v1alpha1"
autoscalingv1alpha1 "knative.dev/serving/pkg/apis/autoscaling/v1alpha1"
"knative.dev/serving/pkg/apis/config"
"knative.dev/serving/pkg/apis/serving"
)
Expand Down Expand Up @@ -168,9 +168,9 @@ func (rs *RevisionStatus) PropagateDeploymentStatus(original *appsv1.DeploymentS
}

// PropagateAutoscalerStatus propagates autoscaler's status to the revision's status.
func (rs *RevisionStatus) PropagateAutoscalerStatus(ps *av1alpha1.PodAutoscalerStatus) {
func (rs *RevisionStatus) PropagateAutoscalerStatus(ps *autoscalingv1alpha1.PodAutoscalerStatus) {
// Reflect the PA status in our own.
cond := ps.GetCondition(av1alpha1.PodAutoscalerConditionReady)
cond := ps.GetCondition(autoscalingv1alpha1.PodAutoscalerConditionReady)
if cond == nil {
rs.MarkActiveUnknown("Deploying", "")
return
Expand Down
48 changes: 24 additions & 24 deletions pkg/apis/serving/v1/revision_lifecycle_test.go
Expand Up @@ -31,7 +31,7 @@ import (
duckv1 "knative.dev/pkg/apis/duck/v1"
apistest "knative.dev/pkg/apis/testing"
"knative.dev/pkg/ptr"
av1alpha1 "knative.dev/serving/pkg/apis/autoscaling/v1alpha1"
autoscalingv1alpha1 "knative.dev/serving/pkg/apis/autoscaling/v1alpha1"
"knative.dev/serving/pkg/apis/config"
)

Expand Down Expand Up @@ -529,19 +529,19 @@ func TestPropagateAutoscalerStatus(t *testing.T) {
apistest.CheckConditionOngoing(r, RevisionConditionReady, t)

// PodAutoscaler has no active condition, so we are just coming up.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{},
})
apistest.CheckConditionOngoing(r, RevisionConditionActive, t)

// PodAutoscaler becomes ready, making us active.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionTrue,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionTrue,
}},
},
Expand All @@ -550,13 +550,13 @@ func TestPropagateAutoscalerStatus(t *testing.T) {
apistest.CheckConditionSucceeded(r, RevisionConditionReady, t)

// PodAutoscaler flipping back to Unknown causes Active become ongoing immediately.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionUnknown,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionTrue,
}},
},
Expand All @@ -565,13 +565,13 @@ func TestPropagateAutoscalerStatus(t *testing.T) {
apistest.CheckConditionSucceeded(r, RevisionConditionReady, t)

// PodAutoscaler becoming unready makes Active false, but doesn't affect readiness.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionFalse,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionTrue,
}},
},
Expand All @@ -592,13 +592,13 @@ func TestPAResAvailableNoOverride(t *testing.T) {
r.MarkResourcesAvailableFalse("somehow", "somewhere")

// PodAutoscaler achieved initial scale.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionUnknown,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionTrue,
}},
},
Expand All @@ -617,14 +617,14 @@ func TestPropagateAutoscalerStatusNoProgress(t *testing.T) {
apistest.CheckConditionOngoing(r, RevisionConditionReady, t)

// PodAutoscaler is not ready and initial scale was never attained.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
ServiceName: "testRevision",
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionFalse,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionUnknown,
}},
},
Expand All @@ -640,13 +640,13 @@ func TestPropagateAutoscalerStatusNoProgress(t *testing.T) {
r.MarkResourcesAvailableFalse("another-one", "bit-the-dust")

// And apply the status.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionFalse,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionUnknown,
}},
},
Expand All @@ -664,19 +664,19 @@ func TestPropagateAutoscalerStatusRace(t *testing.T) {
apistest.CheckConditionOngoing(r, RevisionConditionReady, t)

// PodAutoscaler has no active condition, so we are just coming up.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{},
})
apistest.CheckConditionOngoing(r, RevisionConditionActive, t)

// The PodAutoscaler might have been ready but it's scaled down already.
r.PropagateAutoscalerStatus(&av1alpha1.PodAutoscalerStatus{
r.PropagateAutoscalerStatus(&autoscalingv1alpha1.PodAutoscalerStatus{
Status: duckv1.Status{
Conditions: duckv1.Conditions{{
Type: av1alpha1.PodAutoscalerConditionReady,
Type: autoscalingv1alpha1.PodAutoscalerConditionReady,
Status: corev1.ConditionFalse,
}, {
Type: av1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Type: autoscalingv1alpha1.PodAutoscalerConditionScaleTargetInitialized,
Status: corev1.ConditionTrue,
}},
},
Expand Down

0 comments on commit c60e0b5

Please sign in to comment.