Service Chain instance deletion should not error if corresponding stack does not exist

Bug #1420058 reported by Sumit Naiksatam
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Group Based Policy
Fix Released
Medium
Magesh GV

Bug Description

If the Heat stack associated with a Service Instance is deleted (via Horizon or CLI or REST), the Service Chain driver should not error out as below. If the HTTP error code 404 is returned, the processing should just continue.

2015-02-08 17:21:16.429 17572 ERROR gbpservice.neutron.services.servicechain.driver_manager [req-2b6935e6-6c49-4d8c-b7d6-c06890090108 None] ServiceChain driver 'chain_with_two_arm_appliance_driver' failed in delete_servicechain_instance_postcommit
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager Traceback (most recent call last):
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/driver_manager.py", line 83, in _call_on_drivers
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager getattr(driver.obj, method_name)(context)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/neutron/common/log.py", line 34, in wrapper
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager return method(*args, **kwargs)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/drivers/simplechain_driver.py", line 165, in delete_servicechain_instance_postcommit
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager context.current['id'])
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/drivers/simplechain_driver.py", line 284, in _delete_servicechain_instance_stacks
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager heatclient.delete(stack.stack_id)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/drivers/simplechain_driver.py", line 406, in delete
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager return self.stacks.delete(stack_id)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/heatclient/v1/stacks.py", line 131, in delete
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager self._delete("/stacks/%s" % stack_id)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/heatclient/openstack/common/apiclient/base.py", line 202, in _delete
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager return self.client.delete(url)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/heatclient/common/http.py", line 289, in delete
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager return self.raw_request("DELETE", url, **kwargs)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/heatclient/common/http.py", line 270, in raw_request
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager return self._http_request(url, method, **kwargs)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/heatclient/common/http.py", line 216, in _http_request
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager resp = self._http_request(path, method, **kwargs)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager File "/usr/lib/python2.7/site-packages/heatclient/common/http.py", line 209, in _http_request
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager raise exc.from_response(resp)
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager HTTPNotFound: ERROR: The Stack (stack_gbp_App_PTGLoadbalancer_Node11650) could not be found.
2015-02-08 17:21:16.429 17572 TRACE gbpservice.neutron.services.servicechain.driver_manager
2015-02-08 17:21:16.433 17572 ERROR gbpservice.neutron.services.servicechain.servicechain_plugin [req-2b6935e6-6c49-4d8c-b7d6-c06890090108 None] driver_manager.delete_servicechain_instance_postcommit failed, deleting servicechain_instance 'ca74433d-a96f-4583-8d41-db397efc4602'
2015-02-08 17:21:16.434 17572 ERROR gbpservice.neutron.services.grouppolicy.policy_driver_manager [req-2b6935e6-6c49-4d8c-b7d6-c06890090108 None] Policy driver 'apic' failed in delete_policy_target_group_postcommit
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager Traceback (most recent call last):
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/policy_driver_manager.py", line 119, in _call_on_drivers
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager getattr(driver.obj, method_name)(context)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/drivers/cisco/apic/apic_mapping.py", line 579, in delete_policy_target_group_postcommit
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager self._unchain_ptg_pair(context, chain, context.current, chain.l2p)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/drivers/cisco/apic/apic_mapping.py", line 1671, in _unchain_ptg_pair
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager context, chain.servicechain_instance_id)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/drivers/resource_mapping.py", line 1550, in _delete_servicechain_instance
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager servicechain_instance_id)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/drivers/resource_mapping.py", line 1591, in _delete_resource
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager obj_deleter(context, resource_id)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/neutron/common/log.py", line 34, in wrapper
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager return method(*args, **kwargs)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/servicechain_plugin.py", line 241, in delete_servicechain_instance
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager servicechain_instance_id)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/neutron/openstack/common/excutils.py", line 82, in __exit__
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager six.reraise(self.type_, self.value, self.tb)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/servicechain_plugin.py", line 235, in delete_servicechain_instance
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager sc_context)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/driver_manager.py", line 157, in delete_servicechain_instance_postcommit
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager context)
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/servicechain/driver_manager.py", line 96, in _call_on_drivers
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager method=method_name
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager ServiceChainDriverError: delete_servicechain_instance_postcommit failed.
2015-02-08 17:21:16.434 17572 TRACE gbpservice.neutron.services.grouppolicy.policy_driver_manager
2015-02-08 17:21:16.437 17572 DEBUG gbpservice.neutron.services.grouppolicy.drivers.implicit_policy [req-2b6935e6-6c49-4d8c-b7d6-c06890090108 None] gbpservice.neutron.services.grouppolicy.drivers.implicit_policy.ImplicitPolicyDriver method delete_policy_target_group_postcommit called with arguments (<gbpservice.neutron.services.grouppolicy.group_policy_context.PolicyTargetGroupContext object at 0x7738710>,) {} wrapper /usr/lib/python2.7/site-packages/neutron/common/log.py:33
2015-02-08 17:21:16.441 17572 ERROR gbpservice.neutron.services.grouppolicy.plugin [req-2b6935e6-6c49-4d8c-b7d6-c06890090108 None] delete_policy_target_group_postcommit failed, deleting policy_target_group '12bf55d4-1780-4b3c-abbb-4c8663a9f84c'
2015-02-08 17:21:16.442 17572 ERROR neutron.api.v2.resource [req-2b6935e6-6c49-4d8c-b7d6-c06890090108 None] delete failed
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource Traceback (most recent call last):
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 87, in resource
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource result = method(request=request, **args)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 476, in delete
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource obj_deleter(request.context, id, **kwargs)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/common/log.py", line 34, in wrapper
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource return method(*args, **kwargs)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/plugin.py", line 455, in delete_policy_target_group
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource policy_target_group_id)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/openstack/common/excutils.py", line 82, in __exit__
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/plugin.py", line 450, in delete_policy_target_group
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource policy_context)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/policy_driver_manager.py", line 173, in delete_policy_target_group_postcommit
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource continue_on_failure=True)
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/gbpservice/neutron/services/grouppolicy/policy_driver_manager.py", line 134, in _call_on_drivers
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource method=method_name
2015-02-08 17:21:16.442 17572 TRACE neutron.api.v2.resource GroupPolicyDriverError: delete_policy_target_group_postcommit failed.

