-
Bug
-
Resolution: Done
-
Undefined
-
1.10.0
-
None
-
False
-
False
-
Undefined
-
-
Serverless Sprint 191
We have a test that very sporadically fails due to an unexpected extra revision existing.
I could reproduce the problem once with a stripped-down test that only creates a ksvc, waits for its readiness, deletes, and repeats.
Reproduced on 4.6.0-0.nightly-2020-10-03-051134, with current prod builds of Serverless 1.10
oc get ksvc receiver-41 -o yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
serving.knative.dev/creator: kube:admin
serving.knative.dev/lastModifier: kube:admin
creationTimestamp: "2020-10-07T17:41:51Z"
generation: 1
labels:
serving.knative.dev/visibility: cluster-local
managedFields:
- apiVersion: serving.knative.dev/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:labels:
.: {}
f:serving.knative.dev/visibility: {}
f:spec:
.: {}
f:template:
.: {}
f:metadata:
.: {}
f:annotations:
.: {}
f:autoscaling.knative.dev/maxScale: {}
f:autoscaling.knative.dev/minScale: {}
f:autoscaling.knative.dev/targetBurstCapacity: {}
f:creationTimestamp: {}
f:spec:
.: {}
f:containers: {}
manager: eventing.test
operation: Update
time: "2020-10-07T17:41:51Z"
- apiVersion: serving.knative.dev/v1
fieldsType: FieldsV1
fieldsV1:
f:status:
.: {}
f:address:
.: {}
f:url: {}
f:conditions: {}
f:latestCreatedRevisionName: {}
f:latestReadyRevisionName: {}
f:observedGeneration: {}
f:traffic: {}
f:url: {}
manager: controller
operation: Update
time: "2020-10-07T17:42:03Z"
name: receiver-41
namespace: myproject
resourceVersion: "618874"
selfLink: /apis/serving.knative.dev/v1/namespaces/myproject/services/receiver-41
uid: 55a8be48-01c7-4679-885d-8d83969b6cd5
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/maxScale: "1"
autoscaling.knative.dev/minScale: "1"
autoscaling.knative.dev/targetBurstCapacity: "0"
creationTimestamp: null
spec:
containerConcurrency: 0
containers:
- env:
- name: POD_NAME
value: receiver-41
- name: POD_NAMESPACE
value: myproject
image: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver
imagePullPolicy: IfNotPresent
name: user-container
readinessProbe:
successThreshold: 1
tcpSocket:
port: 0
resources: {}
timeoutSeconds: 300
traffic:
- latestRevision: true
percent: 100
status:
address:
url: http://receiver-41.myproject.svc.cluster.local
conditions:
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: ConfigurationsReady
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: Ready
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: RoutesReady
latestCreatedRevisionName: receiver-41-kkdnz
latestReadyRevisionName: receiver-41-kkdnz
observedGeneration: 1
traffic:
- latestRevision: true
percent: 100
revisionName: receiver-41-kkdnz
url: http://receiver-41.myproject.svc.cluster.local
$ oc get revisions NAME CONFIG NAME K8S SERVICE NAME GENERATION READY REASON receiver-41-kkdnz receiver-41 receiver-41-kkdnz 1 True receiver-41-kqzc9 receiver-41 receiver-41-kqzc9 1 True
$ oc get revisions -o yaml
apiVersion: v1
items:
- apiVersion: serving.knative.dev/v1
kind: Revision
metadata:
annotations:
autoscaling.knative.dev/maxScale: "1"
autoscaling.knative.dev/minScale: "1"
autoscaling.knative.dev/targetBurstCapacity: "0"
serving.knative.dev/creator: kube:admin
serving.knative.dev/lastPinned: "1602092523"
creationTimestamp: "2020-10-07T17:41:52Z"
generateName: receiver-41-
generation: 1
labels:
serving.knative.dev/configuration: receiver-41
serving.knative.dev/configurationGeneration: "1"
serving.knative.dev/route: receiver-41
serving.knative.dev/service: receiver-41
managedFields:
- apiVersion: serving.knative.dev/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:autoscaling.knative.dev/maxScale: {}
f:autoscaling.knative.dev/minScale: {}
f:autoscaling.knative.dev/targetBurstCapacity: {}
f:serving.knative.dev/creator: {}
f:serving.knative.dev/lastPinned: {}
f:generateName: {}
f:labels:
.: {}
f:serving.knative.dev/configuration: {}
f:serving.knative.dev/configurationGeneration: {}
f:serving.knative.dev/route: {}
f:serving.knative.dev/service: {}
f:ownerReferences:
.: {}
k:{"uid":"9d7692a2-a173-457c-8b36-553db58e604a"}:
.: {}
f:apiVersion: {}
f:blockOwnerDeletion: {}
f:controller: {}
f:kind: {}
f:name: {}
f:uid: {}
f:spec:
.: {}
f:containerConcurrency: {}
f:containers: {}
f:timeoutSeconds: {}
f:status:
.: {}
f:conditions: {}
f:containerStatuses: {}
f:imageDigest: {}
f:logUrl: {}
f:observedGeneration: {}
f:serviceName: {}
manager: controller
operation: Update
time: "2020-10-07T17:42:05Z"
name: receiver-41-kkdnz
namespace: myproject
ownerReferences:
- apiVersion: serving.knative.dev/v1
blockOwnerDeletion: true
controller: true
kind: Configuration
name: receiver-41
uid: 9d7692a2-a173-457c-8b36-553db58e604a
resourceVersion: "618918"
selfLink: /apis/serving.knative.dev/v1/namespaces/myproject/revisions/receiver-41-kkdnz
uid: 4bdef05f-61bf-4a4a-ad86-40b5e70f1b55
spec:
containerConcurrency: 0
containers:
- env:
- name: POD_NAME
value: receiver-41
- name: POD_NAMESPACE
value: myproject
image: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver
imagePullPolicy: IfNotPresent
name: user-container
readinessProbe:
successThreshold: 1
tcpSocket:
port: 0
resources: {}
timeoutSeconds: 300
status:
conditions:
- lastTransitionTime: "2020-10-07T17:42:05Z"
severity: Info
status: "True"
type: Active
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: ContainerHealthy
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: Ready
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: ResourcesAvailable
containerStatuses:
- imageDigest: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver@sha256:ee429c62d60dc1c521ea882a940cdcc675fbb853beb139862e66d05ba6e12455
name: user-container
imageDigest: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver@sha256:ee429c62d60dc1c521ea882a940cdcc675fbb853beb139862e66d05ba6e12455
logUrl: http://localhost:8001/api/v1/namespaces/knative-monitoring/services/kibana-logging/proxy/app/kibana#/discover?_a=(query:(match:(kubernetes.labels.knative-dev%2FrevisionUID:(query:'4bdef05f-61bf-4a4a-ad86-40b5e70f1b55',type:phrase))))
observedGeneration: 1
serviceName: receiver-41-kkdnz
- apiVersion: serving.knative.dev/v1
kind: Revision
metadata:
annotations:
autoscaling.knative.dev/maxScale: "1"
autoscaling.knative.dev/minScale: "1"
autoscaling.knative.dev/targetBurstCapacity: "0"
serving.knative.dev/creator: kube:admin
serving.knative.dev/lastPinned: "1602092519"
creationTimestamp: "2020-10-07T17:41:51Z"
generateName: receiver-41-
generation: 1
labels:
serving.knative.dev/configuration: receiver-41
serving.knative.dev/configurationGeneration: "1"
serving.knative.dev/service: receiver-41
managedFields:
- apiVersion: serving.knative.dev/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:autoscaling.knative.dev/maxScale: {}
f:autoscaling.knative.dev/minScale: {}
f:autoscaling.knative.dev/targetBurstCapacity: {}
f:serving.knative.dev/creator: {}
f:serving.knative.dev/lastPinned: {}
f:generateName: {}
f:labels:
.: {}
f:serving.knative.dev/configuration: {}
f:serving.knative.dev/configurationGeneration: {}
f:serving.knative.dev/service: {}
f:ownerReferences:
.: {}
k:{"uid":"9d7692a2-a173-457c-8b36-553db58e604a"}:
.: {}
f:apiVersion: {}
f:blockOwnerDeletion: {}
f:controller: {}
f:kind: {}
f:name: {}
f:uid: {}
f:spec:
.: {}
f:containerConcurrency: {}
f:containers: {}
f:timeoutSeconds: {}
f:status:
.: {}
f:conditions: {}
f:containerStatuses: {}
f:imageDigest: {}
f:logUrl: {}
f:observedGeneration: {}
f:serviceName: {}
manager: controller
operation: Update
time: "2020-10-07T17:43:00Z"
name: receiver-41-kqzc9
namespace: myproject
ownerReferences:
- apiVersion: serving.knative.dev/v1
blockOwnerDeletion: true
controller: true
kind: Configuration
name: receiver-41
uid: 9d7692a2-a173-457c-8b36-553db58e604a
resourceVersion: "620170"
selfLink: /apis/serving.knative.dev/v1/namespaces/myproject/revisions/receiver-41-kqzc9
uid: 3c12b9aa-cbbb-4a5f-9dd5-845d55e4feae
spec:
containerConcurrency: 0
containers:
- env:
- name: POD_NAME
value: receiver-41
- name: POD_NAMESPACE
value: myproject
image: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver
imagePullPolicy: IfNotPresent
name: user-container
readinessProbe:
successThreshold: 1
tcpSocket:
port: 0
resources: {}
timeoutSeconds: 300
status:
conditions:
- lastTransitionTime: "2020-10-07T17:43:00Z"
message: The target is not receiving traffic.
reason: NoTraffic
severity: Info
status: "False"
type: Active
- lastTransitionTime: "2020-10-07T17:41:59Z"
status: "True"
type: ContainerHealthy
- lastTransitionTime: "2020-10-07T17:41:59Z"
status: "True"
type: Ready
- lastTransitionTime: "2020-10-07T17:41:59Z"
status: "True"
type: ResourcesAvailable
containerStatuses:
- imageDigest: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver@sha256:ee429c62d60dc1c521ea882a940cdcc675fbb853beb139862e66d05ba6e12455
name: user-container
imageDigest: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver@sha256:ee429c62d60dc1c521ea882a940cdcc675fbb853beb139862e66d05ba6e12455
logUrl: http://localhost:8001/api/v1/namespaces/knative-monitoring/services/kibana-logging/proxy/app/kibana#/discover?_a=(query:(match:(kubernetes.labels.knative-dev%2FrevisionUID:(query:'3c12b9aa-cbbb-4a5f-9dd5-845d55e4feae',type:phrase))))
observedGeneration: 1
serviceName: receiver-41-kqzc9
kind: List
metadata:
resourceVersion: ""
selfLink: ""
$ oc get configuration -o yaml
apiVersion: v1
items:
- apiVersion: serving.knative.dev/v1
kind: Configuration
metadata:
annotations:
serving.knative.dev/creator: kube:admin
serving.knative.dev/lastModifier: kube:admin
creationTimestamp: "2020-10-07T17:41:51Z"
generation: 1
labels:
serving.knative.dev/route: receiver-41
serving.knative.dev/service: receiver-41
serving.knative.dev/visibility: cluster-local
managedFields:
- apiVersion: serving.knative.dev/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:serving.knative.dev/creator: {}
f:serving.knative.dev/lastModifier: {}
f:labels:
.: {}
f:serving.knative.dev/route: {}
f:serving.knative.dev/service: {}
f:serving.knative.dev/visibility: {}
f:ownerReferences:
.: {}
k:{"uid":"55a8be48-01c7-4679-885d-8d83969b6cd5"}:
.: {}
f:apiVersion: {}
f:blockOwnerDeletion: {}
f:controller: {}
f:kind: {}
f:name: {}
f:uid: {}
f:spec:
.: {}
f:template:
.: {}
f:metadata:
.: {}
f:annotations:
.: {}
f:autoscaling.knative.dev/maxScale: {}
f:autoscaling.knative.dev/minScale: {}
f:autoscaling.knative.dev/targetBurstCapacity: {}
f:creationTimestamp: {}
f:spec:
.: {}
f:containerConcurrency: {}
f:containers: {}
f:timeoutSeconds: {}
f:status:
.: {}
f:conditions: {}
f:latestCreatedRevisionName: {}
f:latestReadyRevisionName: {}
f:observedGeneration: {}
manager: controller
operation: Update
time: "2020-10-07T17:42:03Z"
name: receiver-41
namespace: myproject
ownerReferences:
- apiVersion: serving.knative.dev/v1
blockOwnerDeletion: true
controller: true
kind: Service
name: receiver-41
uid: 55a8be48-01c7-4679-885d-8d83969b6cd5
resourceVersion: "618842"
selfLink: /apis/serving.knative.dev/v1/namespaces/myproject/configurations/receiver-41
uid: 9d7692a2-a173-457c-8b36-553db58e604a
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/maxScale: "1"
autoscaling.knative.dev/minScale: "1"
autoscaling.knative.dev/targetBurstCapacity: "0"
creationTimestamp: null
spec:
containerConcurrency: 0
containers:
- env:
- name: POD_NAME
value: receiver-41
- name: POD_NAMESPACE
value: myproject
image: image-registry.openshift-image-registry.svc:5000/ocf-qe-images/receiver
imagePullPolicy: IfNotPresent
name: user-container
readinessProbe:
successThreshold: 1
tcpSocket:
port: 0
resources: {}
timeoutSeconds: 300
status:
conditions:
- lastTransitionTime: "2020-10-07T17:42:03Z"
status: "True"
type: Ready
latestCreatedRevisionName: receiver-41-kkdnz
latestReadyRevisionName: receiver-41-kkdnz
observedGeneration: 1
kind: List
metadata:
resourceVersion: ""
selfLink: ""