Loading deploy/tfs.sh +11 −0 Original line number Diff line number Diff line Loading @@ -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 Loading manifests/qos_profileservice.yaml +4 −1 Original line number Diff line number Diff line Loading @@ -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"] Loading my_deploy.sh +2 −1 Original line number Diff line number Diff line Loading @@ -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" Loading proto/context.proto +7 −56 Original line number Diff line number Diff line Loading @@ -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 ) {} Loading Loading @@ -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; Loading Loading @@ -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 { Loading proto/qos_profile.proto +42 −6 Original line number Diff line number Diff line Loading @@ -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
deploy/tfs.sh +11 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
manifests/qos_profileservice.yaml +4 −1 Original line number Diff line number Diff line Loading @@ -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"] Loading
my_deploy.sh +2 −1 Original line number Diff line number Diff line Loading @@ -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" Loading
proto/context.proto +7 −56 Original line number Diff line number Diff line Loading @@ -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 ) {} Loading Loading @@ -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; Loading Loading @@ -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 { Loading
proto/qos_profile.proto +42 −6 Original line number Diff line number Diff line Loading @@ -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 ) {} }