changes for olt reconnect , reboot redesing

Change-Id: I192c01f7672b62956b4b55e19b8cd0d33ca7cfae

fixes for device state handling

Change-Id: I6765b7b53b2c130c70ac37cad28373cec7397908

olt reconnect, reboot redesign changes

Change-Id: I2a4981bc815d0961ffbf7e36ba7cfb06243e8319
diff --git a/internal/pkg/core/openolt.go b/internal/pkg/core/openolt.go
index a483111..801e563 100644
--- a/internal/pkg/core/openolt.go
+++ b/internal/pkg/core/openolt.go
@@ -43,22 +43,23 @@
 
 //OpenOLT structure holds the OLT information
 type OpenOLT struct {
-	configManager               *conf.ConfigManager
-	deviceHandlers              map[string]*DeviceHandler
-	coreClient                  *vgrpc.Client
-	eventProxy                  eventif.EventProxy
-	config                      *config.AdapterFlags
-	numOnus                     int
-	KVStoreAddress              string
-	KVStoreType                 string
-	exitChannel                 chan struct{}
-	HeartbeatCheckInterval      time.Duration
-	HeartbeatFailReportInterval time.Duration
-	GrpcTimeoutInterval         time.Duration
-	lockDeviceHandlersMap       sync.RWMutex
-	enableONUStats              bool
-	enableGemStats              bool
-	rpcTimeout                  time.Duration
+	configManager                      *conf.ConfigManager
+	deviceHandlers                     map[string]*DeviceHandler
+	coreClient                         *vgrpc.Client
+	eventProxy                         eventif.EventProxy
+	config                             *config.AdapterFlags
+	numOnus                            int
+	KVStoreAddress                     string
+	KVStoreType                        string
+	exitChannel                        chan struct{}
+	HeartbeatCheckInterval             time.Duration
+	HeartbeatFailReportInterval        time.Duration
+	GrpcTimeoutInterval                time.Duration
+	lockDeviceHandlersMap              sync.RWMutex
+	enableONUStats                     bool
+	enableGemStats                     bool
+	rpcTimeout                         time.Duration
+	CheckOnuDevExistenceAtOnuDiscovery bool
 }
 
 //NewOpenOLT returns a new instance of OpenOLT
@@ -82,6 +83,7 @@
 	openOLT.enableONUStats = cfg.EnableONUStats
 	openOLT.enableGemStats = cfg.EnableGEMStats
 	openOLT.rpcTimeout = cfg.RPCTimeout
+	openOLT.CheckOnuDevExistenceAtOnuDiscovery = cfg.CheckOnuDevExistenceAtOnuDiscovery
 	return &openOLT
 }