Provisioning overview

Provisioning is available as a licensed feature of a station running on a Supervisor. Provisioning automates tasks to perform on remote hosts in the station’s NiagaraNetwork. For the most part, these are platform tasks—that is—they would otherwise be done using Workbench. Provisioning robot tasks allow the running of custom program code in the host station (executed by each station’s ProgramService). The Supervisor station automatically performs these tasks, which are modeled in the station as provisioning jobs.

Outside of provisioning, you would have to perform similar tasks on each station using (full) Workbench and one of the following methods:

  • Making individual platform connections directly to remote hosts, then using the appropriate platform views.
  • Making individual tunneled platform connections to remote hosts, then using the appropriate platform views.
  • In the case of provisioning robots, by opening station connections and then copying and executing program objects.

For details about the platform user interface, see the Niagara Platform Guide.

Provisioning provides these advantages over individual platform (or station) connections:

  • When provisioning, you need only one station connection—to the Supervisor, and no other connections (platform or otherwise). This means that you can run a provisioning job from any location where you can open the Supervisor station. Even using Web Workbench (ordinary platform tasks cannot be done using Web Workbench).
  • Provisioning allows the same series of tasks (executed as job steps), to be run on any number of target hosts. Job steps execute sequentially on a single host. Provisioning is useful when performing the same tasks on multiple stations, such as when implementing a company-wide software upgrade, or a periodic backup of all hosts’ station configurations. Starting in Niagara 4.7, it is possible to execute these jobs in parallel across stations. The minimum parallel job count depends on the Supervisor's hardware architecture (tied to the number of CPU cores of the host machine). The maximum parallel job count is 10. A specific value can be changed by setting the Max Provisioning Threads property on the BatchJobService component.
  • By default, provisioning provides persistent storage of all jobs on the Supervisor, including all statistics associated with each job and step (creating user, begin and end job times, step details, log output, and so on). In the case of station backups, any saved .dist file can also be restored directly from its batch job step log— via a Restore function, which executes it as another provisioning job.

There are two types of provisioning jobs.

  • The first is a job intended to be run only once, usually immediately. You build this type of provisioning job using the Niagara Network Job Builder, which is the default view accessed by double-clicking the NiagaraNetwork’s ProvisioningNwExt component.
  • The second type of job is one that is intended to be run on a regular basis, called a prototype job. This is the type of job you would set up to back up all station configuration data. A prototype job is linked to a TriggerSchedule, which specifies when it runs. A prototype job can also be run immediately.

In addition to setting up and running provisioning jobs, provisioning (device) extensions in each station require configuration as well as provide additional provisioning services, under each station modeled in Drivers > NiagaraNetwork.