Hi,
As services templates like services and elements live on specific DMAs, will it be definable in the swarming API that they can move like elements?
With most of our service templates we change inputs etc via automation scripts, so re-apply the service template to update the filtering of tables from the attached elements, reducing the subscriptions and alarm information that propagates through to the service, which is currently a single point of failure in this process if the hosting DMA for the template is offline.
In the future, swarming will indeed also be possible for services (including service templates).
Service templates are not technically hosted anywhere (any agent can apply them), but the template definition is linked to a single agent which indeed might make it unavailable while that remote agent is down (if the agents didn't have contact before).
Since you're running service templates from automation scripts, it might be a good idea to check whether the TryCreateService message being used has a HostingAgentID / DataMinerID filled out. If it has, my recommendation would be to remove these, as having these will force the request to go towards that specific agent. If that agent is down, it will not be able to execute the request. If the fields are not filled out, the agent running the automation script will apply the service template instead. If that agent still has the service template definition in memory, that would be one less point of failure.
As long as the specified DMA in DataMinerID is reachable, all is fine.
When HostingDataMinerID is filled out => request is rerouted to that agent.
When DataMinerID is filled out but HostingDataMinerID is not => request is routed to the agent as specified in DataMinerID
When none is filled out => request is routed to the directly connected agent (local agent in case of Automation)
As for the fixed values: assuming you are referring to “fixed value” type input data in the service template definition, these are stored as part of the service template definition. Whenever the template get applied, these are available through its definition.
Hi Wouter,
We are using TryCreateServiceMessage, and defining DataMinerID, but with the ID of the DMA that the service is being updated on, rather than the one the template exists on, would that be fine, or should we remove that from DataMinerID from the message all together?
There is also some instances that we’re getting fixed values from the service template to use in the automation script, as we have several templates used with a single automation script; would the hosting DMA need to be running in this instance to get that information back, or is that cashed as well?