I'm trying to run a PowerShell script in the background of a DMA upgrade, that needs to perform some actions after the DMA is up and running.
What should I check on my script (SL processes for example), to know if the DMA is up and running?
Hi, that is depending on the options that are available.
-The most easy thing to do is make a connection via SLNet and verify there if the DMA is up and running. But the downsides then are that credentials are needed to make the connection and these need to be stored safely somewhere. Second downside is that because of the upgrade the connection could not be compatible anymore (so you would need to make sure that it's using the same compatible client like the upgrade does).
-Checking SL processes is no guarantee that the DMA is fully started up. For example the SLProtocol process will be active, but elements are still starting up.
-A possibility could be checking the log files: SLWatchdog2.txt contains a log line "Startuptime sent...". SLDataMiner.txt contains a log line like "CServiceModule::RunFunc|CRU|0|Startup DataMiner succeeded in ". Downsides there are that logging files can get overwritten, the format of the logging is not guaranteed and could change. If the DMA is ever running in the cloud then there will also be no direct access to the log files anymore.
->It feels like the solution should come from inside the DMA itself instead of an external PowerShell e.g. through an automation script. This way the automation script has access to the SLNet connection to detect the full startup and could also launch a PowerShell script if really needed to perform some actions.