Commit 4890620f authored by Francisco-Javier Moreno-Muro's avatar Francisco-Javier Moreno-Muro
Browse files

Merge branch 'feat/monitoring-service' into 'develop'

See merge request teraflow-h2020/controller!44
parents 8f83279b 6ece7c73
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -8,18 +8,16 @@ stages:
  - deploy
  - funct_test


# include the individual .gitlab-ci.yml of each micro-service
include: 
  - local: '/manifests/.gitlab-ci.yml'
#  - local: '/manifests/.gitlab-ci.yml'
  - local: '/src/monitoring/.gitlab-ci.yml'
  - local: '/src/centralizedattackdetector/.gitlab-ci.yml'
  - local: '/src/context/.gitlab-ci.yml'
  - local: '/src/device/.gitlab-ci.yml'
  - local: '/src/service/.gitlab-ci.yml'
  - local: '/src/tester_integration/.gitlab-ci.yml'
  - local: '/src/tester_functional/.gitlab-ci.yml'
  - local: '/src/automation/.gitlab-ci.yml'
  - local: '/src/policy/.gitlab-ci.yml'
  - local: '/src/l3_distributedattackdetector/.gitlab-ci.yml'
  - local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml'
  - local: '/src/l3_attackmitigator/.gitlab-ci.yml'
#  - local: '/src/centralizedattackdetector/.gitlab-ci.yml'
#  - local: '/src/context/.gitlab-ci.yml'
#  - local: '/src/device/.gitlab-ci.yml'
#  - local: '/src/service/.gitlab-ci.yml'
#  - local: '/src/tester_integration/.gitlab-ci.yml'
#  - local: '/src/tester_functional/.gitlab-ci.yml'
#  - local: '/src/automation/.gitlab-ci.yml'
  
+2 −2
Original line number Diff line number Diff line
syntax = "proto3";
package context;

//import "kpi_sample_types.proto";
import "kpi_sample_types.proto";

