VOL-172: Support configuration of traffic descriptor profile for upstream BW allocation to ONU
* As an operator, I should be able to configure traffic descriptor profiles for upstream BW configuration.
* As an operator, I should be able to retrieve the configured traffic descriptor profiles.
Additional Notes:
* xPON Handler and xPON Agent should be able to handle the traffic descriptor configuration.
* This story does not have impact on adapters until the traffic descriptor is referenced by a TCONT
* The traffic descriptor profiles should be saved to the database(in memory until config/restore feature is ready).
* The impact to HA-proxy for load-balancing & distributing of workload is still TBD. As of now, it can be assumed that profiles are available to all VOLTHA instances.
VOL-173: Support configuration of TCONTs as per WT-385 and auto-allocation of alloc-ids
* As an operator, I should be able to provision a TCONT for the ONU with an existing traffic descriptor profile
* As an operator, I should be able to retrieve the provisioned TCONT
* As an operator, I should be able to change the traffic descriptor profile for a TCONT
Additional Notes:
* alloc-ids should be allocated for the TCONT
* generic IAdapter interface to be provided that will be used by OLT and ONU adapters for TCONT/alloc-id/BW configuration
* In the best interest of schedules/timing, in the first step(e.g. POC-3 & trial), assume the queueing model to be supported (to be detailed) (i.e. no configuration of queueing model)
* The concerned ONU should receive upstream grants upon provisioning of TCONT for the ONU
VOL-174: Support configuration of GEMs as per WT-385 and auto-allocation of gemport-ids
* As an operator, I should be able to provision a GEMPORT object for the ONU and assign to a UNI
* As an operator, I should be able to retrieve the provisioned GEMPORT
Additional Notes:
* gemport-ids should be auto-allocated for the GEMPORT object
* generic IAdapter interface to be provided that will be used by OLT and ONU adapters for GEM port configuration
* In the best interest of schedules/timing, in the first step(e.g. POC-3 & trial), assume the queueing model to be supported (to be detailed) (i.e. no configuration of queueing model)
* The concerned OLT and ONU should be configured with the allocated gemport-ids
Change-Id: I451cd7c0eda57c7b9fa1d65d02c749ff2bf0db4b
diff --git a/ponsim/ponsim.py b/ponsim/ponsim.py
index 619beb1..219f1c5 100644
--- a/ponsim/ponsim.py
+++ b/ponsim/ponsim.py
@@ -477,13 +477,91 @@
self.log = structlog.get_logger()
def CreateInterface(self, request):
- self.log.info("create-interface-request", interface_type = request.WhichOneof("interface_type"), data = request)
+ self.log.info("create-interface-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
return
def UpdateInterface(self, request):
- self.log.info("update-interface-request", interface_type = request.WhichOneof("interface_type"), data = request)
+ self.log.info("update-interface-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
return
def RemoveInterface(self, request):
- self.log.info("remove-interface-request", interface_type = request.WhichOneof("interface_type"), data = request)
+ self.log.info("remove-interface-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def CreateTcont(self, request, request2):
+ self.log.info("create-tcont-request",
+ tcont_config_data=request,
+ traffic_descriptor_profile_config_data=request2)
+ return
+
+ def UpdateTcont(self, request, request2):
+ self.log.info("update-tcont-request",
+ tcont_config_data=request,
+ traffic_descriptor_profile_config_data=request2)
+ return
+
+ def RemoveTcont(self, request, request2):
+ self.log.info("remove-tcont-request",
+ tcont_config_data=request,
+ traffic_descriptor_profile_config_data=request2)
+ return
+
+ def CreateGemport(self, request):
+ self.log.info("create-gemport-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def UpdateGemport(self, request):
+ self.log.info("update-gemport-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def RemoveGemport(self, request):
+ self.log.info("remove-gemport-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def CreateMulticastGemport(self, request):
+ self.log.info("create-multicast-gemport-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def UpdateMulticastGemport(self, request):
+ self.log.info("update-multicast-gemport-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def RemoveMulticastGemport(self, request):
+ self.log.info("remove-multicast-gemport-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def CreateMulticastDistributionSet(self, request):
+ self.log.info("create-multicast-distribution-set-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def UpdateMulticastDistributionSet(self, request):
+ self.log.info("update-multicast-distribution-set-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
+ return
+
+ def RemoveMulticastDistributionSet(self, request):
+ self.log.info("remove-multicast-distribution-set-request",
+ interface_type=request.WhichOneof("interface_type"),
+ data=request)
return