Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
controller
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TFS
controller
Commits
5c64c58b
Commit
5c64c58b
authored
3 months ago
by
Lluis Gifre Renom
Browse files
Options
Downloads
Patches
Plain Diff
KPI Manager:
- Corrected exception handling
parent
cef03c41
No related branches found
No related tags found
2 merge requests
!359
Release TeraFlowSDN 5.0
,
!320
Resolve "(CTTC) Telemetry Enhancement"
Changes
1
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/kpi_manager/service/KpiManagerServiceServicerImpl.py
+34
-51
34 additions, 51 deletions
src/kpi_manager/service/KpiManagerServiceServicerImpl.py
with
34 additions
and
51 deletions
src/kpi_manager/service/KpiManagerServiceServicerImpl.py
+
34
−
51
View file @
5c64c58b
...
@@ -18,7 +18,7 @@ from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_m
...
@@ -18,7 +18,7 @@ from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_m
from
common.proto.context_pb2
import
Empty
from
common.proto.context_pb2
import
Empty
from
common.proto.kpi_manager_pb2_grpc
import
KpiManagerServiceServicer
from
common.proto.kpi_manager_pb2_grpc
import
KpiManagerServiceServicer
from
common.proto.kpi_manager_pb2
import
KpiId
,
KpiDescriptor
,
KpiDescriptorFilter
,
KpiDescriptorList
from
common.proto.kpi_manager_pb2
import
KpiId
,
KpiDescriptor
,
KpiDescriptorFilter
,
KpiDescriptorList
#
from
kpi_manager.database.Kpi_DB import KpiDB
from
common.method_wrappers.ServiceExceptions
import
NotFoundException
from
kpi_manager.database.KpiDB
import
KpiDB
from
kpi_manager.database.KpiDB
import
KpiDB
from
kpi_manager.database.KpiModel
import
Kpi
as
KpiModel
from
kpi_manager.database.KpiModel
import
Kpi
as
KpiModel
...
@@ -31,65 +31,48 @@ class KpiManagerServiceServicerImpl(KpiManagerServiceServicer):
...
@@ -31,65 +31,48 @@ class KpiManagerServiceServicerImpl(KpiManagerServiceServicer):
self
.
kpi_db_obj
=
KpiDB
(
KpiModel
)
self
.
kpi_db_obj
=
KpiDB
(
KpiModel
)
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
def
SetKpiDescriptor
(
self
,
request
:
KpiDescriptor
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
def
SetKpiDescriptor
(
)
->
KpiId
:
# type: ignore
self
,
request
:
KpiDescriptor
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
)
->
KpiId
:
# type: ignore
response
=
KpiId
()
response
=
KpiId
()
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
request
))
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
request
))
try
:
kpi_to_insert
=
KpiModel
.
convert_KpiDescriptor_to_row
(
request
)
kpi_to_insert
=
KpiModel
.
convert_KpiDescriptor_to_row
(
request
)
if
self
.
kpi_db_obj
.
add_row_to_db
(
kpi_to_insert
):
if
(
self
.
kpi_db_obj
.
add_row_to_db
(
kpi_to_insert
)):
response
.
kpi_id
.
uuid
=
request
.
kpi_id
.
kpi_id
.
uuid
response
.
kpi_id
.
uuid
=
request
.
kpi_id
.
kpi_id
.
uuid
# LOGGER.info("Added Row: {:}".format(response))
# LOGGER.info("Added Row: {:}".format(response))
return
response
return
response
except
Exception
as
e
:
LOGGER
.
info
(
"
Unable to create KpiModel class object. {:}
"
.
format
(
e
))
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
def
GetKpiDescriptor
(
self
,
request
:
KpiId
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
def
GetKpiDescriptor
(
)
->
KpiDescriptor
:
# type: ignore
self
,
request
:
KpiId
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
)
->
KpiDescriptor
:
# type: ignore
response
=
KpiDescriptor
()
response
=
KpiDescriptor
()
print
(
"
--> Received gRPC message object: {:}
"
.
format
(
request
))
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
request
))
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
request
))
try
:
kpi_id_to_search
=
request
.
kpi_id
.
uuid
kpi_id_to_search
=
request
.
kpi_id
.
uuid
row
=
self
.
kpi_db_obj
.
search_db_row_by_id
(
KpiModel
,
'
kpi_id
'
,
kpi_id_to_search
)
row
=
self
.
kpi_db_obj
.
search_db_row_by_id
(
KpiModel
,
'
kpi_id
'
,
kpi_id_to_search
)
if
row
is
None
:
if
row
is
None
:
LOGGER
.
info
(
'
No matching row found kpi id: {:}
'
.
format
(
kpi_id_to_search
))
print
(
'
No matching row found for kpi id: {:}
'
.
format
(
kpi_id_to_search
))
raise
NotFoundException
(
'
KpiDescriptor
'
,
kpi_id_to_search
)
LOGGER
.
info
(
'
No matching row found kpi id: {:}
'
.
format
(
kpi_id_to_search
))
response
=
KpiModel
.
convert_row_to_KpiDescriptor
(
row
)
return
Empty
()
return
response
else
:
response
=
KpiModel
.
convert_row_to_KpiDescriptor
(
row
)
return
response
except
Exception
as
e
:
print
(
'
Unable to search kpi id. {:}
'
.
format
(
e
))
LOGGER
.
info
(
'
Unable to search kpi id. {:}
'
.
format
(
e
))
raise
e
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
def
DeleteKpiDescriptor
(
self
,
request
:
KpiId
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
def
DeleteKpiDescriptor
(
)
->
Empty
:
# type: ignore
self
,
request
:
KpiId
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
)
->
Empty
:
# type: ignore
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
request
))
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
request
))
try
:
kpi_id_to_search
=
request
.
kpi_id
.
uuid
kpi_id_to_search
=
request
.
kpi_id
.
uuid
self
.
kpi_db_obj
.
delete_db_row_by_id
(
KpiModel
,
'
kpi_id
'
,
kpi_id_to_search
)
self
.
kpi_db_obj
.
delete_db_row_by_id
(
KpiModel
,
'
kpi_id
'
,
kpi_id_to_search
)
return
Empty
()
except
Exception
as
e
:
LOGGER
.
info
(
'
Unable to search kpi id. {:}
'
.
format
(
e
))
finally
:
return
Empty
()
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
@safe_and_metered_rpc_method
(
METRICS_POOL
,
LOGGER
)
def
SelectKpiDescriptor
(
self
,
filter
:
KpiDescriptorFilter
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
def
SelectKpiDescriptor
(
)
->
KpiDescriptorList
:
# type: ignore
self
,
filter
:
KpiDescriptorFilter
,
grpc_context
:
grpc
.
ServicerContext
# type: ignore
)
->
KpiDescriptorList
:
# type: ignore
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
filter
))
LOGGER
.
info
(
"
Received gRPC message object: {:}
"
.
format
(
filter
))
response
=
KpiDescriptorList
()
response
=
KpiDescriptorList
()
try
:
rows
=
self
.
kpi_db_obj
.
select_with_filter
(
KpiModel
,
filter
)
rows
=
self
.
kpi_db_obj
.
select_with_filter
(
KpiModel
,
filter
)
for
row
in
rows
:
except
Exception
as
e
:
kpiDescriptor_obj
=
KpiModel
.
convert_row_to_KpiDescriptor
(
row
)
LOGGER
.
info
(
'
Unable to apply filter on kpi descriptor. {:}
'
.
format
(
e
))
response
.
kpi_descriptor_list
.
append
(
kpiDescriptor_obj
)
try
:
return
response
for
row
in
rows
:
kpiDescriptor_obj
=
KpiModel
.
convert_row_to_KpiDescriptor
(
row
)
response
.
kpi_descriptor_list
.
append
(
kpiDescriptor_obj
)
return
response
except
Exception
as
e
:
LOGGER
.
info
(
'
Unable to process filter response {:}
'
.
format
(
e
))
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment