X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fnbi.py;h=46c7c9b5c21bbb78f711e4dd5858819f9ec43348;hp=3dd3348f520476b7a906beb3471b2010cc24ef8d;hb=e86317875d395c37b3ded147b554ced8a8115358;hpb=17d5b732835f010396a9df8b66382b24ecc77972 diff --git a/osm_nbi/nbi.py b/osm_nbi/nbi.py index 3dd3348..46c7c9b 100644 --- a/osm_nbi/nbi.py +++ b/osm_nbi/nbi.py @@ -815,6 +815,7 @@ class Server(object): outdata = self.engine.del_item_list(session, engine_topic, kwargs) cherrypy.response.status = HTTPStatus.OK.value else: # len(args) > 1 + delete_in_process = False if topic == "ns_instances_content" and not force: nslcmop_desc = { "lcmOperationType": "terminate", @@ -822,8 +823,10 @@ class Server(object): "autoremove": True } opp_id = self.engine.new_item(rollback, session, "nslcmops", nslcmop_desc, None) - outdata = {"_id": opp_id} - cherrypy.response.status = HTTPStatus.ACCEPTED.value + if opp_id: + delete_in_process = True + outdata = {"_id": opp_id} + cherrypy.response.status = HTTPStatus.ACCEPTED.value elif topic == "netslice_instances_content" and not force: nsilcmop_desc = { "lcmOperationType": "terminate", @@ -831,9 +834,11 @@ class Server(object): "autoremove": True } opp_id = self.engine.new_item(rollback, session, "nsilcmops", nsilcmop_desc, None) - outdata = {"_id": opp_id} - cherrypy.response.status = HTTPStatus.ACCEPTED.value - else: + if opp_id: + delete_in_process = True + outdata = {"_id": opp_id} + cherrypy.response.status = HTTPStatus.ACCEPTED.value + if not delete_in_process: self.engine.del_item(session, engine_topic, _id, force) cherrypy.response.status = HTTPStatus.NO_CONTENT.value if engine_topic in ("vim_accounts", "wim_accounts", "sdns"): @@ -875,7 +880,8 @@ class Server(object): self.engine.db.set_one(rollback_item["topic"], {"_id": rollback_item["_id"]}, rollback_item["content"], fail_on_empty=False) else: - self.engine.del_item(**rollback_item, session=session, force=True) + self.engine.db.del_one(rollback_item["topic"], {"_id": rollback_item["_id"]}, + fail_on_empty=False) except Exception as e2: rollback_error_text = "Rollback Exception {}: {}".format(rollback_item, e2) cherrypy.log(rollback_error_text)