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.

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)

Prerequisites

Ensure that you review and complete all the prerequisites before proceeding with the execution.
  • Infrastructure
    • Firewall rules and ports opened.

      For more information, see Image based replication.

    • DNS resolution validated between all nodes.
    • System time synchronized (NTP).
  • 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

  1. Stop all services on the cluster.
    1. On all three existing servers, stop all Control Room services including Elasticsearch.
    2. Verify all services are stopped before proceeding.
  2. Remove any old or existing IP addresses from the load balancer.
  3. 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.
    1. Edit the database server URL to point to the intended database server in: boot.db.properties.
      Sample config to be updated with the new IPs are highlighted below:
      ignite.discovery.static.ips=172.134.1.252,172.134.1.119,172.134.1.129
      ignite.local.static.ip=172.134.1.119
    2. 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.

    3. 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>"]
  4. 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.

  5. Update Elasticsearch configuration in database.
    Use the following instructions to update the first-node IP for the new cluster in the database:
    1. UPDATE ES_SETTINGS
    2. SET value = '<NewClusterFirstNodeIP>'
    3. WHERE attribute = 'first_node_ip';
    4. Replace <NewClusterFirstNodeIP> with Node 1 IP of the new cluster.
    5. Use the following to verify the update:
      SELECT attribute, value FROM ES_SETTINGS WHERE attribute = 'first_node_ip';
  6. Start Elasticsearch on all the three nodes.
    Ensure that you start the Elasticsearch service in the following order:
    1. Node 1 — Start Elasticsearch, wait for it to become available.
    2. Node 2 — Start Elasticsearch.
    3. Node 3 — Start Elasticsearch.
  7. 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 UNASSIGNE

      GET _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.
  8. Start the Control Room services.
    After confirming that the Elasticsearch cluster health is Green, start all the Control Room services on all three nodes:
    • Node 1
    • Node 2
    • Node 3
  9. Add the new IP address under the load balancer.

Next steps

Post-execution validation
Control 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.