Schema crash on deleting RI with connection on other RI

Bug #1474873 reported by Édouard Thuleau
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
Trunk
Fix Committed
Undecided
Unassigned
OpenContrail
Fix Committed
Undecided
Unassigned

Bug Description

When a RI connected to another RIs is deleted, the schema can crash when it tries to clear the RIs connection:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3662, in launch_arc
    transformer.process_poll_result(result)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3493, in process_poll_result
    service_chain.destroy()
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 1773, in destroy
    vn1_obj.delete_routing_instance(service_ri1)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 634, in delete_routing_instance
    ri2.delete_connection(ri)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 1396, in delete_connection
    _vnc_lib.routing_instance_update(self.obj)
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 5347, in routing_instance_update
    self.ref_update('routing-instance', obj.uuid, ref_name, ref[0], list(ref[1]), 'DELETE')
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 390, in ref_update
    content = self._request_server(rest.OP_POST, uri, data=json_body)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 364, in _request_server
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 1 url /ref-update body {"ref-type": "routing-instance", "uuid": "87824586-a47f-41be-bd3d-eea159c9f6fe", "ref-fq-name": ["default-domain", "TENANT_NAME", "snat-si-left_2e7ae472-6e87-417f-9bba-a104a8c69d8e", "service-79e3c66e-ef7e-4e72-b953-cdff067392b4-default-domain_TENANT_NAME_si_87b5560b-cfc0-4678-8770-2b493cd315d3_42ab7c94-5740-49e6-bd3f-40309389143d"], "ref-uuid": "14b5cdf1-678a-4e90-8ba3-84cd98b7d416", "operation": "DELETE", "type": "routing-instance", "attr": null} response Unknown id: ['87824586-a47f-41be-bd3d-eea159c9f6fe']

Tags: config
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/12422
Submitter: Édouard Thuleau (<email address hidden>)

Revision history for this message
Édouard Thuleau (ethuleau) wrote :

Another crash with 1.10 release:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3662, in launch_arc
    transformer.process_poll_result(result)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3493, in process_poll_result
    service_chain.destroy()
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 1773, in destroy
    vn1_obj.delete_routing_instance(service_ri1)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 670, in delete_routing_instance
    _vnc_lib.routing_instance_delete(ri.obj.get_fq_name())
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 5423, in routing_instance_delete
    content = self._request_server(rest.OP_DELETE, uri)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 364, in _request_server
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 4 url /routing-instance/5e3adfa3-1fdc-4355-a300-edf3f25298b8 body None response ID 5e3adfa3-1fdc-4355-a300-edf3f25298b8 does not exist

Sachin Bansal (sbansal)
Changed in opencontrail:
status: New → Fix Committed
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.