Loading .gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST .my_venv/ # requirements.txt # removed to enable tracking versions of packages over time # PyInstaller Loading .gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ include: - local: '/src/kpi_value_writer/.gitlab-ci.yml' - local: '/src/telemetry/.gitlab-ci.yml' - local: '/src/analytics/.gitlab-ci.yml' - local: '/src/qos_profile/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml' manifests/qos_profileservice.yaml 0 → 100644 +101 −0 Original line number Diff line number Diff line # Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: qos-profileservice spec: selector: matchLabels: app: qos-profileservice #replicas: 1 template: metadata: annotations: config.linkerd.io/skip-outbound-ports: "4222" labels: app: qos-profileservice spec: terminationGracePeriodSeconds: 5 containers: - name: server image: labs.etsi.org:5050/tfs/controller/qos_profile:latest imagePullPolicy: Always ports: - containerPort: 20040 - containerPort: 9192 env: - name: LOG_LEVEL value: "INFO" - name: CRDB_DATABASE value: "tfs_qos_profile" envFrom: - secretRef: name: crdb-data readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:20040"] livenessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:20040"] resources: requests: cpu: 250m memory: 128Mi limits: cpu: 1000m memory: 1024Mi --- apiVersion: v1 kind: Service metadata: name: qos-profileservice labels: app: qos-profileservice spec: type: ClusterIP selector: app: qos-profileservice ports: - name: grpc protocol: TCP port: 20040 targetPort: 20040 - name: metrics protocol: TCP port: 9192 targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: qos-profileservice-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: qos-profileservice minReplicas: 1 maxReplicas: 20 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 my_deploy.sh +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,9 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_gene # Uncomment to activate Monitoring Framework (new) #export TFS_COMPONENTS="${TFS_COMPONENTS} kpi_manager kpi_value_writer kpi_value_api telemetry analytics automation" # Uncomment to activate QoS Profiles #export TFS_COMPONENTS="${TFS_COMPONENTS} qos_profile" # Uncomment to activate BGP-LS Speaker #export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker" Loading proto/context.proto +12 −1 Original line number Diff line number Diff line Loading @@ -536,7 +536,7 @@ message Constraint_Custom { } message Constraint_Schedule { float start_timestamp = 1; double start_timestamp = 1; float duration_days = 2; } Loading Loading @@ -599,6 +599,16 @@ message Constraint_Exclusions { repeated LinkId link_ids = 4; } message QoSProfileId { context.Uuid qos_profile_id = 1; } message Constraint_QoSProfile { QoSProfileId qos_profile_id = 1; string qos_profile_name = 2; } message Constraint { ConstraintActionEnum action = 1; oneof constraint { Loading @@ -611,6 +621,7 @@ message Constraint { Constraint_SLA_Availability sla_availability = 8; Constraint_SLA_Isolation_level sla_isolation = 9; Constraint_Exclusions exclusions = 10; Constraint_QoSProfile qos_profile = 11; } } Loading Loading
.gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST .my_venv/ # requirements.txt # removed to enable tracking versions of packages over time # PyInstaller Loading
.gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ include: - local: '/src/kpi_value_writer/.gitlab-ci.yml' - local: '/src/telemetry/.gitlab-ci.yml' - local: '/src/analytics/.gitlab-ci.yml' - local: '/src/qos_profile/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml'
manifests/qos_profileservice.yaml 0 → 100644 +101 −0 Original line number Diff line number Diff line # Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: qos-profileservice spec: selector: matchLabels: app: qos-profileservice #replicas: 1 template: metadata: annotations: config.linkerd.io/skip-outbound-ports: "4222" labels: app: qos-profileservice spec: terminationGracePeriodSeconds: 5 containers: - name: server image: labs.etsi.org:5050/tfs/controller/qos_profile:latest imagePullPolicy: Always ports: - containerPort: 20040 - containerPort: 9192 env: - name: LOG_LEVEL value: "INFO" - name: CRDB_DATABASE value: "tfs_qos_profile" envFrom: - secretRef: name: crdb-data readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:20040"] livenessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:20040"] resources: requests: cpu: 250m memory: 128Mi limits: cpu: 1000m memory: 1024Mi --- apiVersion: v1 kind: Service metadata: name: qos-profileservice labels: app: qos-profileservice spec: type: ClusterIP selector: app: qos-profileservice ports: - name: grpc protocol: TCP port: 20040 targetPort: 20040 - name: metrics protocol: TCP port: 9192 targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: qos-profileservice-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: qos-profileservice minReplicas: 1 maxReplicas: 20 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30
my_deploy.sh +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,9 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_gene # Uncomment to activate Monitoring Framework (new) #export TFS_COMPONENTS="${TFS_COMPONENTS} kpi_manager kpi_value_writer kpi_value_api telemetry analytics automation" # Uncomment to activate QoS Profiles #export TFS_COMPONENTS="${TFS_COMPONENTS} qos_profile" # Uncomment to activate BGP-LS Speaker #export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker" Loading
proto/context.proto +12 −1 Original line number Diff line number Diff line Loading @@ -536,7 +536,7 @@ message Constraint_Custom { } message Constraint_Schedule { float start_timestamp = 1; double start_timestamp = 1; float duration_days = 2; } Loading Loading @@ -599,6 +599,16 @@ message Constraint_Exclusions { repeated LinkId link_ids = 4; } message QoSProfileId { context.Uuid qos_profile_id = 1; } message Constraint_QoSProfile { QoSProfileId qos_profile_id = 1; string qos_profile_name = 2; } message Constraint { ConstraintActionEnum action = 1; oneof constraint { Loading @@ -611,6 +621,7 @@ message Constraint { Constraint_SLA_Availability sla_availability = 8; Constraint_SLA_Isolation_level sla_isolation = 9; Constraint_Exclusions exclusions = 10; Constraint_QoSProfile qos_profile = 11; } } Loading