Service deletion fails when deleting the load balancer

Bug #1767074 reported by Jon Uriarte
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kuryr-kubernetes
Fix Released
Critical
Antoni Segura Puimedon

Bug Description

Kuryr kubernetes fails when trying to delete the load balancer:
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/handlers/lbaas.py", line 274, in on_deleted
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging obj_lbaas.LBaaSServiceSpec())
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/handlers/lbaas.py", line 305, in _sync_lbaas_members
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_pools(endpoints, lbaas_state, lbaas_spec):
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/handlers/lbaas.py", line 415, in _sync_lbaas_pools
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_listeners(endpoints, lbaas_state, lbaas_spec):
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/handlers/lbaas.py", line 472, in _sync_lbaas_listeners
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, lbaas_spec):
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/handlers/lbaas.py", line 550, in _sync_lbaas_loadbalancer
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging loadbalancer=lb)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/drivers/lbaasv2.py", line 71, in release_loadbalancer
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging lbaas.delete_loadbalancer, loadbalancer.id)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/kuryr_kubernetes/controller/drivers/lbaasv2.py", line 388, in _release
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging delete(*args, **kwargs)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 1143, in delete_loadbalancer
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging (lbaas_loadbalancer))
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 350, in delete
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging headers=headers, params=params)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 331, in retry_request
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging headers=headers, params=params)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 294, in do_request
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging self._handle_fault_response(status_code, replybody, resp)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 269, in _handle_fault_response
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging exception_handler_v20(status_code, error_body)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 93, in exception_handler_v20
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging request_ids=request_ids)
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging BadRequest: 400-{u'debuginfo': None, u'faultcode': u'Client', u'faultstring': u'Validation failure: Cannot delete Load Balancer 31b6750f-a481-4f4e-b3b8-289edee89a4f - it has children'}
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging Neutron server returns request_ids: ['req-3f6be686-2466-452f-9467-41ff3b65e47f']
2018-04-26 08:37:06.314 1 ERROR kuryr_kubernetes.handlers.logging

Steps to reproduce (from openshift):
 1.- oc new-project test
 2.- oc run --image kuryr/demo demo
 3.- oc expose dc/demo --port 80 --target-port 8080
 4.- wait until octavia LBaaS is up and running
 5.- oc delete project test

The loadbalancer remains in OpenStack although the listener and members have been correctly removed.

Changed in kuryr-kubernetes:
assignee: nobody → Yossi Boaron (yossi-boaron-1234)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kuryr-kubernetes (master)

Fix proposed to branch: master
Review: https://review.openstack.org/564496

Changed in kuryr-kubernetes:
status: New → In Progress
Changed in kuryr-kubernetes:
importance: Undecided → Critical
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/564504

Changed in kuryr-kubernetes:
assignee: Yossi Boaron (yossi-boaron-1234) → Antoni Segura Puimedon (celebdor)
Changed in kuryr-kubernetes:
assignee: Antoni Segura Puimedon (celebdor) → Yossi Boaron (yossi-boaron-1234)
Changed in kuryr-kubernetes:
assignee: Yossi Boaron (yossi-boaron-1234) → Antoni Segura Puimedon (celebdor)
Changed in kuryr-kubernetes:
assignee: Antoni Segura Puimedon (celebdor) → Yossi Boaron (yossi-boaron-1234)
Changed in kuryr-kubernetes:
assignee: Yossi Boaron (yossi-boaron-1234) → Antoni Segura Puimedon (celebdor)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kuryr-kubernetes (master)

Reviewed: https://review.openstack.org/564504
Committed: https://git.openstack.org/cgit/openstack/kuryr-kubernetes/commit/?id=55973f25053727f747996c4308d9e7bf65f94b06
Submitter: Zuul
Branch: master

commit 55973f25053727f747996c4308d9e7bf65f94b06
Author: Antoni Segura Puimedon <email address hidden>
Date: Thu Apr 26 15:28:08 2018 +0200

    Fix octavia lb deleting_race with cascading

    Octavia can cascade resource deletion by passing &cascade=True as a
    parameter to the HTTP request. This patch enables us to do that, fixing
    the children deletion race and greatly simplifying the callstack of
    service deletion

    Closes-Bug: #1767074
    Change-Id: I97303b54b900bc40f791309bd2589e617b61177a
    Signed-off-by: Antoni Segura Puimedon <email address hidden>

Changed in kuryr-kubernetes:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kuryr-kubernetes (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/564801

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kuryr-kubernetes (stable/queens)

Reviewed: https://review.openstack.org/564801
Committed: https://git.openstack.org/cgit/openstack/kuryr-kubernetes/commit/?id=cef63d267cab5c08f1e1d17af8ea139835a8fd6d
Submitter: Zuul
Branch: stable/queens

commit cef63d267cab5c08f1e1d17af8ea139835a8fd6d
Author: Antoni Segura Puimedon <email address hidden>
Date: Thu Apr 26 15:28:08 2018 +0200

    Fix octavia lb deleting_race with cascading

    Octavia can cascade resource deletion by passing &cascade=True as a
    parameter to the HTTP request. This patch enables us to do that, fixing
    the children deletion race and greatly simplifying the callstack of
    service deletion

    Closes-Bug: #1767074
    Change-Id: I97303b54b900bc40f791309bd2589e617b61177a
    Signed-off-by: Antoni Segura Puimedon <email address hidden>

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/kuryr-kubernetes 0.4.3

This issue was fixed in the openstack/kuryr-kubernetes 0.4.3 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on kuryr-kubernetes (master)

Change abandoned by Yossi Boaron (<email address hidden>) on branch: master
Review: https://review.openstack.org/564496
Reason: Since LoadBalancer deletion using the cascade option was added for Octavia - we can abandon this patch

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/kuryr-kubernetes 0.5.0

This issue was fixed in the openstack/kuryr-kubernetes 0.5.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.