The EC2 snitches use datacenter and rack naming conventions inconsistent with those presented in Amazon EC2 APIs as region and availability zone. A discussion of this is found in
CASSANDRA-4026. This has not been changed for valid backwards compatibility reasons. Using SnitchProperties, it is possible to switch between the legacy naming and the full, AWS-style naming.
- introduce a property (ec2_naming_scheme) to switch naming schemes.
- default to current/legacy naming scheme
- add support for a new scheme ("standard") which is consistent AWS conventions
- data centers will be the region name, including the number
- racks will be the availability zone name, including the region name
- * legacy* : datacenter is the part of the availability zone name preceding the last "-" when the zone ends in -1 and includes the number if not -1. Rack is the portion of the availability zone name following the last "-".
- us-west-1a => dc: us-west, rack: 1a
- us-west-2b => dc: us-west-2, rack: 2b;
- standard : datacenter is the part of the availability zone name preceding zone letter. rack is the entire availability zone name.
- us-west-1a => dc: us-west-1, rack: us-west-1a
- us-west-2b => dc: us-west-2, rack: us-west-2b;