Bug 1375861 - the haproxy.config not synced when reconfigure the route-backends
Summary: the haproxy.config not synced when reconfigure the route-backends
Keywords:
Status: CLOSED DUPLICATE of bug 1374772
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 3.3.0
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ---
: ---
Assignee: Ben Bennett
QA Contact: zhaozhanqi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-14 06:52 UTC by Hongan Li
Modified: 2022-08-04 22:20 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-14 14:04:44 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Hongan Li 2016-09-14 06:52:01 UTC
Description of problem:
firstly set route-backends with three services, then set the route-backends with two services, but the third one still in haproxy.config and can be accessed. 

Version-Release number of selected component (if applicable):
oc v3.3.0.30
kubernetes v1.3.0+52492b4


How reproducible:
always

Steps to Reproduce:
1. Create PodA, ServiceA, PodB, ServiceB, PodC and ServiceC (see additional info for json file),
2. create route "unsecure-route" and set to "roundrobin" mode,
3. run "oc set route-backends unsecure-route service-unsecure=1 service-unsecure-2=1 service-unsecure-3=2"
   then run "oc set route-backends unsecure-route" to check the backends,
4. run "oc set route-backends unsecure-route service-unsecure=1 service-unsecure-2=1"
   then run "oc set route-backends unsecure-route" to check the backends
5. oc rsh router and check haproxy.config

Actual results:
3. it shows three services 
[root@localhost ~]# oc set route-backends unsecure-route 
NAME                   KIND     TO                  WEIGHT
routes/unsecure-route  Service  service-unsecure    1 (25%)
routes/unsecure-route  Service  service-unsecure-2  1 (25%)
routes/unsecure-route  Service  service-unsecure-3  2 (50%)

4. it shows two services
[root@localhost ~]# oc set route-backends unsecure-route 
NAME                   KIND     TO                  WEIGHT
routes/unsecure-route  Service  service-unsecure    1 (50%)
routes/unsecure-route  Service  service-unsecure-2  1 (50%)
[root@localhost ~]# oc describe route
Name:			unsecure-route
Namespace:		hongli
Created:		3 hours ago
Labels:			name=service-unsecure
Annotations:		haproxy.router.openshift.io/balance=roundrobin
			openshift.io/host.generated=true
Requested Host:		unsecure-route-hongli.0913-wgl.qe.rhcloud.com
			  exposed on router router 3 hours ago
Path:			<none>
TLS Termination:	<none>
Insecure Policy:	<none>
Endpoint Port:		http

Service:	service-unsecure
Weight:		1 (50%)
Endpoints:	10.2.2.5:8080

Service:	service-unsecure-2
Weight:		1 (50%)
Endpoints:	10.2.3.3:8080


5. the haproxy.config not synced and still has three rules. 
  server 18d100f963857b83938593f531373c36 10.2.2.5:8080 check inter 5000ms cookie 18d100f963857b83938593f531373c36 weight 1
  server 5cba5dcd816b49cb85a89843fb79747a 10.2.3.3:8080 check inter 5000ms cookie 5cba5dcd816b49cb85a89843fb79747a weight 1
  server db13b73145e432c4b5ff550f024e0d71 10.2.4.4:8080 check inter 5000ms cookie db13b73145e432c4b5ff550f024e0d71 weight 2


Expected results:
the third rule should be removed from haproxy.config

workaround: set the third service to "zero" will remove the rule from haproxy.config, then reconfigure the route-backends with other two service.

Additional info:
PodA & serviceA
# oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/abrouting/caddy-docker.json
# oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/abrouting/unseucre/service_unsecure.json

PodB & serviceB
# oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/abrouting/caddy-docker-2.json
# oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/abrouting/unseucre/service_unsecure-2.json
 
PodC & serviceC
# oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/abrouting/caddy-docker-3.json
# oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/abrouting/unseucre/service_unsecure-3.json

Comment 1 Ben Bennett 2016-09-14 14:04:44 UTC

*** This bug has been marked as a duplicate of bug 1374772 ***


Note You need to log in before you can comment on or make changes to this bug.