Unassigned shards after node was restarted

I am using v7.5.2, I have 10 nodes, 6 Data nodes having 8 TB of data and there is plenty of space left.

I have an ILM policy to rollover index after a month from Hot to warm.

I restarted a node after minor config change and I have 60-80 unassigned shards.
I have tried this API to allocate the replica.

POST _cluster/reroute

 "allocate_replica": {
           "index": "prod-2020.04.23-100077",
           "shard": 0,
           "node": "10thnode"
}

I get this error constantly, spent whole day to resolve without much help.

{"error":{"root_cause":[{"type":"remote_transport_exception" ...
...

[NO(node does not match index setting [index.routing.allocation.require] filters [data:"warm"])]

...

Please note I have displayed only the "NO".

Any help please?

An unassigned shard means the master can not find any shard copies after the restart!

The reason for Unassigned is because of "NODE_LEFT" not because master didn't find any copies.

I found out from the "_cat/shards" API.