Crucial clue from contrail-api log is
19505 if r_class:
19506 (ok, result) = r_class.http_post_collection(tenant_name, obj_dict, db_conn)
19507 if not ok:
19508 for fail_cleanup_callable, cleanup_args in cleanup_on_failure:
ok = 409
result = 'FQ Name: /fq-name-to-uuid/virtual_machine_interf...ady with ID: 12efc31a-da29-478a-905f-ed21db944c86'
So what has happened is VMI create was tried while another create with same name is in flight. Also timing is such that it wasn't existing at the http_post_common (which would have errored) but was present by the time dbe_alloc was called.
Bug is dbe_alloc is bailing with
1389 except ResourceExistsError as e:
1390 return (409, str(e))
Crucial clue from contrail-api log is http_post_ collection( tenant_ name, obj_dict, db_conn) callable, cleanup_args in cleanup_on_failure:
19505 if r_class:
19506 (ok, result) = r_class.
19507 if not ok:
19508 for fail_cleanup_
ok = 409 to-uuid/ virtual_ machine_ interf. ..ady with ID: 12efc31a- da29-478a- 905f-ed21db944c 86'
result = 'FQ Name: /fq-name-
So what has happened is VMI create was tried while another create with same name is in flight. Also timing is such that it wasn't existing at the http_post_common (which would have errored) but was present by the time dbe_alloc was called.
Bug is dbe_alloc is bailing with
1389 except ResourceExistsError as e:
1390 return (409, str(e))
instead of return (False, (409, str(e)))