Commit 0c5c6807 authored by Shayan Hajipour's avatar Shayan Hajipour
Browse files

feat: Move QoSProfile OPs form context to qos_profile module.

parent 4c479a1b
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -159,6 +159,17 @@ kubectl create secret generic crdb-kpi-data --namespace ${TFS_K8S_NAMESPACE} --t
    --from-literal=CRDB_SSLMODE=require
printf "\n"

echo "Create secret with CockroachDB data for QoSProfile"
CRDB_DATABASE_QoSProfile="tfs_qos_profile"  # TODO: change by specific configurable environment variable
kubectl create secret generic crdb-qos-profile-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \
    --from-literal=CRDB_NAMESPACE=${CRDB_NAMESPACE} \
    --from-literal=CRDB_SQL_PORT=${CRDB_SQL_PORT} \
    --from-literal=CRDB_DATABASE=${CRDB_DATABASE_QoSProfile} \
    --from-literal=CRDB_USERNAME=${CRDB_USERNAME} \
    --from-literal=CRDB_PASSWORD=${CRDB_PASSWORD} \
    --from-literal=CRDB_SSLMODE=require
printf "\n"

echo "Create secret with NATS data"
NATS_CLIENT_PORT=$(kubectl --namespace ${NATS_NAMESPACE} get service ${NATS_NAMESPACE} -o 'jsonpath={.spec.ports[?(@.name=="client")].port}')
if [ -z "$NATS_CLIENT_PORT" ]; then
+4 −1
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@ spec:
          env:
            - name: LOG_LEVEL
              value: "INFO"
          envFrom:
            - secretRef:
                name: crdb-qos-profile-data
          readinessProbe:
            exec:
              command: ["/bin/grpc_health_probe", "-addr=:30060"]
+2 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@
export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/"

# Set the list of components, separated by spaces, you want to build images for, and deploy.
export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_generator"
# export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_generator qos_profile"
export TFS_COMPONENTS="context device pathcomp service nbi qos_profile"

