hahayyum opened a new issue, #1027:
URL: https://github.com/apache/apisix-ingress-controller/issues/1027
### Issue description
Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: apisix
name: ccdd
namespace: 3-default-ns
spec:
rules:
- http:
paths:
- backend:
serviceName: deployment-lerxr7
servicePort: 16629
path: /adc
pathType: Prefix
- backend:
serviceName: deployment-lerxr7
servicePort: 18889
path: /dede
pathType: Prefix
first update:
16629->16639 , Port 16639 is not configured in the actual service
erro info: failed to translate ingress {"event": "update", "error":
"service.spec.ports: port not defined", "ingress": {}}
The first update event keeps looping
code:
ing, err = c.controller.ingressLister.V1beta1(namespace, name)
..........
tctx, err := c.controller.translator.TranslateIngress(ing) ---Check the
latest ingress
second update
16639->16629
erro info: failed to translate ingress {"event": "update", "error":
"service.spec.ports: port not defined", "ingress": {}}
End of first update event. The second update event keeps looping
code
oldCtx, err := c.controller.translator.TranslateIngress(ingEv.OldObject)
--Always verify old ingress
I think in the update event, there is no need to verify the backend.service
in the old ingress, or just delete it if there is a problem (du)
### Environment
k8s: 1.19.6
apisix: 2.7
apisix-ingress-controller: 1.2.0
### Minimal test code / Steps to reproduce
see description
### Actual result
see description
### Error log
see description
### Expected result
When the port is re-updated correctly, the second update event ends
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]