service ContextService {
  rpc ListContextIds   (Empty     ) returns (       ContextIdList ) {}
@@ -243,7 +243,6 @@ message EndPointId {
message EndPoint {
  EndPointId endpoint_id = 1;
  string endpoint_type = 2;
  //repeated kpi_sample_types.KpiSampleType kpi_sample_types = 3;
}


@@ -258,6 +257,7 @@ message ConfigRule {
  ConfigActionEnum action = 1;
  string resource_key = 2;
  string resource_value = 3;
  kpi_sample_types.KpiSampleType kpi_sample_type = 4;
}


+8 −8
Original line number Diff line number Diff line
@@ -2,19 +2,19 @@ syntax = "proto3";
package device;

import "context.proto";
//import "monitoring.proto";
import "monitoring.proto";

service DeviceService {
  rpc AddDevice       (context.Device    ) returns (context.DeviceId    ) {}
  rpc ConfigureDevice (context.Device    ) returns (context.DeviceId    ) {}
  rpc DeleteDevice    (context.DeviceId  ) returns (context.Empty       ) {}
  rpc GetInitialConfig(context.DeviceId  ) returns (context.DeviceConfig) {}
  //rpc MonitorDeviceKpi(MonitoringSettings) returns (context.Empty       ) {}
  rpc MonitorDeviceKpi(MonitoringSettings) returns (context.Empty       ) {}
}

//message MonitoringSettings {
//  monitoring.KpiId kpi_id = 1;
//  monitoring.KpiDescriptor kpi_descriptor = 2;
//  float sampling_duration_s = 3;
//  float sampling_interval_s = 4;
//}
message MonitoringSettings {
  monitoring.KpiId kpi_id = 1;
  monitoring.KpiDescriptor kpi_descriptor = 2;
  float sampling_duration_s = 3;
  float sampling_interval_s = 4;
}
+8 −8
Original line number Diff line number Diff line
syntax = "proto3";
//package kpi_sample_types;
package kpi_sample_types;

//enum KpiSampleType {
//    UNKNOWN = 0;
//    PACKETS_TRANSMITTED = 101;
//    PACKETS_RECEIVED    = 102;
//    BYTES_TRANSMITTED   = 201;
//    BYTES_RECEIVED      = 202;
//}
enum KpiSampleType {
    UNKNOWN = 0;
    PACKETS_TRANSMITTED = 101;
    PACKETS_RECEIVED    = 102;
    BYTES_TRANSMITTED   = 201;
    BYTES_RECEIVED      = 202;
}
+22 −74
Original line number Diff line number Diff line
@@ -2,68 +2,30 @@ syntax = "proto3";
package monitoring;

import "context.proto";
//import "kpi_sample_types.proto";
import "kpi_sample_types.proto";

service MonitoringService {
  // Old RPCs:
  rpc CreateKpi (CreateKpiRequest) returns (KpiId) {}
  rpc IncludeKpi (IncludeKpiRequest) returns (context.Empty) {}
  rpc CreateKpi       (KpiDescriptor    ) returns (KpiId        ) {}
  rpc GetKpiDescriptor(KpiId            ) returns (KpiDescriptor) {}
  rpc IncludeKpi      (Kpi              ) returns (context.Empty) {}
  rpc MonitorKpi      (MonitorKpiRequest) returns (context.Empty) {}
  rpc MonitorDeviceKpi (MonitorDeviceKpiRequest) returns (context.Empty) {}
  rpc GetStreamKpi    (KpiId            ) returns (stream Kpi   ) {}
  rpc GetInstantKpi   (KpiId            ) returns (Kpi          ) {}

  // New RPCs:
  //rpc CreateKpi       (KpiDescriptor    ) returns (KpiId        ) {}
  //rpc GetKpiDescriptor(KpiId            ) returns (KpiDescriptor) {}
  //rpc IncludeKpi      (Kpi              ) returns (context.Empty) {}
  //rpc MonitorKpi      (MonitorKpiRequest) returns (context.Empty) {}
  //rpc GetStreamKpi    (KpiId            ) returns (stream Kpi   ) {}
  //rpc GetInstantKpi   (KpiId            ) returns (Kpi          ) {}
}

message CreateKpiRequest /*New name: KpiDescriptor*/ {
  // Old fields:
  string kpiDescription = 1;
  context.DeviceId device_id = 2;
  KpiSampleType kpi_sample_type = 3;
  //  context.EndpointId endpoint_id = 4;  // others might be added
  //  context.ServiceId  service_id  = 5;  // for monitoring other
  //  context.SliceId    slice_id    = 6;  // entities

  // New fields:
  //string kpi_description = 1;
  //kpi_sample_types.KpiSampleType kpi_sample_type = 2;
  //context.DeviceId device_id = 3;
  //context.EndPointId endpoint_id = 4;
  //context.ServiceId  service_id  = 5;
  ////context.SliceId    slice_id    = 6; // to be used in future features
message KpiDescriptor {
  string kpi_description = 1;
  kpi_sample_types.KpiSampleType kpi_sample_type = 2;
  context.DeviceId device_id = 3;
  context.EndPointId endpoint_id = 4;
  context.ServiceId  service_id  = 5;
//  context.SliceId    slice_id    = 6;
}

message MonitorKpiRequest{
  KpiId kpi_id = 1;

  // Old fields:
  uint32 connexion_time_s = 2;
  uint32 sample_rate_ms = 3;

  // New fields:
  //float sampling_duration_s = 2;
  //float sampling_interval_s = 3;
}

// Message to be removed:
message MonitorDeviceKpiRequest{
  Kpi kpi = 1;
  uint32 connexion_time_s = 2;
  uint32 sample_rate_ms = 3;
}

// Message to be removed:
message IncludeKpiRequest{
  KpiId kpi_id = 1;
  string time_stamp = 2;
  KpiValue kpi_value= 3;
  float sampling_duration_s = 2;
  float sampling_interval_s = 3;
}

message KpiId {
@@ -73,32 +35,18 @@ message KpiId {
message Kpi {
  KpiId kpi_id = 1;
  string timestamp = 2;
  string kpiDescription = 3;          // field to be removed
  KpiValue kpi_value = 4;             // field to be renumbered to 3
  KpiSampleType kpi_sample_type = 5;  // field to be removed
  context.DeviceId device_id = 6;     // field to be removed
  //  context.EndpointId endpoint_id = 7;  // others might be added // field to be removed
  //  context.ServiceId  service_id  = 8;  // for monitoring other  // field to be removed
  //  context.SliceId    slice_id    = 9;  // entities              // field to be removed
  KpiValue kpi_value = 4;
}

message KpiValue {
  oneof value {
    uint32 intVal = 1;      // field to be renamed to int_val
    float floatVal = 2;     // field to be renamed to float_val
    string stringVal = 3;   // field to be renamed to str_val
    bool boolVal = 4;       // field to be renamed to bool_val
    uint32 intVal = 1;
    float floatVal = 2;
    string stringVal = 3;
    bool boolVal = 4;
  }
}

message KpiList {
  repeated Kpi kpiList = 1; // to be renamed to kpi_list
}

enum KpiSampleType {  // to be moved to file "kpi_sample_types.proto"
  UNKNOWN = 0;
  PACKETS_TRANSMITTED = 101;  // others might be added for
  PACKETS_RECEIVED    = 102;  // packet, optical, radio,...
  BYTES_TRANSMITTED   = 201;
  BYTES_RECEIVED      = 202;
  repeated Kpi kpi_list = 1;
}
Loading