Pilot Data Server Administrator Guide

Version PDS-8.8 | Published December 21, 2021 ©

Configuration

This section covers the following topics:

Connecting to the Viz Pilot Database

The Pilot Data Server requires a connection to a Viz Pilot database with a schema of 5.7 or later. You also need a Pilot Data Server for each database instance, meaning you cannot share a Pilot Data Server. Configure using a full connection string with hostname and SID.

Setting up a Pilot Data Server User Account

The Pilot Data Server service can be run from two different user accounts, depending on where it will access files.

Note: By default, the Pilot Data Server service will run under the LocalSystem Account.

If Pilot Data Server is used without any Object Store storage, or if the Object Store storage is on the same computer as Pilot Data Server

  1. Run the Pilot Data Server service under the default LocalSystem Account.

If Pilot Data Server requires access to remote files, and the computers are in a domain

  1. Create a new Domain User Account. This needs to have:

    • Administrator access to the computer that runs Pilot Data Server.

    • Share access on the computer that hosts the Object Store files.

    • File system access to the actual files in the share.

  2. Change the service configuration to run the service as the Domain User.

  3. Set a complex password for this user, and set it to never expire. If the password expires, the service needs to be reconfigured to run with the new password.

  4. Run the Pilot Data Server service under the new Domain User Account.

    Note: A setup where Pilot Data Server requires access to remote files but the computers are not in a domain is not supported.

Configuring the Pilot Data Server Port

The default Pilot Data Server port is 8177. To change the port:

  1. On the Pilot Data Server machine, open the configuration file in a text editor: %ProgramFiles%\vizrt\Data Server\PilotScriptRunnerHostService.exe.config.

  2. Add or replace the following <settings> tag:

    <applicationSettings>
    <DataServer.Properties.Settings>
    <setting name="Port" serializeAs="String">
    <value>8177</value>
    </setting>
    ...

Configuring the STOMP Port

The default STOMP (Change Notifications API) port is 9876. To change the port:

  1. On the Pilot Data Server machine, open the configuration file in a text editor: %ProgramFiles%\vizrt\Data Server\PilotScriptRunnerHostService.exe.config.

  2. Replace the following:

    <setting name="ChangeServerPort" serializeAs="String">
    <value>9876</value>
    </setting>

    with:

    <setting name="ChangeServerPort" serializeAs="String">
    <value>7373</value>
    </setting>

    The port 7373 is used as an example value only.

    Note: Follow this link to go to the STOMP Protocol Specification.

Configuring the Script Runner

Script Runner is Viz Pilot’s update service that lets you update template data, such as stock values and player statistics, right before going on air.

Note: You can write Visual Basic scripts to modify the data; the scripts will run on the Script Runner. It's also possible to create your own external update service. For more information, see External Update Service in the Media Sequencer Manual bundled with the software.

The Script Runner uses port 1981 by default. To change the port:

  1. On the Pilot Data Server machine, open the configuration file in a text editor: %ProgramFiles%\vizrt\Data Server\PilotScriptRunnerHostService.exe.config.

  2. Change the port by modifying the following line:

    <add baseAddress="http://localhost:1981" />
  3. Save the file.

  4. Restart the Vizrt Script Runner service from the Windows Services window.

Configuring the Pilot Data Server for HTTPS

If HTTPS is configured, all endpoints of the Pilot Data Server can be accessed using the HTTPS protocol. To enable it, do the following:

1. Open the configuration file in a text editor as an administrator: C:\Program Files\vizrt\Pilot Data Server\PilotAppServerHostService.exe.config.

2. Replace the following:

<setting name="SecurePort" serializeAs="String">
<value/>
</setting>

with:

<setting name="SecurePort" serializeAs="String">
<value>7373</value>
</setting>
  • The port 7373 is here used as an example value only. The port number can be any number from 1024 to 49151. Choose a number that is not already in use.

