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
1879fb18
Commit
1879fb18
authored
10 months ago
by
Waleed Akbar
Browse files
Options
Downloads
Patches
Plain Diff
changes for kpi_manager integration with TFS
parent
9fcbc75e
No related branches found
No related tags found
2 merge requests
!294
Release TeraFlowSDN 4.0
,
!207
Resolve "(CTTC) Separation of Monitoring"
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/kpi_manager/tests/test_kpi_manager.py
+49
-53
49 additions, 53 deletions
src/kpi_manager/tests/test_kpi_manager.py
src/kpi_value_writer/service/KpiValueWriter.py
+9
-8
9 additions, 8 deletions
src/kpi_value_writer/service/KpiValueWriter.py
with
58 additions
and
61 deletions
src/kpi_manager/tests/test_kpi_manager.py
+
49
−
53
View file @
1879fb18
...
@@ -28,10 +28,10 @@ from common.proto.kpi_manager_pb2 import KpiId, KpiDescriptor, KpiDescriptorFilt
...
@@ -28,10 +28,10 @@ from common.proto.kpi_manager_pb2 import KpiId, KpiDescriptor, KpiDescriptorFilt
from
common.tools.service.GenericGrpcService
import
GenericGrpcService
from
common.tools.service.GenericGrpcService
import
GenericGrpcService
from
context.client.ContextClient
import
ContextClient
from
context.client.ContextClient
import
ContextClient
from
device.service.driver_api.DriverFactory
import
DriverFactory
#
from device.service.driver_api.DriverFactory import DriverFactory
from
device.service.driver_api.DriverInstanceCache
import
DriverInstanceCache
#
from device.service.driver_api.DriverInstanceCache import DriverInstanceCache
from
device.service.DeviceService
import
DeviceService
#
from device.service.DeviceService import DeviceService
from
device.client.DeviceClient
import
DeviceClient
#
from device.client.DeviceClient import DeviceClient
from
kpi_manager.tests.test_messages
import
create_kpi_descriptor_request
,
create_kpi_filter_request
,
create_kpi_descriptor_request_a
from
kpi_manager.tests.test_messages
import
create_kpi_descriptor_request
,
create_kpi_filter_request
,
create_kpi_descriptor_request_a
from
kpi_manager.service.KpiManagerService
import
KpiManagerService
from
kpi_manager.service.KpiManagerService
import
KpiManagerService
...
@@ -47,13 +47,12 @@ from device.service.drivers import DRIVERS
...
@@ -47,13 +47,12 @@ from device.service.drivers import DRIVERS
###########################
###########################
LOCAL_HOST
=
'
127.0.0.1
'
LOCAL_HOST
=
'
127.0.0.1
'
MOCKSERVICE_PORT
=
10000
KPIMANAGER_SERVICE_PORT
=
MOCKSERVICE_PORT
+
get_service_port_grpc
(
ServiceNameEnum
.
KPIMANAGER
)
# type: ignore
KPIMANAGER_SERVICE_PORT
=
get_service_port_grpc
(
ServiceNameEnum
.
KPIMANAGER
)
# type: ignore
os
.
environ
[
get_env_var_name
(
ServiceNameEnum
.
KPIMANAGER
,
ENVVAR_SUFIX_SERVICE_HOST
)]
=
str
(
LOCAL_HOST
)
os
.
environ
[
get_env_var_name
(
ServiceNameEnum
.
KPIMANAGER
,
ENVVAR_SUFIX_SERVICE_HOST
)]
=
str
(
LOCAL_HOST
)
os
.
environ
[
get_env_var_name
(
ServiceNameEnum
.
KPIMANAGER
,
ENVVAR_SUFIX_SERVICE_PORT_GRPC
)]
=
str
(
KPIMANAGER_SERVICE_PORT
)
os
.
environ
[
get_env_var_name
(
ServiceNameEnum
.
KPIMANAGER
,
ENVVAR_SUFIX_SERVICE_PORT_GRPC
)]
=
str
(
KPIMANAGER_SERVICE_PORT
)
# METRICSDB_HOSTNAME = os.environ.get('METRICSDB_HOSTNAME')
# METRICSDB_HOSTNAME = os.environ.get('METRICSDB_HOSTNAME')
{}
LOGGER
=
logging
.
getLogger
(
__name__
)
LOGGER
=
logging
.
getLogger
(
__name__
)
...
@@ -68,50 +67,50 @@ class MockContextService(GenericGrpcService):
...
@@ -68,50 +67,50 @@ class MockContextService(GenericGrpcService):
self
.
context_servicer
=
MockServicerImpl_Context
()
self
.
context_servicer
=
MockServicerImpl_Context
()
add_ContextServiceServicer_to_server
(
self
.
context_servicer
,
self
.
server
)
add_ContextServiceServicer_to_server
(
self
.
context_servicer
,
self
.
server
)
@pytest.fixture
(
scope
=
'
session
'
)
#
@pytest.fixture(scope='session')
def
context_service
():
#
def context_service():
LOGGER
.
info
(
'
Initializing MockContextService...
'
)
#
LOGGER.info('Initializing MockContextService...')
_service
=
MockContextService
(
MOCKSERVICE_PORT
)
#
_service = MockContextService(MOCKSERVICE_PORT)
_service
.
start
()
#
_service.start()
LOGGER
.
info
(
'
Yielding MockContextService...
'
)
#
LOGGER.info('Yielding MockContextService...')
yield
_service
#
yield _service
LOGGER
.
info
(
'
Terminating MockContextService...
'
)
#
LOGGER.info('Terminating MockContextService...')
_service
.
context_servicer
.
msg_broker
.
terminate
()
#
_service.context_servicer.msg_broker.terminate()
_service
.
stop
()
#
_service.stop()
LOGGER
.
info
(
'
Terminated MockContextService...
'
)
#
LOGGER.info('Terminated MockContextService...')
@pytest.fixture
(
scope
=
'
session
'
)
#
@pytest.fixture(scope='session')
def
context_client
(
context_service
:
MockContextService
):
# pylint: disable=redefined-outer-name,unused-argument
#
def context_client(context_service : MockContextService): # pylint: disable=redefined-outer-name,unused-argument
LOGGER
.
info
(
'
Initializing ContextClient...
'
)
#
LOGGER.info('Initializing ContextClient...')
_client
=
ContextClient
()
#
_client = ContextClient()
LOGGER
.
info
(
'
Yielding ContextClient...
'
)
#
LOGGER.info('Yielding ContextClient...')
yield
_client
#
yield _client
LOGGER
.
info
(
'
Closing ContextClient...
'
)
#
LOGGER.info('Closing ContextClient...')
_client
.
close
()
#
_client.close()
LOGGER
.
info
(
'
Closed ContextClient...
'
)
#
LOGGER.info('Closed ContextClient...')
@pytest.fixture
(
scope
=
'
session
'
)
#
@pytest.fixture(scope='session')
def
device_service
(
context_service
:
MockContextService
):
# pylint: disable=redefined-outer-name,unused-argument
#
def device_service(context_service : MockContextService): # pylint: disable=redefined-outer-name,unused-argument
LOGGER
.
info
(
'
Initializing DeviceService...
'
)
#
LOGGER.info('Initializing DeviceService...')
driver_factory
=
DriverFactory
(
DRIVERS
)
#
driver_factory = DriverFactory(DRIVERS)
driver_instance_cache
=
DriverInstanceCache
(
driver_factory
)
#
driver_instance_cache = DriverInstanceCache(driver_factory)
_service
=
DeviceService
(
driver_instance_cache
)
#
_service = DeviceService(driver_instance_cache)
_service
.
start
()
#
_service.start()
# yield the server, when test finishes, execution will resume to stop it
#
# yield the server, when test finishes, execution will resume to stop it
LOGGER
.
info
(
'
Yielding DeviceService...
'
)
#
LOGGER.info('Yielding DeviceService...')
yield
_service
#
yield _service
LOGGER
.
info
(
'
Terminating DeviceService...
'
)
#
LOGGER.info('Terminating DeviceService...')
_service
.
stop
()
#
_service.stop()
LOGGER
.
info
(
'
Terminated DeviceService...
'
)
#
LOGGER.info('Terminated DeviceService...')
# @pytest.fixture(scope='session')
# @pytest.fixture(scope='session')
# def device_client(device_service : DeviceService): # pylint: disable=redefined-outer-name,unused-argument
# def device_client(device_service : DeviceService): # pylint: disable=redefined-outer-name,unused-argument
...
@@ -126,25 +125,22 @@ def device_service(context_service : MockContextService): # pylint: disable=rede
...
@@ -126,25 +125,22 @@ def device_service(context_service : MockContextService): # pylint: disable=rede
# LOGGER.info('Closed DeviceClient...')
# LOGGER.info('Closed DeviceClient...')
@pytest.fixture
(
scope
=
'
session
'
)
#
@pytest.fixture(scope='session')
def
device_client
(
device_service
:
DeviceService
):
# pylint: disable=redefined-outer-name,unused-argument
#
def device_client(device_service : DeviceService): # pylint: disable=redefined-outer-name,unused-argument
LOGGER
.
info
(
'
Initializing DeviceClient...
'
)
#
LOGGER.info('Initializing DeviceClient...')
_client
=
DeviceClient
()
#
_client = DeviceClient()
LOGGER
.
info
(
'
Yielding DeviceClient...
'
)
#
LOGGER.info('Yielding DeviceClient...')
yield
_client
#
yield _client
LOGGER
.
info
(
'
Closing DeviceClient...
'
)
#
LOGGER.info('Closing DeviceClient...')
_client
.
close
()
#
_client.close()
LOGGER
.
info
(
'
Closed DeviceClient...
'
)
#
LOGGER.info('Closed DeviceClient...')
# This fixture will be requested by test cases and last during testing session
# This fixture will be requested by test cases and last during testing session
@pytest.fixture
(
scope
=
'
session
'
)
@pytest.fixture
(
scope
=
'
session
'
)
def
kpi_manager_service
(
def
kpi_manager_service
():
context_service
:
MockContextService
,
# pylint: disable=redefined-outer-name,unused-argument
device_service
:
DeviceService
# pylint: disable=redefined-outer-name,unused-argument
):
LOGGER
.
info
(
'
Initializing KpiManagerService...
'
)
LOGGER
.
info
(
'
Initializing KpiManagerService...
'
)
name_mapping
=
NameMapping
()
name_mapping
=
NameMapping
()
# _service = MonitoringService(name_mapping)
# _service = MonitoringService(name_mapping)
...
...
This diff is collapsed.
Click to expand it.
src/kpi_value_writer/service/KpiValueWriter.py
+
9
−
8
View file @
1879fb18
...
@@ -52,8 +52,11 @@ class KpiValueWriter:
...
@@ -52,8 +52,11 @@ class KpiValueWriter:
'
group.id
'
:
__class__
,
'
group.id
'
:
__class__
,
'
auto.offset.reset
'
:
'
latest
'
}
'
auto.offset.reset
'
:
'
latest
'
}
)
)
metric_writer_to_prom
=
MetricWriterToPrometheus
()
metric_writer_to_prom
=
MetricWriterToPrometheus
()
kpi_manager_client
=
KpiManagerClient
()
print
(
"
Kpi manger client created: {:}
"
.
format
(
kpi_manager_client
))
kafka_consumer
.
subscribe
([
KafkaTopic
.
VALUE
.
value
])
kafka_consumer
.
subscribe
([
KafkaTopic
.
VALUE
.
value
])
LOGGER
.
debug
(
"
Kafka Consumer start listenng on topic: {:}
"
.
format
(
KafkaTopic
.
VALUE
.
value
))
LOGGER
.
debug
(
"
Kafka Consumer start listenng on topic: {:}
"
.
format
(
KafkaTopic
.
VALUE
.
value
))
print
(
"
Kafka Consumer start listenng on topic: {:}
"
.
format
(
KafkaTopic
.
VALUE
.
value
))
print
(
"
Kafka Consumer start listenng on topic: {:}
"
.
format
(
KafkaTopic
.
VALUE
.
value
))
...
@@ -70,9 +73,9 @@ class KpiValueWriter:
...
@@ -70,9 +73,9 @@ class KpiValueWriter:
try
:
try
:
kpi_value
=
KpiValue
()
kpi_value
=
KpiValue
()
kpi_value
.
ParseFromString
(
raw_kpi
.
value
())
kpi_value
.
ParseFromString
(
raw_kpi
.
value
())
LOGGER
.
debug
(
"
Received KPI : {:}
"
.
format
(
kpi_value
))
LOGGER
.
info
(
"
Received KPI : {:}
"
.
format
(
kpi_value
))
print
(
"
Received KPI : {:}
"
.
format
(
kpi_value
))
print
(
"
Received KPI : {:}
"
.
format
(
kpi_value
))
KpiValueWriter
.
get_kpi_descriptor
(
kpi_value
.
kpi_id
.
kpi_id
.
uuid
)
KpiValueWriter
.
get_kpi_descriptor
(
kpi_value
.
kpi_id
.
kpi_id
.
uuid
,
kpi_manager_client
)
# -------- Testing section ---------------
# -------- Testing section ---------------
# test_kpi_descriptor_obj = create_kpi_descriptor_request()
# test_kpi_descriptor_obj = create_kpi_descriptor_request()
# metric_writer_to_prom.create_and_expose_cooked_kpi(
# metric_writer_to_prom.create_and_expose_cooked_kpi(
...
@@ -85,14 +88,12 @@ class KpiValueWriter:
...
@@ -85,14 +88,12 @@ class KpiValueWriter:
continue
continue
@staticmethod
@staticmethod
def
get_kpi_descriptor
(
kpi_value_uuid
:
str
):
def
get_kpi_descriptor
(
kpi_value_uuid
:
str
,
kpi_manager_client
):
print
(
"
--- START -----
"
)
print
(
"
--- START -----
"
)
kpi_id
=
KpiId
()
kpi_id
=
KpiId
()
kpi_id
.
kpi_id
.
uuid
=
kpi_value_uuid
kpi_id
.
kpi_id
.
uuid
=
kpi_value_uuid
print
(
"
KpiId generated: {:}
"
.
format
(
kpi_id
))
print
(
"
KpiId generated: {:}
"
.
format
(
kpi_id
))
kpi_manager_client
=
KpiManagerClient
()
print
(
"
Kpi manger client created: {:}
"
.
format
(
kpi_manager_client
))
print
(
"
Kpi manger client created: {:}
"
.
format
(
kpi_manager_client
))
try
:
try
:
...
@@ -101,8 +102,8 @@ class KpiValueWriter:
...
@@ -101,8 +102,8 @@ class KpiValueWriter:
print
(
"
kpi descriptor received: {:}
"
.
format
(
kpi_descriptor_object
))
print
(
"
kpi descriptor received: {:}
"
.
format
(
kpi_descriptor_object
))
if
isinstance
(
kpi_descriptor_object
,
KpiDescriptor
):
if
isinstance
(
kpi_descriptor_object
,
KpiDescriptor
):
LOGGER
.
debug
(
"
Extracted row: {:}
"
.
format
(
kpi_descriptor_object
))
LOGGER
.
info
(
"
Extracted row: {:}
"
.
format
(
kpi_descriptor_object
))
else
:
else
:
LOGGER
.
debug
(
"
Error in extracting row {:}
"
.
format
(
kpi_descriptor_object
))
LOGGER
.
info
(
"
Error in extracting row {:}
"
.
format
(
kpi_descriptor_object
))
except
Exception
as
e
:
except
Exception
as
e
:
print
(
"
Unable to get Descriptor. Error: {:}
"
.
format
(
e
))
print
(
"
Unable to get Descriptor. Error: {:}
"
.
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