Loading common_requirements.in +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ coverage==6.3 grpcio==1.47.* grpcio-health-checking==1.47.* grpcio-tools==1.47.* grpclib[protobuf] grpclib==0.4.4 prettytable==3.5.0 prometheus-client==0.13.0 protobuf==3.20.* Loading deploy/tfs.sh +26 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ echo "export PYTHONPATH=${PYTHONPATH}" >> $ENV_VARS_SCRIPT echo "Create Redis secret..." # first try to delete an old one if exists kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE --ignore-not-found REDIS_PASSWORD=`uuidgen` kubectl create secret generic redis-secrets --namespace=$TFS_K8S_NAMESPACE \ --from-literal=REDIS_PASSWORD=$REDIS_PASSWORD Loading Loading @@ -432,6 +432,31 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then }' ${GRAFANA_URL_UPDATED}/api/datasources echo curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "postgres", "name" : "cockroachdb", "url" : "'cockroachdb-public.${CRDB_NAMESPACE}.svc.cluster.local:${CRDB_SQL_PORT}'", "database" : "'${CRDB_DATABASE}'", "user" : "'${CRDB_USERNAME}'", "basicAuth": false, "isDefault": false, "jsonData" : { "sslmode" : "require", "postgresVersion" : 1100, "maxOpenConns" : 0, "maxIdleConns" : 2, "connMaxLifetime" : 14400, "tlsAuth" : false, "tlsAuthWithCACert" : false, "timescaledb" : false, "tlsConfigurationMethod": "file-path", "tlsSkipVerify" : true }, "secureJsonData": {"password": "'${CRDB_PASSWORD}'"} }' ${GRAFANA_URL_UPDATED}/api/datasources echo # adding the datasource of the metrics collection framework curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", Loading proto/context.proto +13 −3 Original line number Diff line number Diff line Loading @@ -175,6 +175,7 @@ message Device { repeated DeviceDriverEnum device_drivers = 6; repeated EndPoint device_endpoints = 7; repeated Component component = 8; // Used for inventory DeviceId controller_id = 9; // Identifier of node controlling the actual device } message Component { Loading Loading @@ -277,8 +278,9 @@ enum ServiceStatusEnum { SERVICESTATUS_UNDEFINED = 0; SERVICESTATUS_PLANNED = 1; SERVICESTATUS_ACTIVE = 2; SERVICESTATUS_PENDING_REMOVAL = 3; SERVICESTATUS_SLA_VIOLATED = 4; SERVICESTATUS_UPDATING = 3; SERVICESTATUS_PENDING_REMOVAL = 4; SERVICESTATUS_SLA_VIOLATED = 5; } message ServiceStatus { Loading Loading @@ -554,6 +556,13 @@ message Constraint_SLA_Isolation_level { repeated IsolationLevelEnum isolation_level = 1; } message Constraint_Exclusions { bool is_permanent = 1; repeated DeviceId device_ids = 2; repeated EndPointId endpoint_ids = 3; repeated LinkId link_ids = 4; } message Constraint { oneof constraint { Constraint_Custom custom = 1; Loading @@ -564,6 +573,7 @@ message Constraint { Constraint_SLA_Latency sla_latency = 6; Constraint_SLA_Availability sla_availability = 7; Constraint_SLA_Isolation_level sla_isolation = 8; Constraint_Exclusions exclusions = 9; } } Loading proto/service.proto +4 −3 Original line number Diff line number Diff line Loading @@ -21,4 +21,5 @@ service ServiceService { rpc CreateService (context.Service ) returns (context.ServiceId) {} rpc UpdateService (context.Service ) returns (context.ServiceId) {} rpc DeleteService (context.ServiceId) returns (context.Empty ) {} rpc RecomputeConnections(context.Service ) returns (context.Empty ) {} } src/common/type_checkers/Assertions.py +2 −0 Original line number Diff line number Diff line Loading @@ -69,7 +69,9 @@ def validate_service_state_enum(message): 'SERVICESTATUS_UNDEFINED', 'SERVICESTATUS_PLANNED', 'SERVICESTATUS_ACTIVE', 'SERVICESTATUS_UPDATING', 'SERVICESTATUS_PENDING_REMOVAL', 'SERVICESTATUS_SLA_VIOLATED', ] Loading Loading
common_requirements.in +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ coverage==6.3 grpcio==1.47.* grpcio-health-checking==1.47.* grpcio-tools==1.47.* grpclib[protobuf] grpclib==0.4.4 prettytable==3.5.0 prometheus-client==0.13.0 protobuf==3.20.* Loading
deploy/tfs.sh +26 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ echo "export PYTHONPATH=${PYTHONPATH}" >> $ENV_VARS_SCRIPT echo "Create Redis secret..." # first try to delete an old one if exists kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE --ignore-not-found REDIS_PASSWORD=`uuidgen` kubectl create secret generic redis-secrets --namespace=$TFS_K8S_NAMESPACE \ --from-literal=REDIS_PASSWORD=$REDIS_PASSWORD Loading Loading @@ -432,6 +432,31 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then }' ${GRAFANA_URL_UPDATED}/api/datasources echo curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "postgres", "name" : "cockroachdb", "url" : "'cockroachdb-public.${CRDB_NAMESPACE}.svc.cluster.local:${CRDB_SQL_PORT}'", "database" : "'${CRDB_DATABASE}'", "user" : "'${CRDB_USERNAME}'", "basicAuth": false, "isDefault": false, "jsonData" : { "sslmode" : "require", "postgresVersion" : 1100, "maxOpenConns" : 0, "maxIdleConns" : 2, "connMaxLifetime" : 14400, "tlsAuth" : false, "tlsAuthWithCACert" : false, "timescaledb" : false, "tlsConfigurationMethod": "file-path", "tlsSkipVerify" : true }, "secureJsonData": {"password": "'${CRDB_PASSWORD}'"} }' ${GRAFANA_URL_UPDATED}/api/datasources echo # adding the datasource of the metrics collection framework curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", Loading
proto/context.proto +13 −3 Original line number Diff line number Diff line Loading @@ -175,6 +175,7 @@ message Device { repeated DeviceDriverEnum device_drivers = 6; repeated EndPoint device_endpoints = 7; repeated Component component = 8; // Used for inventory DeviceId controller_id = 9; // Identifier of node controlling the actual device } message Component { Loading Loading @@ -277,8 +278,9 @@ enum ServiceStatusEnum { SERVICESTATUS_UNDEFINED = 0; SERVICESTATUS_PLANNED = 1; SERVICESTATUS_ACTIVE = 2; SERVICESTATUS_PENDING_REMOVAL = 3; SERVICESTATUS_SLA_VIOLATED = 4; SERVICESTATUS_UPDATING = 3; SERVICESTATUS_PENDING_REMOVAL = 4; SERVICESTATUS_SLA_VIOLATED = 5; } message ServiceStatus { Loading Loading @@ -554,6 +556,13 @@ message Constraint_SLA_Isolation_level { repeated IsolationLevelEnum isolation_level = 1; } message Constraint_Exclusions { bool is_permanent = 1; repeated DeviceId device_ids = 2; repeated EndPointId endpoint_ids = 3; repeated LinkId link_ids = 4; } message Constraint { oneof constraint { Constraint_Custom custom = 1; Loading @@ -564,6 +573,7 @@ message Constraint { Constraint_SLA_Latency sla_latency = 6; Constraint_SLA_Availability sla_availability = 7; Constraint_SLA_Isolation_level sla_isolation = 8; Constraint_Exclusions exclusions = 9; } } Loading
proto/service.proto +4 −3 Original line number Diff line number Diff line Loading @@ -21,4 +21,5 @@ service ServiceService { rpc CreateService (context.Service ) returns (context.ServiceId) {} rpc UpdateService (context.Service ) returns (context.ServiceId) {} rpc DeleteService (context.ServiceId) returns (context.Empty ) {} rpc RecomputeConnections(context.Service ) returns (context.Empty ) {} }
src/common/type_checkers/Assertions.py +2 −0 Original line number Diff line number Diff line Loading @@ -69,7 +69,9 @@ def validate_service_state_enum(message): 'SERVICESTATUS_UNDEFINED', 'SERVICESTATUS_PLANNED', 'SERVICESTATUS_ACTIVE', 'SERVICESTATUS_UPDATING', 'SERVICESTATUS_PENDING_REMOVAL', 'SERVICESTATUS_SLA_VIOLATED', ] Loading