+ def do_notify(self, res_type, ret):
+ logger.info('creating [%s] resource' % res_type)
+ # progress = 20 + int(progress/2) # 20-70
+ if res_type == adaptor.RES_VOLUME:
+ logger.info('Create vloumns!')
+ # if ret["returnCode"] == adaptor.RES_NEW: # new create
+ # self.inst_resource['volumn'].append({"vim_id": ignore_case_get(ret, "vim_id"),
+ # "res_id": ignore_case_get(ret, "res_id")})
+ JobUtil.add_job_status(self.job_id, 25, 'Create vloumns!')
+ StorageInstModel.objects.create(
+ storageid=ret["id"],
+ vimid=ret["vimId"],
+ resouceid=ret["id"],
+ name=ret["name"],
+ tenant=ret["tenantId"],
+ insttype=0,
+ is_predefined=ret["returnCode"],
+ instid=self.nf_inst_id)
+ elif res_type == adaptor.RES_NETWORK:
+ logger.info('Create networks!')
+ # if ret["returnCode"] == adaptor.RES_NEW:
+ # self.inst_resource['network'].append({"vim_id": ignore_case_get(ret, "vim_id"),
+ # "res_id": ignore_case_get(ret, "res_id")})
+ # self.inst_resource['network'].append({"vim_id": "1"}, {"res_id": "2"})
+ JobUtil.add_job_status(self.job_id, 35, 'Create networks!')
+ NetworkInstModel.objects.create(
+ networkid= ignore_case_get(ret, "id"),
+ vimid = ignore_case_get(ret, "vimId"),
+ resouceid = ignore_case_get(ret, "id"),
+ name = ignore_case_get(ret, "name"),
+ tenant = ignore_case_get(ret, "tenatId"),
+ insttype = 0,
+ is_predefined = ignore_case_get(ret, "returnCode"),
+ instid = self.nf_inst_id)
+ elif res_type == adaptor.RES_SUBNET:
+ logger.info('Create subnets!')
+ # if ret["returnCode"] == adaptor.RES_NEW:
+ # self.inst_resource['subnet'].append({"vim_id": ignore_case_get(ret, "vim_id"),
+ # "res_id": ignore_case_get(ret, "res_id")})
+ # self.inst_resource['subnet'].append({"vim_id": "1"}, {"res_id": "2"})
+ JobUtil.add_job_status(self.job_id, 40, 'Create subnets!')
+ SubNetworkInstModel.objects.create(
+ subnetworkid=ret["id"],
+ vimid=ret["vimId"],
+ resouceid=ret["id"],
+ name=ret["name"],
+ tenant=ret["tenatId"],
+ insttype=0,
+ is_predefined=ret["returnCode"],
+ instid=self.nf_inst_id)
+ elif res_type == adaptor.RES_PORT:
+ logger.info('Create ports!')
+ # if ret["returnCode"] == adaptor.RES_NEW:
+ # self.inst_resource['port'].append({"vim_id": ignore_case_get(ret, "vim_id"),
+ # "res_id": ignore_case_get(ret, "res_id")})
+ # self.inst_resource['port'].append({"vim_id": "1"}, {"res_id": "2"})
+ JobUtil.add_job_status(self.job_id, 50, 'Create ports!')
+ PortInstModel.objects.create(
+ portid=ret["id"],
+ networkid=ret["networkId"],
+ subnetworkid=ret["subnetId"],
+ vimid=ret["vimId"],
+ resouceid=ret["id"],
+ name=ret["name"],
+ tenant=ret["tenatId"],
+ insttype=0,
+ is_predefined=ret["returnCode"],
+ instid=self.nf_inst_id)
+ elif res_type == adaptor.RES_FLAVOR:
+ logger.info('Create flavors!')
+ # if ret["returnCode"] == adaptor.RES_NEW:
+ # self.inst_resource['flavor'].append({"vim_id": ignore_case_get(ret, "vim_id"),
+ # "res_id": ignore_case_get(ret, "res_id")})
+ # self.inst_resource['flavor'].append({"vim_id": "1"}, {"res_id": "2"})
+ JobUtil.add_job_status(self.job_id, 60, 'Create flavors!')
+ FlavourInstModel.objects.create(
+ falavourid=ret["id"],
+ name=ret["name"],
+ vcpu=ret["vcpu"],
+ memory=ret["memory"],
+ extraspecs=ret["extraSpecs"],
+ is_predefined=ret["returnCode"],
+ tenant=ret["tenatId"],
+ vimid=ret["vimId"],
+ instid=self.nf_inst_id)
+ elif res_type == adaptor.RES_VM:
+ logger.info('Create vms!')
+ # if ret["returnCode"] == adaptor.RES_NEW:
+ # self.inst_resource['vm'].append({"vim_id": ignore_case_get(ret, "vim_id"),
+ # "res_id": ignore_case_get(ret, "res_id")})
+ # self.inst_resource['vm'].append({"vim_id": "1"}, {"res_id": "2"})
+ JobUtil.add_job_status(self.job_id, 70, 'Create vms!')
+ VmInstModel.objects.create(
+ vmid=ret["id"],
+ vimid=ret["vimId"],
+ resouceid=ret["id"],
+ insttype=0,
+ instid=self.nf_inst_id,
+ vmname=ret["name"],
+ is_predefined=ret["returnCode"])
+
+ # def do_rollback(self, args_=None):
+ # logger.error('error info : %s' % args_)
+ # adaptor.delete_vim_res(self.inst_resource, self.do_notify_delete)
+ # logger.error('rollback resource complete')
+ #
+ # StorageInstModel.objects.filter(instid=self.nf_inst_id).delete()
+ # NetworkInstModel.objects.filter(instid=self.nf_inst_id).delete()
+ # SubNetworkInstModel.objects.filter(instid=self.nf_inst_id).delete()
+ # PortInstModel.objects.filter(instid=self.nf_inst_id).delete()
+ # FlavourInstModel.objects.filter(instid=self.nf_inst_id).delete()
+ # VmInstModel.objects.filter(instid=self.nf_inst_id).delete()
+ # logger.error('delete table complete')
+ # raise NFLCMException("Create resource failed")
+ #
+ # def do_notify_delete(self, ret):
+ # logger.error('Deleting [%s] resource' % ret)
+
+ def checkParameterExist(self):
+ # if ignore_case_get(self.data, "flavourId") not in self.vnfd_info:
+ # raise NFLCMException('Input parameter is not defined in vnfd_info.')
+ pass