Exemple #1
0
    def save_fencing_details_fordwm(self, node_id, fence_det):
        #from stackone.model.LicenseManager import  check_platform_expire_date
        try:
            managed_node = DBSession.query(ManagedNode).filter(ManagedNode.id == node_id).first()
            ret,msg = check_platform_expire_date(managed_node.get_platform())
            if ret == False:
                raise Exception(msg)
            
            fence_det = json.loads(fence_det)
            fence_details = fence_det.get('fence_details')
            entity_id = node_id
            fence_details = eval(fence_details)
            hare_det = DBSession.query(HAEntityResource).filter(HAEntityResource.entity_id == entity_id).all()
            resids = [hare.id for hare in hare_det]
            for fen in fence_details:
                resource_id = fen.get('id')
                order = 1
                haer = HAEntityResource(entity_id, resource_id, order)
                param_list = fen.get('params')
                for param in param_list:
                    name = param.get('attribute')
                    value = param.get('value')
                    type1 = param.get('type')
                    field = param.get('field')
                    field_datatype = param.get('field_datatype')
                    sequence = param.get('sequence')
                    is_environ = eval(param.get('is_environ'))
                    haerp = HAEntityResourceParam(name, value, type1, field, field_datatype, sequence, is_environ)
                    haer.params.append(haerp)
                    
                DBSession.add(haer)
            
            DBSession.query(HAEntityResource).filter(HAEntityResource.id.in_(resids)).delete()
            DBSession.query(HAEntityResourceParam).filter(HAEntityResourceParam.entity_resource_id.in_(resids)).delete()

        except Exception as ex:
            print_traceback()
            return dict(success=False, msg=to_str(ex))

        return dict(success=True, result='success')
Exemple #2
0
 def get_vnc_info(self, dom, address):
     from stackone.model.LicenseManager import check_platform_expire_date
     ret,msg = check_platform_expire_date(self.get_platform())
     if ret == False:
         raise Exception(msg)
     return self._get_vnc_info(dom, address)