def _validate_alarming_policy(self, context, policy): vnf_id = policy['vnf']['id'] # validate policy type type = policy['type'] if type not in constants.POLICY_ALARMING: raise exceptions.VnfPolicyTypeInvalid( type=type, valid_types=constants.POLICY_ALARMING, policy=policy['id'] ) # validate alarm status if not self._vnf_alarm_monitor.process_alarm_for_vnf(policy): raise exceptions.AlarmUrlInvalid(vnf_id=vnf_id) # validate policy action action = policy['action_name'] policy_ = None if action not in (constants.DEFAULT_ALARM_ACTIONS + constants.CLUSTER_ALARM_ACTIONS): policy_ = self.get_vnf_policy(context, action, vnf_id) if not policy_: raise exceptions.VnfPolicyNotFound( vnf_id=action, policy=policy['id'] ) LOG.debug(_("Policy %s is validated successfully") % policy) return policy_
def get_vnf_policy_by_type(self, context, vnf_id, policy_type=None, fields=None): # noqa policies = self.get_vnf_policies(context, vnf_id, filters={'type': policy_type}) if policies: return policies[0] raise exceptions.VnfPolicyTypeInvalid(type=constants.POLICY_ALARMING, vnf_id=vnf_id)
def get_vnf_policy_by_type(self, context, vnf_id, policy_type=None, fields=None): # noqa policies = self.get_vnf_policies(context, vnf_id, filters={'type': policy_type}) if policies: return policies[0] raise exceptions.VnfPolicyTypeInvalid( type=policy_type, policy=None, valid_types=constants.VALID_POLICY_TYPES)
def _validate_scaling_policy(): type = policy['type'] if type not in constants.POLICY_ACTIONS.keys(): raise exceptions.VnfPolicyTypeInvalid( type=type, valid_types=constants.POLICY_ACTIONS.keys(), policy=policy['id']) action = policy['action'] if action not in constants.POLICY_ACTIONS[type]: raise exceptions.VnfPolicyActionInvalid( action=action, valid_actions=constants.POLICY_ACTIONS[type], policy=policy['id']) LOG.debug(_("Policy %s is validated successfully"), policy['id'])