- 30 Jan 2025
-
DarkLight
-
PDF
Server Name & ServerId in the Properties JSON
- Updated on 30 Jan 2025
-
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, Itential Platform 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 2023.1 release and scheduled for removal in the 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 Platform 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 Itential Platform 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 Platform 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 Itential Platform, 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 Itential Platform stack has a Disaster Recovery (DR) implementation, it is important to ensure the DR Itential Platform cluster does not contain duplicate serverId
values from the primary cluster. At the moment, Itential Platform 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.