From baeb79abd6ffb53050cdf54a25740d7889eff04a Mon Sep 17 00:00:00 2001 From: fengyuanxing Date: Thu, 21 Sep 2017 16:32:44 +0800 Subject: [PATCH] Add code to get vdu id Change-Id: I07128968718db4dc784a29be8a5456b3576a55eb Issue-Id: VFC-412 Signed-off-by: fengyuanxing --- lcm/ns/vnfs/heal_vnfs.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lcm/ns/vnfs/heal_vnfs.py b/lcm/ns/vnfs/heal_vnfs.py index f17be258..ce847955 100644 --- a/lcm/ns/vnfs/heal_vnfs.py +++ b/lcm/ns/vnfs/heal_vnfs.py @@ -19,7 +19,7 @@ import traceback from lcm.ns.vnfs.const import VNF_STATUS from lcm.ns.vnfs.wait_job import wait_job_finish -from lcm.pub.database.models import NfInstModel +from lcm.pub.database.models import NfInstModel, VNFCInstModel from lcm.pub.exceptions import NSLCMException from lcm.pub.msapi.vnfmdriver import send_nf_heal_request from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE, JOB_MODEL_STATUS @@ -82,8 +82,8 @@ class NFHealService(threading.Thread): actionvminfo = ignore_case_get(self.nf_additional_params, 'actionvminfo') vmid = ignore_case_get(actionvminfo, 'vmid') vmname = ignore_case_get(actionvminfo, 'vmname') - # TODO(sshank): Find how to get 'vduid' - vduid = "" + # Gets vduid + vduid = self.get_vudId(vmid) self.nf_heal_params = { "action": action, @@ -104,6 +104,13 @@ class NFHealService(threading.Thread): logger.error('[NF heal] nf heal failed') raise NSLCMException("nf heal failed") + # Gets vdu id according to the given vm id. + def get_vudId(self, vmId): + vnfcInstance = VNFCInstModel.objects.filter(vmid = vmId).first() + if not vnfcInstance: + raise NSLCMException('VDU [vmid=%s] does not exist' % self.vmId) + return vnfcInstance.vduid + def update_job(self, progress, desc=''): JobUtil.add_job_status(self.job_id, progress, desc) -- 2.16.6