CIS Version : 2.15.1, BuildInfo: azure-5488-12ccf0c8f7714ed8d5cf399a1c773c26b1643337
Build: f5networks/k8s-bigip-ctlr:latest
BIGIP Version: BIG-IP 17.1.0.1 Build 0.0.4 Point Release 1
AS3 Version: 3.45.0
Agent Mode: AS3
Orchestration: K8S
Orchestration Version:
Pool Mode: NodePort
Additional Setup details: OpenShift 4.12 with OVNKubernetes but using NodePort
Description
I´m using the following an A/B setup to perform per-application migration where the main backend is in only in OCP1 and the alternate backend is only in OCP2, using the following manifest:
When creating and deleting the service router-default-route-a-ocp2 (only in OCP2) I get an inconsistent behaviour in which CIS fails to trigger AS3 reconfiguration and post an updated declaration.
Note that no AS3 reconfiguration/posts happens and hence no update to the pool occurs (unexpected)
Expected Result
In the Service creation case, in step 2, the pool of the alternate backend should have been populated
In the Service deletion case, in step 3, the pool of the alternate backend should have been deleted
Actual Result
The services for the alternate backend in OCP2 are not updated if not following a specific sequence, hence not having a declarative semantic.
Setup Details
CIS Version : 2.15.1, BuildInfo: azure-5488-12ccf0c8f7714ed8d5cf399a1c773c26b1643337 Build: f5networks/k8s-bigip-ctlr:latest
BIGIP Version: BIG-IP 17.1.0.1 Build 0.0.4 Point Release 1 AS3 Version: 3.45.0
Agent Mode: AS3
Orchestration: K8S Orchestration Version:
Pool Mode: NodePort
Additional Setup details: OpenShift 4.12 with OVNKubernetes but using NodePort
Description
I´m using the following an A/B setup to perform per-application migration where the main backend is in only in OCP1 and the alternate backend is only in OCP2, using the following manifest:
When creating and deleting the service router-default-route-a-ocp2 (only in OCP2) I get an inconsistent behaviour in which CIS fails to trigger AS3 reconfiguration and post an updated declaration.
Note: I´m using the following demo to reproduce this issue https://github.com/f5devcentral/f5-bd-cis-demo/tree/main/crds/demo-mc-twotier-haproxy-noshards and the scripts attached
Note: the .sh scripts mentioned are attached here repro-scripts.tar.gz
Note: I can share a UDF environment with this repro
Steps To Reproduce -- Service creation case
1) Create L7 routes in both clusters:
2) Create the services for the alternate backend in OCP2 referenced in the L7 route:
with the following command
The CIS logs in DEBUG mode show the following:
notice that there is no AS3 reconfiguraiton or post, hence the pools continue unpopulated as shown next (unexpected)
3) Create the services for the main backend referenced in the L7 route:
The following is shown in the logs
and both main and alternate pools get populated as shown next
Steps To Reproduce -- Service deletion case
continue from the last reproduction and perform the following additional steps
1) Delete the services for the main backend in OCP1
An AS3 post is done and the pools are updated appropriately as shown next
where the services of the alternate backend in OCP2 are left as expect
2) Delete the services for the alternate backend in OCP2
the following is shown in the logs
Note that no AS3 reconfiguration/posts happens and hence no update to the pool occurs (unexpected)
Expected Result
In the Service creation case, in step 2, the pool of the alternate backend should have been populated In the Service deletion case, in step 3, the pool of the alternate backend should have been deleted
Actual Result
The services for the alternate backend in OCP2 are not updated if not following a specific sequence, hence not having a declarative semantic.