Technical Tip: FortiManager system template NTP server configuration fails with datasource invalid error when the interface field contains multiple variables
Description
This article describes an issue that occurs when configuring NTP settings using a FortiManager System Template, where multiple interface metavariables are added into the same NTP interface field.
For example:
$(Interface1) $(Interface2) $(Interface3)
During installation, FortiManager expands the metavariables to the actual interface names:
Interface1 Interface2 Interface3
The installation fails with the following error:
Copy device global objects
Post vdom failed:
error :131 - datasrc invalid. object: system ntp.:interface. detail: Interface1 Interface2 Interface3
Scope
FortiManager/FortiManager Cloud.
Solution
The issue occurs because the NTP interface field in the FortiManager system template does not handle multiple metavariables entered in the same row as separate interface entries.

As shown in the example above, when multiple metavariables are added in one interface field, such as:
$(Interface1), $(Interface2), $(Interface3)
FortiManager does not split them into three different interfaces. Instead, it expands the variables and treats the whole value as one single interface string.
For example, instead of validating the interfaces separately as:
Interface1
Interface2
Interface3
FortiManager reads them as one combined value:
Interface1 Interface2 Interface3
Since there is no interface on the target FortiGate with that full combined name, the validation fails and the installation may return:
error :131 - datasrc invalid
This is why the deployment fails when all metavariables are placed in the same NTP interface field.
The NTP interface field in a GUI-based FortiManager System Template should be treated as a list of individual interface entries. Each row represents one interface entry in the FortiGate configuration. Therefore, each row should contain only one interface name or one metavariable that resolves to one valid interface name.
As shown in the example below, the correct approach is to add a separate row for each metavariable:
$(Interface1)
$(Interface2)
$(Interface3)
With this configuration, FortiManager validates each resolved metavariable as an individual interface object. This matches the expected behavior of the NTP interface datasource field and prevents the following error:
131 - datasrc invalid installation failure.