diff --git a/pkg/operator/controller/ingress/status.go b/pkg/operator/controller/ingress/status.go index fc9cfbd1e0..fb0e0b0f88 100644 --- a/pkg/operator/controller/ingress/status.go +++ b/pkg/operator/controller/ingress/status.go @@ -208,6 +208,9 @@ func computeAllowedSourceRanges(service *corev1.Service) []operatorv1.CIDR { // PodsScheduled=True. This function returns an error value indicating the // result of that check. func checkPodsScheduledForDeployment(deployment *appsv1.Deployment, pods []corev1.Pod) error { + if deployment == nil { + return errors.New("Deployment was nil. This is a bug!") + } selector, err := metav1.LabelSelectorAsSelector(deployment.Spec.Selector) if err != nil || selector.Empty() { return errors.New("Deployment has an invalid label selector.") diff --git a/pkg/operator/controller/ingress/status_test.go b/pkg/operator/controller/ingress/status_test.go index c7006e40a1..d7b17a6e05 100644 --- a/pkg/operator/controller/ingress/status_test.go +++ b/pkg/operator/controller/ingress/status_test.go @@ -208,6 +208,12 @@ func Test_checkPodsScheduledForDeployment(t *testing.T) { pods []corev1.Pod expectError bool }{ + { + name: "nil deployment", + deployment: nil, + pods: []corev1.Pod{scheduledPod}, + expectError: true, + }, { name: "no pods", deployment: deployment,