I need to update a system function on a DMS composed of nine agents with failover. I've adjusted a function package with the change (a modification on the interface name and profile), but the import script (SRM_ImportFunctions) only reports changes on the associated profiles, leaving the target function intact.
Is there a way to force the update of this system function DMS-wide? Other than stopping all the agents and then manually copying the file on each one.
There's a call available that allows to do this via an automation script:
ProtocolFunctionHelper funcHelper = new ProtocolFunctionHelper();
List<SystemFunctionDefinition> allSystemFunctions = new List<SystemFunctionDefinition>
funcHelper.ReplaceActiveSystemFunctionDefinitions(allSystemFunctions, "1.0.0.1");
Hi Gelber,
I'm not aware of a possibility to add an SRM system function file without restarting the DataMiner Agent. Any other SRM function can be uploaded through the Protocols & Templates App, but system function will require a restart, as far as I know.
A possible idea would be to add the file on a single DMA, restart, and then use the System Center > Tools > synchronization to force synchronize the file.
Just for your information, a new software feature is currently in the backlog to provide a way to upload the system functions through Cube.
Thanks Leander and Ive. I decided to go with the automation avoiding the restart of any agent and leaving the responsibility to replace the functions in all agents to our internal framework.
Hi Tim. Thanks for the feedback. I’ve been able to push changes to the DMS by using the ProtocolFunctionHelper in an automation script. The script reads a copy of a functions.xml file (where I have the changes) and then replaces the active system functions.