Opendistro for elasticsearch to OpenSearch Upgrade Issues

Hello People,

I am trying to upgrade my Opendistro for Elasticsearch Cluster to OpenSearch 1.2.2 using the Rolling Upgrade method.

My Cluster has;

  • 3 Master Nodes,
  • 2 Data Nodes,
  • 2 Coordination Nodes,
  • 1 Kibana Node.

I started with data nodes, moved towards coordination nodes and everything was working as expected until I moved to the master nodes. When I upgraded the 1st master node, the node left the cluster and was not able to join again. When I rotated 2 nodes same thing happened and my cluster broke. I was able to see 3rd master node with 2 data, 2 coordination nodes when I try to query nodes information via coordination nodes.

When I checked 2 master nodes that did not join the cluster, I saw they started a new cluster with a different UUID. With this, I also saw this error message.

SSLHandshakeException: Insufficient buffer remaining for AEAD cipher fragment (2). Needs to be more than tag size (16)
[opensearch-cluster-master-0] master not discovered or elected yet

After a struggle of a few hours, I luckily ran into this BUG. So setting "majorVersion": "7" solved my issue as I was using "discovery.seed_providers" : "ec2".

My question is, why this “majorVersion” is not documented? or at least I could not find it and not even in the default opensearch.yaml file that comes with container opensearchproject/opensearch:1.2.1.

Secondly, I was able to configure master, data nodes using node.roles. However, It did not work for coordination nodes. Why is that?

I had to use the following to configure coordination nodes properly.

"node.master" : "false"
"node.data" :  "false"
"node.ingest" : "false" 
"node.remote_cluster_client" :  "false" 

Thank you for your help in advance.

I recently performed this same upgrade, from OpenDistro to OpenSearch 1.2.2.
I did not encounter the problem you describe. My upgrade went smoothly according to documentation.
I’m guessing some significant portion of your running config changed during the upgrade to produce the results you describe.

Regarding coordinating nodes: A “coordinating node” is the language used to describe a node which is configured as you describe - with all other roles explicitly disabled. What you’ve pasted is expected configuration and behavior. Node | Elasticsearch Guide [7.10] | Elastic