Neutron load balancer returns 503 response when load balancing algorithm is changed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
vmware-nsx |
Fix Released
|
Undecided
|
Kobi Samoray |
Bug Description
Affected version:
NSX Version: 6.1.4, Build: 2691049
Neutron NSX plugin 2015.1.2 (package is built using git tag 2015.1.2)
Scenario
a) create extern network "EXTERNAL_NET"
b) create tenant network "INTERNAL_NET" (DHCP enabled)
c) create exclusive router "ROUTER" and set gateway as "EXTERNAL_NET"
d) add interface to "ROUTER" in "INTERNAL_NET"
e) launch 2 instances in "INTERNAL_NET"
f) create load balancer pool "lb_http" with SOURCE_IP lb-algorithm in "INTERNAL_NET"
g) add both instances created in step e) as members in "lb_http" pool
h) create load balancer vIP "lb_vip" on port 80 in "INTERNAL_NET" for "lb_http" load balancer
i) assign floating IP on "lb_vip"
k) add permissive rule for HTTP traffic into 'default' security group
l) add healthmonitor for "lb_http" pool
m) check that load balancer works (make request with curl on vIP)
n) switch load balancer algorithm from SOURCE_IP to ROUND_ROBING for "lb_http"
m) check that load balancer works (make request with curl on vIP)
Expected result:
load balancer works fine
Actual result:
503 response
CLI commands scenario:
$ neutron net-create EXTERNAL --router:external --shared
$ neutron subnet-create --allocation-pool start=172.
$ neutron net-create INTERNAL_NET
$ neutron subnet-create INTERNAL_NET --name INTERNAL_NET-subnet 192.168.0.0/24
$ neutron router-create ROUTER --router_type exclusive
$ neutron router-
$ neutron router-gateway-set ROUTER EXTERNAL
$ nova boot --flavor m1.tiny --image TestVM-VMDK --nic net-id=$(neutron net-list|awk '/INTERNAL_NET/ {print $2}') INSTANCE1
$ nova boot --flavor m1.tiny --image TestVM-VMDK --nic net-id=$(neutron net-list|awk '/INTERNAL_NET/ {print $2}') INSTANCE2
$ fixedip_i1=$(nova list | awk '/INSTANCE1/ {print $12}' | awk -F '=' '{print $2}' | awk -F ',' '{print $1}')
$ fixedip_i2=$(nova list | awk '/INSTANCE2/ {print $12}' | awk -F '=' '{print $2}' | awk -F ',' '{print $1}')
$ neutron lb-pool-create --lb-method SOURCE_IP --name lb_http --protocol HTTP --subnet-id $(neutron subnet-list|awk '/INTERNAL_NET/ {print $2}')
$ neutron lb-member-create --protocol-port 80 lb_http --address $fixedip_i1
$ neutron lb-member-create --protocol-port 80 lb_http --address $fixedip_i2
$ neutron lb-vip-create --name lb_vip --subnet-id $(neutron subnet-list|awk '/INTERNAL_NET/ {print $2}') --protocol-port 80 --protocol HTTP lb_http
$ fixedip_
$ portuuid_
$ neutron floatingip-create EXTERNAL --port-id $portuuid_vip
$ neutron security-
$ neutron lb-healthmonito
$ neutron lb-healthmonito
test load balancer with curl
$ neutron lb-pool-update lb_http --lb-method ROUND_ROBIN
test load balancer with curl
Changed in vmware-nsx: | |
assignee: | nobody → Kobi Samoray (ksamoray) |
Changed in vmware-nsx: | |
status: | New → In Progress |
Reviewed: https:/ /review. openstack. org/259883 /git.openstack. org/cgit/ openstack/ vmware- nsx/commit/ ?id=588f84bf7b6 c2ef85646007230 48042113c7f3f9
Committed: https:/
Submitter: Jenkins
Branch: master
commit 588f84bf7b6c2ef 856460072304804 2113c7f3f9
Author: Kobi Samoray <email address hidden>
Date: Mon Dec 21 10:17:46 2015 +0200
Update pool erases member config
When a LBaaSv1 pool is being updated, the update erases the pool config.
Change-Id: Ib0fab216c5affa 0c3075689c8e7dd 8b1c9e18598
Fixes-Bug: #1527178