Changed in group-based-policy:
milestone: kilo-gbp-1 → kilo-gbp-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to group-based-policy (master)

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

Changed in group-based-policy:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to group-based-policy (master)

Reviewed: https://review.openstack.org/157253
Committed: https://git.openstack.org/cgit/stackforge/group-based-policy/commit/?id=2cb2c9fc136c5a9104a8f962523a474231739f21
Submitter: Jenkins
Branch: master

commit 2cb2c9fc136c5a9104a8f962523a474231739f21
Author: Magesh GV <email address hidden>
Date: Thu Feb 19 09:46:02 2015 +0530

    Ignore NotFound Exception in Delete ServiceChainInstance

    When cleaning up services in a service chain instance, NotFound
    exception is safely ignored rather than propagating the exception

    Change-Id: If974bdc31efd44feb77fa5eac09dba31f221ce16
    Closes-Bug: 1420058

Changed in group-based-policy:
status: In Progress → Fix Committed
tags: added: juno-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to group-based-policy (stable/juno)

Fix proposed to branch: stable/juno
Review: https://review.openstack.org/160753

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to group-based-policy (stable/juno)

Reviewed: https://review.openstack.org/160753
Committed: https://git.openstack.org/cgit/stackforge/group-based-policy/commit/?id=f327be5440bdf49f0d455c8f930009997f1533eb
Submitter: Jenkins
Branch: stable/juno

commit f327be5440bdf49f0d455c8f930009997f1533eb
Author: Magesh GV <email address hidden>
Date: Thu Feb 19 09:46:02 2015 +0530

    Ignore NotFound Exception in Delete ServiceChainInstance

    When cleaning up services in a service chain instance, NotFound
    exception is safely ignored rather than propagating the exception

    Change-Id: If974bdc31efd44feb77fa5eac09dba31f221ce16
    Closes-Bug: 1420058
    (cherry picked from commit 2cb2c9fc136c5a9104a8f962523a474231739f21)

tags: added: in-stable-juno
Changed in group-based-policy:
status: Fix Committed → Fix Released
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.