3. A certificate that is mapped to the port number you provided is required on the PDS host machine. To install a certificate:

  • Create a self-signed certificate using the IIS Manager.

  • Next, install the certificate into Trusted Root Certification Authorities in the Certificate Manager, which is accessed through certmgr.msc.

  • You should then copy the Thumbprint of the certificate, which can be found by opening it and checking under "Details", for later use.

  • You then need your Application ID, which can be found by entering this command in the command prompt:

    {{netsh http show sslcert}}
  • Next, enter the following commands with your information in a command prompt with Administrator Privileges:

    netsh http add urlacl url=https://+:(YOUR PORT NUMBER)/ user=Everyone

    C:\> netsh http add sslcert ipport=0.0.0.0:(YOUR PORT NUMBER) certhash=(YOUR CERTIFICATE'S THUMBPRINT) appid={(YOUR APPLICATION ID)}

4. In the Pilot Data Server configuration, change the value for "data_server_url" to the entire HTTPS pathway, e.g. "https://bgo-eddie-vm:7373/". Alternatively, you may set the "pilot" URL parameter of the URL to Pilot Edge to use the new HTTPS pathway to the Pilot Data Server.

Note: Search providers and the Preview Server must also be in HTTPS environments in order for calls to them to work. To enable support for HTTPS requests for the Preview Server, see the Preview Server Administrator Guide.

Configuring the Pilot Edge Window in Director

Template Builder 1.3 and later lets users choose to open templates in a Pilot Edge window inside Director. Upon startup, Pilot Data Server 8.5 or later creates and optionally auto-populates a database parameter, called mos_plugin_url . This URL must contain a URL to Pilot Edge for the feature to work.

Modifying Database Settings

  1. Run the installer, and select the Change option.

  2. Update the database connection information: Connect string, Username and Password.

  3. Click Close.

  4. Restart the service Vizrt Pilot Data Server from the Windows Services window.

    IMPORTANT! If database settings are changed in the configuration files manually, any subsequent changes done through the installer will overwrite the manual changes. It is strongly recommended that users do not manually change anything related to the database in the configuration file.

Redundancy and Failover

Although Pilot Data Server has been designed without built-in redundancy, it does support being used with off-the-shelf third-party HTTP load balancers. As the name suggests, a load balancer's main function is to distribute requests among multiple servers. Multiple servers provide redundancy, and most load balancers come with an option to only route requests to servers that respond, which provides failover.

Both Barracuda Load Balancer ADC and HAProxy have successfully been used in front of Pilot Data Server.

Load Balancer Quick Setup

Quickly set up a HAProxy load balancer:

Prerequisites

  • Two (or more) hosts running Pilot Data Server, connected to the same database. They have host names pds1.example and pds2.example for the purpose of these instructions. Static IP addresses may be used instead.

  • A Linux host that we will turn into a load balancer. It has the host name proxy.example for the purpose of these instructions. This is the host used in the installation steps below.

Installation Steps

  1. On the Linux host, install HAProxy with the command sudo apt-get install haproxy.

  2. Edit /etc/haproxy/haproxy.cfg (for example with sudo nano /etc/haproxy/haproxy.cfg) and append the following lines:

    frontend http-in
    bind :8177
    default_backend servers
     
    backend servers
    server server1 pds1.example:8177 check
    server server2 pds2.example:8177 check
     
    listen stats
    bind :80
    mode http
    stats enable
    stats uri /
  3. Restart HAProxy with the command sudo service haproxy reload.

Notes

  • After following the steps above, it should be possible to use proxy.example:8177 in place for pds1.example:8177 and pds2.example:8177. Check whether the setup works by opening http://proxy.example:8177/ in a browser. The Pilot Data Server index page should load.

  • The above configuration also provides a monitoring page at http://proxy.example/ that shows which Pilot Data Server hosts are responding. This will not tell you whether the Pilot Data Server is working correctly, as hosts still respond when they cannot reach the database, for instance.