- 03 Dec 2024
-
DarkLight
-
PDF
Server Name & ServerId in the Properties JSON
- Updated on 03 Dec 2024
-
DarkLight
-
PDF
The properties.json
file is located at the root level of the installation directory and serves to initialize the Itential platform. Once initialization is complete, IAP reads the properties.json
file to get its basic configuration.
Additional configurations supported by the properties.json
include serverName
and the serverId
property, which are described below.
Server Name Property
⚠ The serverName property was deprecated in the IAP/2023.1 release and scheduled for removal in the IAP/2024.1 release. The replacement property is serverId. Refer to ServerId in the properties.json for more detail.
The serverName
property allows administrators to define a uniquely identifying name for each Itential Automation Platform (IAP) server in their environment.
Property Name | Type | Description |
---|---|---|
serverName |
String | Specifies the name that the server uses to identify itself. Any valid string can be used, but it is suggested that each name is unique to its environment. If a string is not provided, serverName defaults to using a hashed value derived from the MAC address and IAP port values of the server. |
Note: The /status
API call returns the name of the server containing the current database. If serverName
is missing or invalid, the /status
API will return a null reference value.
Sample Configurations
The configuration examples presented below show unique names that easily identify each server.
Example 1
"serverName": "ecs-1.example.com"
Example 2
"serverName": "ECSH01234"
ServerId Property
The serverId
property allows admins to define a uniquely identifying name for each Itential Automation Platform (IAP) server in their environment. The serverId
value is set in the properties.json file, and it provides a user-friendly, consistent way to set a server name. Moreover, by using serverId
values, admins no longer have to rely on generated IP addresses. Lastly, serverId
values can be utilized in a Blue-Green deployment.
Sample Configurations
Single Server
This example shows a unique name to easily identify the server.
"serverId": "iap-1"
Multi-Server
This advanced configuration shows three (3) unique server names in a primary data center and three (3) in a secondary data center.
PRIMARY DATACENTER
"serverId": "IAP1.primary"
"serverId": "IAP2.primary"
"serverId": "IAP3.primary"
SECONDARY DATACENTER
"serverId": "IAP1.secondary"
"serverId": "IAP2.secondary"
"serverId": "IAP3.secondary"
Implementing the ServerId
When changing (or adding) the serverId
value while restarting IAP, any tasks in the “running” state that are NOT in the task types list below will be orphaned.
Task Types
- childJob
- manual
- forEach
- eventListener
This will only be an issue when the serverId
value is first set or changed. Each subsequent restart will not have orphaned jobs as long as the serverId
has not been changed. Itential recommends that admins pause the task worker and have no running jobs when setting the serverId
.
If an IAP stack has a Disaster Recovery (DR) implementation, it is important to ensure the DR IAP cluster does not contain duplicate serverId
values from the primary cluster. At the moment, IAP only checks for duplicate serverIds at the cluster level, not the global level. If duplicate serverIds exist, it is possible for tasks to be orphaned when the load balancer switches from the DR to the primary cluster.