feat: add recalculatePath as action to Policy

Added the recalculatePath as an available action to the Policy component. Various fixes in the Policy component.

Merge request reports

Loading
+2 −0
Changes for proto/policy_action.proto: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ enum PolicyRuleActionEnum {
  POLICYRULE_ACTION_SET_DEVICE_STATUS = 1;
  POLICYRULE_ACTION_ADD_SERVICE_CONFIGRULE = 2;
  POLICYRULE_ACTION_ADD_SERVICE_CONSTRAINT = 3;
  POLICY_RULE_ACTION_CALL_SERVICE_RPC = 4;
  POLICY_RULE_ACTION_RECALCULATE_PATH = 5;
}

// Action configuration
+3 −1
Changes for src/policy/src/main/java/eu/teraflow/policy/context/model/ServiceStatusEnum.java: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -20,5 +20,7 @@ public enum ServiceStatusEnum {
    UNDEFINED,
    PLANNED,
    ACTIVE,
    PENDING_REMOVAL
    PENDING_REMOVAL,
    SLA_VIOLATED,
    UPDATING
}
+4 −1
Changes for src/policy/src/main/java/eu/teraflow/policy/model/PolicyRuleActionEnum.java: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -20,5 +20,8 @@ public enum PolicyRuleActionEnum {
    POLICY_RULE_ACTION_NO_ACTION,
    POLICY_RULE_ACTION_SET_DEVICE_STATUS,
    POLICY_RULE_ACTION_ADD_SERVICE_CONFIGRULE,
    POLICY_RULE_ACTION_ADD_SERVICE_CONSTRAINT
    POLICY_RULE_ACTION_ADD_SERVICE_CONSTRAINT,
    POLICY_RULE_ACTION_CALL_SERVICE_RPC,
    // This is temporary
    POLICY_RULE_ACTION_RECALCULATE_PATH
}
+1 −0
Changes for src/policy/src/main/java/eu/teraflow/policy/monitoring/model/AlarmSubscription.java: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ public class AlarmSubscription {
    private final float subscriptionTimeoutS;
    private final float subscriptionFrequencyMs;

    // TODO: Refactor the AlarmSubscription constructor to allow infinite subscriptionTimeoutS
    public AlarmSubscription(
            String alarmId, float subscriptionTimeoutS, float subscriptionFrequencyMs) {
        this.alarmId = alarmId;
+3 −0
Changes for src/policy/src/main/java/eu/teraflow/policy/service/ServiceGateway.java: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package eu.teraflow.policy.service;

import eu.teraflow.policy.context.model.Empty;
import eu.teraflow.policy.context.model.Service;
import eu.teraflow.policy.context.model.ServiceId;
import io.smallrye.mutiny.Uni;
@@ -23,4 +24,6 @@ import io.smallrye.mutiny.Uni;
public interface ServiceGateway {

    Uni<ServiceId> updateService(Service service);

    Uni<Empty> recomputeConnections(Service service);
}
Loading
Loading