VOL-3042 Dynamic config of device admin state and oper state based on external config requests
Change-Id: If84b258c03d10531de6023bc9dc461da8b013057
diff --git a/internal/pkg/onuadaptercore/openonu.go b/internal/pkg/onuadaptercore/openonu.go
index 1cd7585..255af1d 100644
--- a/internal/pkg/onuadaptercore/openonu.go
+++ b/internal/pkg/onuadaptercore/openonu.go
@@ -226,12 +226,24 @@
//Disable_device disables the given device
func (oo *OpenONUAC) Disable_device(device *voltha.Device) error {
- return errors.New("unImplemented")
+ logger.Debug("Disable_device", device.Id)
+ if handler := oo.getDeviceHandler(device.Id); handler != nil {
+ go handler.DisableDevice(device)
+ return nil
+ }
+ logger.Warn("no handler found for reenable device 'device.Id'")
+ return fmt.Errorf(fmt.Sprintf("handler-not-found-%s", device.Id))
}
//Reenable_device enables the olt device after disable
func (oo *OpenONUAC) Reenable_device(device *voltha.Device) error {
- return errors.New("unImplemented")
+ logger.Debug("Reenable_device", device.Id)
+ if handler := oo.getDeviceHandler(device.Id); handler != nil {
+ go handler.ReenableDevice(device)
+ return nil
+ }
+ logger.Warn("no handler found for reenable device 'device.Id'")
+ return fmt.Errorf(fmt.Sprintf("handler-not-found-%s", device.Id))
}
//Reboot_device reboots the given device