You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Both tasks above effectively require that scylla group includes all nodes from the cluster and that these nodes are accessible from where the Role is invoked.
This may become a hard to achieve requirement for multi-cloud setups where each DC is provisioned in different clouds, e.g. AWS and Azure.
If we run a Role for the inventory/group that includes only nodes from a single DC we don't need to know anything about other DCs' nodes except for their tokens in the context of the code above.
In order to get the list of all nodes' broadcast_addresses without actually having access to them but with an alive node that has already joined the cluster one can use the following REST API:
system_distributed_everywhere KS is always present and is always replicated on every node in the cluster.
Once we get the list of all nodes in the cluster the rest of the code above can remain the same - we would only iterate on that list instead of the groups['scylla'] and use items from that list instead of hostvars[item.item]['broadcast_address'] .
The text was updated successfully, but these errors were encountered:
HEAD: dc53597
Description
The code that generates tokens reads existing token ring information as follows
Both tasks above effectively require that
scylla
group includes all nodes from the cluster and that these nodes are accessible from where the Role is invoked.This may become a hard to achieve requirement for multi-cloud setups where each DC is provisioned in different clouds, e.g. AWS and Azure.
If we run a Role for the inventory/group that includes only nodes from a single DC we don't need to know anything about other DCs' nodes except for their tokens in the context of the code above.
In order to get the list of all nodes' broadcast_addresses without actually having access to them but with an alive node that has already joined the cluster one can use the following REST API:
/storage_service/describe_ring/system_distributed_everywhere
system_distributed_everywhere
KS is always present and is always replicated on every node in the cluster.Once we get the list of all nodes in the cluster the rest of the code above can remain the same - we would only iterate on that list instead of the
groups['scylla']
and use items from that list instead ofhostvars[item.item]['broadcast_address']
.The text was updated successfully, but these errors were encountered: