This topic describes the instructions to be followed when you change
the IP address of existing Control Room servers and Database servers without
re-installing Automation 360.
About this task
Review this topic to update
Control Room and Database server IP addresses
without a reinstall, when:
- You have an existing Database server with new IP.
- An existing server repository is retained.
- Self-signed Elasticsearch certificates are in use.
- There are existing Control Room servers — IP addresses are
changing only (no reinstall)
Before you begin
Ensure that you review and complete all the prerequisites
before proceeding with the execution.
- Infrastructure
- Certificates
SAN entries include new server host names or IP
addresses.
- Backup
Note: Do not proceed
further without completing all backups.
- Control Room database backup is done.
- Virtual Machine (VM) snapshot of all Control Room nodes
are available.
Some additional config backup just to validate post config changes if
there are any discrepancies without restoring VM snapshot.
- C:\ProgramData\AutomationAnywhere\elasticsearch\` backed
up
- C:\Program Files\Automation
Anywhere\Automation360\elasticsearch` backed up
- C:\Program Files\Automation Anywhere\Automation360\config
backed up
- Elasticsearch Baseline
Capture and record Elasticsearch health from the old cluster before making
any changes.
Procedure
-
Stop all services on the cluster.
-
On all three existing servers, stop all Control Room
services including Elasticsearch.
-
Verify all services are stopped before proceeding.
-
Remove any old or existing IP addresses from the load balancer.
-
Update configurations so that they point to new IP addresses.
Edit the configuration files related to the database server, Ignite cluster,
and
Elasticsearch to form the clusters in the configuration
directory.
On a standard installation, the files are located at
C:\Program Files\Automation
Anywhere\Enterprise\config.
- Edit the database server URL to point to the intended database server in:
boot.db.properties.
Sample config -
Ensure that you update the
Microsoft SQL Server
with the new DB
serverIP/Hostname.
boot.db.url=jdbc:sqlserver://EC2AMAZ-F0DHPS3:1433;databaseName=Automation360-Database;integratedSecurity=true;encrypt=false
boot.db.name=Automation360-Database
- Edit the
cluster.properties file.Replace the
list with a new server IP in:
ignite.discovery.static.ips=<existing list of
ips>, <current server ip> and
ignite.local.static.ip.
- Edit the following properties in the
elasticsearch.yaml/Opensearch.yml depending on the CR
Vesion file:
- Add the current server address in:
node.name:
"<local-ip>".
- Add the current server address in:
network.host:
"local-ip"
- Leave the existing values intact and replace the IP of the
current server in:
discovery.zen.ping.unicast.hosts:
["ip1","ip2","ip3"]
- Find the primary node and replace the respective new IP in:
cluster.initial_master_nodes:
["<master-ip>"]
-
Truncate Ignite Cluster table.
Connect to the
Control Room database and execute the following
SQL to clear the stale cluster node
registrations:
TRUNCATE TABLE IGNITE_CLUSTER;
This
forces the cluster to re-discover nodes using the new IP addresses on next
startup.
-
Update Elasticsearch configuration in database.
Use the following instructions to update the first-node IP for the new cluster
in the database:
-
UPDATE ES_SETTINGS
-
SET value = '<NewClusterFirstNodeIP>'
-
WHERE attribute = 'first_node_ip';
-
Replace <NewClusterFirstNodeIP> with Node
1 IP of the new cluster.
-
Use the following to verify the update:
SELECT attribute, value FROM ES_SETTINGS WHERE attribute =
'first_node_ip';
Note: If the deployment is configured
with a High Availability (HA) or Disaster Recovery (DR) setup, perform
Steps 1 through
Step 3 on the corresponding HA/DR
servers as well. After completing
Step 5, run the following SQL
queries to update the primary and DR node IP addresses:
- UPDATE ES_SETTINGS
- SET value =
'<NewClusterFirstNodeIP>'
- WHERE attribute = 'first_node_ip';
- UPDATE ES_SETTINGS
- SET value = '<DRFIRSTNODEIP>'
- WHERE attribute = 'first_backup_node_ip';
Where:
<NewClusterFirstNodeIP> is the Node 1 IP
address of the new cluster.
<DRFIRSTNODEIP> is the IP address of the
first DR server node.
-
Start Elasticsearch on all the three nodes.
Ensure that you start the Elasticsearch service in the
following order:
-
Node 1 — Start Elasticsearch, wait for it to
become available.
-
Node 2 — Start Elasticsearch.
-
Node 3 — Start Elasticsearch.
-
Perform Elasticsearch health checks.
Run the following command from any node and validate the
responses:
GET _cluster/health
Ensure that you see the following
response:
{
"status": "green"
}
- Run the following command to verify all three nodes are listed and their
roles are correct:
GET _cat/nodes?v
- Run the following command to verify that the shards are allocated
properly with no
UNASSIGNEGET
_cat/allocation?v
- Run the following command to verify that the shard state is
STARTED — no INITIALIZING or
UNASSIGNED shards:GET
_cat/shards?v
Note: Ensure that you do not
proceed to the next step until cluster status is Green.
-
Start the Control Room services.
After confirming that the
Elasticsearch cluster health is
Green, start all the
Control Room services on all three nodes:
-
Add the new IP address under the load balancer.
What to do next
Post-execution validationControl Room
validation
- Ensure that the new node host names are getting resolved through the DNS
server.
- Control Room UI is accessible through the new IP or host
name.
- You are able to login successfully.
- All the Control Room services are running.
- Automations are visible in the Control Room.
- You are able to execute a sample automation successfully.
Audit log validation
- All the previous or old audit logs are available.
- New audit logs are being generated after rehydration.