[VOL-4177] openonuAdapterGo - PM Collector and Alarm Manager should be started only after initial-mib-downloaded has been reached

Change-Id: Ib367649bd5469416eee3ba4a5a642e29d522d768
diff --git a/VERSION b/VERSION
index a6ab9ba..a562d0e 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.1-dev206
+1.3.1-dev207
diff --git a/internal/pkg/onuadaptercore/device_handler.go b/internal/pkg/onuadaptercore/device_handler.go
index 4dbd44a..81e3f79 100644
--- a/internal/pkg/onuadaptercore/device_handler.go
+++ b/internal/pkg/onuadaptercore/device_handler.go
@@ -1898,15 +1898,6 @@
 		logger.Errorw(ctx, "MibSyncFsm invalid - cannot be executed!!", log.Fields{"device-id": dh.deviceID})
 		return fmt.Errorf("can't execute MibSync: %s", dh.deviceID)
 	}
-
-	if !dh.getCollectorIsRunning() {
-		// Start PM collector routine
-		go dh.startCollector(ctx)
-	}
-	if !dh.getAlarmManagerIsRunning(ctx) {
-		go dh.startAlarmManager(ctx)
-	}
-
 	return nil
 }
 
@@ -3483,13 +3474,6 @@
 		// TODO: fatal error reset ONU, delete deviceHandler!
 		return
 	}
-	if !dh.getCollectorIsRunning() {
-		// Start PM collector routine
-		go dh.startCollector(ctx)
-	}
-	if !dh.getAlarmManagerIsRunning(ctx) {
-		go dh.startAlarmManager(ctx)
-	}
 	dh.uniEntityMap = make(map[uint32]*onuUniPort)
 	dh.startReconciling(ctx, false)
 }
diff --git a/internal/pkg/onuadaptercore/mib_sync.go b/internal/pkg/onuadaptercore/mib_sync.go
index 564be6f..efb6e69 100644
--- a/internal/pkg/onuadaptercore/mib_sync.go
+++ b/internal/pkg/onuadaptercore/mib_sync.go
@@ -305,8 +305,15 @@
 		oo.baseDeviceHandler.addAllUniPorts(ctx)
 		oo.baseDeviceHandler.setDeviceReason(drInitialMibDownloaded)
 		oo.baseDeviceHandler.setReadyForOmciConfig(true)
-		// no need to reconcile additional data for MibDownloadFsm, LockStateFsm, or UnlockStateFsm
 
+		if !oo.baseDeviceHandler.getCollectorIsRunning() {
+			// Start PM collector routine
+			go oo.baseDeviceHandler.startCollector(ctx)
+		}
+		if !oo.baseDeviceHandler.getAlarmManagerIsRunning(ctx) {
+			go oo.baseDeviceHandler.startAlarmManager(ctx)
+		}
+		// no need to reconcile additional data for MibDownloadFsm, LockStateFsm, or UnlockStateFsm
 		oo.baseDeviceHandler.reconcileDeviceTechProf(ctx)
 
 		// start go routine with select() on reconciling flow channel before