)
def _check_heal_ns_operation(self, indata, nsr):
- return
+ try:
+ for data in indata.get("healVnfData"):
+ vnf_id = data.get("vnfInstanceId")
+ vnf = self.db.get_one("vnfrs", {"_id": vnf_id})
+ vnfd_member_vnf_index = vnf.get("member-vnf-index-ref")
+ vnfd = self._get_vnfd_from_vnf_member_index(
+ vnfd_member_vnf_index, nsr["_id"]
+ )
+ if data.get("additionalParams"):
+ vdu_id = data["additionalParams"].get("vdu")
+ if vdu_id:
+ for index in range(len(vdu_id)):
+ vdu = vdu_id[index].get("vdu-id")
+ self._check_valid_vdu(vnfd, vdu)
+ except (DbException, AttributeError, IndexError, KeyError, ValueError) as e:
+ raise type(e)(
+ "Ns healing request could not be processed with error: {}.".format(e)
+ )
def _check_instantiate_ns_operation(self, indata, nsr, session):
vnf_member_index_to_vnfd = {} # map between vnf_member_index to vnf descriptor.