Update nodes in a cluster setup

In a multi-node cluster setup, when you update from Automation 360 v.27 and earlier versions to Automation 360 v.28 and later versions, the installation might fail if any Elasticsearch indexes created by Elasticsearch 6.x are present or the node update to OpenSearch happens in an unordered manner.

Elasticsearch indexes created by Elasticsearch 6.x cannot be updated to OpenSearch. You must update all the Elasticsearch indexes from Elasticsearch 6.x to Elasticsearch 7.x before you update the Control Room to Automation 360 v.28 and later version.

Prerequisites

  • Ensure that all the Control Room services (except the Automation Anywhere Elastic Search Service) are stopped in all the nodes in the three-node cluster.
  • Before you run the installer on the node ensure that the Automation Anywhere Elastic Search Service has started and is running.
    Note: This update procedure is applicable when you are updating from Automation 360 v.27 and earlier versions to Automation 360 v.28 and later versions.
Consider a scenario where you have to update a three nodes cluster with the following IP addresses:
  • N1: 10.239.178.41
  • N2: 10.239.178.6
  • N3: 10.239.180.39
To successfully update to Automation 360 v.28 and later versions, perform the following steps:

Procedure

  1. Identify the Elasticsearch primary node by running the below API from any browser on any one of the three Control Room nodes.
    GET https://<ES_IP>:<ES_PORT>/_cat/nodes?v=true&h=id,ip,port,v,m

    A prompt for the Elasticsearch username and password is displayed while running the API.

    For example:

    GET --user username: password

    https://10.239.180.39:47599/_cat/nodes?v=true&h=id,ip,port,v,m


    Identify the ES primary node
    curl -k -X GET --user username: password
    https://10.239.180.39:47599/_cat/nodes?v=true&h=id,ip,port,v,m
    Note: The Elasticsearch primary node is indicated by an asterisk character (*).
    In this example, N1(10.239.178.41) is the primary node when Automation Anywhere Elastic Search Service is running on all the three nodes.
  2. Run the installer (Automation 360 v.28 or later) on N1(10.239.178.41).
    After a successful installation, N1(10.239.178.41) is on Automation 360 version (v.28 or later) that you have installed with the OpenSearch libraries.
  3. Stop all the Control Room services and the Automation Anywhere Elastic Search Service on N1(10.239.178.41)
  4. Identify the new Elasticsearch primary node by running the API request from any browser on N2(10.239.178.6) or N3(10.239.180.39).
    In this example, N3(10.239.180.39) is the new Elasticsearch primary node.
  5. Run the installer (Automation 360 v.28 or later) on N3(10.239.180.39).
    After a successful installation, N1(10.239.178.41) and N3(10.239.180.39) are on Automation 360 v.28 or later version with the OpenSearch libraries.
  6. Stop all the Control Room services on N3(10.239.180.39.`
    Ensure that the Automation Anywhere Elastic Search Service is also stopped on N3(10.239.180.39).
  7. Stop the Automation Anywhere Elastic Search Service on N2(10.239.178.6).
  8. Start all the Control Room services on N1(10.239.178.41) and N3(10.239.180.39).
    Ensure that the Automation Anywhere Elastic Search Service is up and running on N1(10.239.178.41) and N3(10.239.180.39).
  9. Start the Automation Anywhere Elastic Search Service on N2(10.239.178.6).
  10. Run the installer (Automation 360 v.28 or later) on N2(10.239.178.6) and complete the update on all three nodes of the cluster
  11. Identify the new Elasticsearch primary node using OpenSearch libraries by running the above API request from any browser on N1(10.239.178.41), N2(10.239.178.6), and N3(10.239.180.39).
    This will validate the state of the cluster after you update Automation 360 to v.28 or later version.