Пример #1
0
 def _get_vnf_db(self, context, vnf_id, current_statuses, new_status):
     try:
         vnf_db = (self._model_query(context, VNF).filter(
             VNF.id == vnf_id).filter(VNF.status.in_(
                 current_statuses)).with_lockmode('update').one())
     except orm_exc.NoResultFound:
         raise vnfm.VNFNotFound(vnf_id=vnf_id)
     if vnf_db.status == constants.PENDING_UPDATE:
         raise vnfm.VNFInUse(vnf_id=vnf_id)
     vnf_db.update({'status': new_status})
     return vnf_db
Пример #2
0
 def _get_resource(self, context, model, id):
     try:
         return self._get_by_id(context, model, id)
     except orm_exc.NoResultFound:
         if issubclass(model, VNFD):
             raise vnfm.VNFDNotFound(vnfd_id=id)
         elif issubclass(model, ServiceType):
             raise vnfm.ServiceTypeNotFound(service_type_id=id)
         if issubclass(model, VNF):
             raise vnfm.VNFNotFound(vnf_id=id)
         else:
             raise
Пример #3
0
 def _get_vnf_db(self, context, vnf_id, current_statuses, new_status):
     try:
         vnf_db = (self._model_query(context, VNF).filter(
             VNF.id == vnf_id).filter(VNF.status.in_(
                 current_statuses)).with_lockmode('update').one())
     except orm_exc.NoResultFound:
         raise vnfm.VNFNotFound(vnf_id=vnf_id)
     if vnf_db.status == constants.PENDING_DELETE:
         error_reason = _("Operation on PENDING_DELETE VNF "
                          "is not permited. Please contact your "
                          "Administrator.")
         raise vnfm.VNFDeleteFailed(reason=error_reason)
     if vnf_db.status == constants.PENDING_UPDATE:
         raise vnfm.VNFInUse(vnf_id=vnf_id)
     # TODO(dkushwaha): status check/update will be moved out from here.
     vnf_db.update({'status': new_status})
     return vnf_db
    def vnf_respawning_event(self, context, vnf_id):
        LOG.debug('vnf respawning event called sucesfully: %s', vnf_id)
        vnf = None
        with context.session.begin(subtransactions=True):
            try:
                query = context.session.query(
                    vnfm_db.VNF).filter_by(id=vnf_id).first()
                LOG.info('log: query is %s', query)  ###
                status = query['status']
                LOG.info('log: VNF status is %s', status)  ###

                #query = context.session.query(vnfm_db.VNF)
                #vnf = query.filter(vnfm_db.VNF.id == vnf_id).filter(
                #    vnfm_db.VNF.status.in_(constants.ACTIVE)).one() # To be constants.PENDING_CREATE
            except orm_exc.NoResultFound:
                raise vnfm.VNFNotFound(vnf_id=vnf_id)

        return status