SEBA-749 Implemented on demand api code for test action in pyvoltha
Change-Id: Ib7a50bcfdb2f2f28b50406f92539415c92fcd0f1
diff --git a/pyvoltha/adapters/kafka/adapter_request_facade.py b/pyvoltha/adapters/kafka/adapter_request_facade.py
index 4780153..72bf076 100644
--- a/pyvoltha/adapters/kafka/adapter_request_facade.py
+++ b/pyvoltha/adapters/kafka/adapter_request_facade.py
@@ -30,9 +30,11 @@
from voltha_protos.device_pb2 import Device, Port, ImageDownload, SimulateAlarmRequest
from voltha_protos.openflow_13_pb2 import FlowChanges, FlowGroups, Flows, \
FlowGroupChanges, ofp_packet_out
+from voltha_protos.voltha_pb2 import OmciTestRequest
from pyvoltha.adapters.kafka.kafka_inter_container_library import IKafkaMessagingProxy, \
get_messaging_proxy, KAFKA_OFFSET_LATEST, KAFKA_OFFSET_EARLIEST, ARG_FROM_TOPIC
+
log = structlog.get_logger()
class MacAddressError(BaseException):
@@ -78,6 +80,21 @@
# yield kafka_proxy.subscribe(topic=device_topic, group_id=device_topic, target_cls=self, offset=KAFKA_OFFSET_EARLIEST)
# log.debug("subscribed-to-topic", topic=device_topic)
+ def start_omci_test(self, device, omcitestrequest, **kwargs):
+ if not device:
+ return False, Error(code=ErrorCode.INVALID_PARAMETERS,
+ reason="device-invalid")
+ if not omcitestrequest:
+ return False, Error(code=ErrorCode.INVALID_PARAMETERS,
+ reason="omcitestrequest-invalid")
+
+ d = Device()
+ device.Unpack(d)
+ omci_test = OmciTestRequest()
+ omcitestrequest.Unpack(omci_test)
+ result = self.adapter.start_omci_test(d, omci_test.uuid)
+ return True, result
+
def adopt_device(self, device, **kwargs):
d = Device()
if device: