[VOL-3322] Support 1t4gem tech profile
[VOL-3323] Support 1t8gem tech profile
[VOL-3381] Support device restart w/o OLT-trigger: save/restore/delete ONU/TP-data in kv-store
[VOL-3402] Support usage of MIB-upload data during tech profile configuration
Signed-off-by: Holger Hildebrandt <holger.hildebrandt@adtran.com>
Change-Id: If1fb83fe509e8cb0c7300146111bf83d6e458fe5
diff --git a/internal/pkg/onuadaptercore/openonu.go b/internal/pkg/onuadaptercore/openonu.go
index 1590f60..06790bc 100644
--- a/internal/pkg/onuadaptercore/openonu.go
+++ b/internal/pkg/onuadaptercore/openonu.go
@@ -215,9 +215,18 @@
return nil, errors.New("unImplemented")
}
-//Reconcile_device unimplemented
+//Reconcile_device is called once when the adapter needs to re-create device - usually on core restart
func (oo *OpenONUAC) Reconcile_device(device *voltha.Device) error {
- return errors.New("unImplemented")
+ logger.Debugw("Reconcile_device", log.Fields{"deviceId": device.Id})
+ if handler := oo.getDeviceHandler(device.Id); handler != nil {
+ if err := handler.ReconcileDevice(device); err != nil {
+ return err
+ }
+ } else {
+ logger.Warnw("no handler found for device-reconcilement", log.Fields{"deviceId": device.Id})
+ return fmt.Errorf(fmt.Sprintf("handler-not-found-%s", device.Id))
+ }
+ return nil
}
//Abandon_device unimplemented
@@ -257,9 +266,17 @@
return errors.New("unImplemented")
}
-//Delete_device unimplemented
func (oo *OpenONUAC) Delete_device(device *voltha.Device) error {
- return errors.New("unImplemented")
+ logger.Debugw("Delete_device", log.Fields{"deviceId": device.Id})
+ if handler := oo.getDeviceHandler(device.Id); handler != nil {
+ if err := handler.DeleteDevice(device); err != nil {
+ return err
+ }
+ } else {
+ logger.Warnw("no handler found for device-reconcilement", log.Fields{"deviceId": device.Id})
+ return fmt.Errorf(fmt.Sprintf("handler-not-found-%s", device.Id))
+ }
+ return nil
}
//Get_device_details unimplemented