# Uncomment to activate Monitoring (old)
#export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring"
+7 −56
Original line number Diff line number Diff line
@@ -68,12 +68,6 @@ service ContextService {
  rpc GetSliceEvents     (Empty         ) returns (stream SliceEvent      ) {}
  rpc SelectSlice        (SliceFilter   ) returns (       SliceList       ) {}

  rpc CreateQoSProfile   (QoSProfile    ) returns (         QoSProfile    ) {}
  rpc UpdateQoSProfile   (QoSProfile    ) returns (         QoSProfile    ) {}
  rpc DeleteQoSProfile   (QoSProfileId  ) returns (         Empty         ) {}
  rpc GetQoSProfile      (QoSProfileId  ) returns (         QoSProfile    ) {}
  rpc GetQoSProfiles     (Empty         ) returns (stream   QoSProfile    ) {}

  rpc ListConnectionIds  (ServiceId     ) returns (       ConnectionIdList) {}
  rpc ListConnections    (ServiceId     ) returns (       ConnectionList  ) {}
  rpc GetConnection      (ConnectionId  ) returns (       Connection      ) {}
@@ -408,43 +402,6 @@ message SliceEvent {
  SliceId slice_id = 2;
}


// ----- QoSProfile ----------------------------------------------------------------------------------------------------
message QoSProfileId {
  Uuid qos_profile_id = 1;
}

message QoSProfileValueUnitPair {
  int32 value = 1;
  string unit = 2;
}

message QoDConstraintsRequest {
  QoSProfileId qos_profile_id = 1;
  double start_timestamp = 2;
  float duration = 3;
}

message QoSProfile {
  QoSProfileId qos_profile_id = 1;
  string name = 2;
  string description = 3;
  string status = 4;
  QoSProfileValueUnitPair targetMinUpstreamRate = 5;
  QoSProfileValueUnitPair maxUpstreamRate = 6;
  QoSProfileValueUnitPair maxUpstreamBurstRate = 7;
  QoSProfileValueUnitPair targetMinDownstreamRate = 8;
  QoSProfileValueUnitPair maxDownstreamRate = 9;
  QoSProfileValueUnitPair maxDownstreamBurstRate = 10;
  QoSProfileValueUnitPair minDuration = 11;
  QoSProfileValueUnitPair maxDuration = 12;
  int32 priority = 13;
  QoSProfileValueUnitPair packetDelayBudget = 14;
  QoSProfileValueUnitPair jitter = 15;
  int32 packetErrorLossRate = 16;
}


// ----- Connection ----------------------------------------------------------------------------------------------------
message ConnectionId {
  Uuid connection_uuid = 1;
@@ -640,20 +597,14 @@ message Constraint_Exclusions {
  repeated LinkId link_ids = 4;
}

message Constraint_QoSProfile {
  QoSProfileValueUnitPair target_min_upstream_rate = 1;
  QoSProfileValueUnitPair max_upstream_rate = 2;
  QoSProfileValueUnitPair max_upstream_burst_rate = 3;
  QoSProfileValueUnitPair target_min_downstream_rate = 4;
  QoSProfileValueUnitPair max_downstream_rate = 5;
  QoSProfileValueUnitPair max_downstream_burst_rate = 6;
  QoSProfileValueUnitPair min_duration = 7;
  QoSProfileValueUnitPair max_duration = 8;
  int32 priority = 9;
  QoSProfileValueUnitPair packet_delay_budget = 10;
  QoSProfileValueUnitPair jitter = 11;
  int32 packet_error_loss_rate = 12;

message QoSProfileId {
  context.Uuid qos_profile_id = 1;
}

message Constraint_QoSProfile {
  QoSProfileId qos_profile_id = 1;
  string qos_profile_name = 2;
}

message Constraint {
+42 −6
Original line number Diff line number Diff line
@@ -17,11 +17,47 @@ package qos_profile;

import "context.proto";


message QoSProfileId {
  context.Uuid qos_profile_id = 1;
}

message QoSProfileValueUnitPair {
  int32 value = 1;
  string unit = 2;
}

message QoDConstraintsRequest {
  QoSProfileId qos_profile_id = 1;
  double start_timestamp = 2;
  float duration = 3;
}

message QoSProfile {
  QoSProfileId qos_profile_id = 1;
  string name = 2;
  string description = 3;
  string status = 4;
  QoSProfileValueUnitPair targetMinUpstreamRate = 5;
  QoSProfileValueUnitPair maxUpstreamRate = 6;
  QoSProfileValueUnitPair maxUpstreamBurstRate = 7;
  QoSProfileValueUnitPair targetMinDownstreamRate = 8;
  QoSProfileValueUnitPair maxDownstreamRate = 9;
  QoSProfileValueUnitPair maxDownstreamBurstRate = 10;
  QoSProfileValueUnitPair minDuration = 11;
  QoSProfileValueUnitPair maxDuration = 12;
  int32 priority = 13;
  QoSProfileValueUnitPair packetDelayBudget = 14;
  QoSProfileValueUnitPair jitter = 15;
  int32 packetErrorLossRate = 16;
}


service QoSProfileService {
  rpc CreateQoSProfile                (context.QoSProfile           ) returns (context.QoSProfile         ) {}
  rpc UpdateQoSProfile                (context.QoSProfile           ) returns (context.QoSProfile         ) {}
  rpc DeleteQoSProfile                (context.QoSProfileId         ) returns (context.Empty              ) {}
  rpc GetQoSProfile                   (context.QoSProfileId         ) returns (context.QoSProfile         ) {}
  rpc GetQoSProfiles                  (context.Empty                ) returns (stream context.QoSProfile  ) {}
  rpc GetConstraintListFromQoSProfile (context.QoDConstraintsRequest) returns (stream context.Constraint  ) {}
  rpc CreateQoSProfile                (QoSProfile           ) returns (QoSProfile         ) {}
  rpc UpdateQoSProfile                (QoSProfile           ) returns (QoSProfile         ) {}
  rpc DeleteQoSProfile                (QoSProfileId         ) returns (context.Empty              ) {}
  rpc GetQoSProfile                   (QoSProfileId         ) returns (QoSProfile         ) {}
  rpc GetQoSProfiles                  (context.Empty                ) returns (stream QoSProfile  ) {}
  rpc GetConstraintListFromQoSProfile (QoDConstraintsRequest) returns (stream context.Constraint  ) {}
}
Loading