You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Gregory Ramsperger (JIRA)" <ji...@apache.org> on 2014/08/27 18:03:58 UTC

[jira] [Updated] (CASSANDRA-7839) Support standard EC2 naming conventions in Ec2Snitch

     [ https://issues.apache.org/jira/browse/CASSANDRA-7839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Ramsperger updated CASSANDRA-7839:
------------------------------------------

    Description: 
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. 

Proposal:
* introduce a property (ec2_naming_scheme) to switch naming schemes.
* default to current/legacy naming scheme
* add support for a new scheme ("full") 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


Examples:
* * 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; 
* *full* : 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; 



  was:
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. 

Proposal:
* introduce a property (ec2_naming_scheme) to switch naming schemes.
* default to current/legacy naming scheme
* add support for a new scheme ("full") 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


Examples:
* * 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; 
* *full* : 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; 




> Support standard EC2 naming conventions in Ec2Snitch
> ----------------------------------------------------
>
>                 Key: CASSANDRA-7839
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7839
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Gregory Ramsperger
>         Attachments: conditionally-use-full-Amazon-style-naming-for-dc.patch
>
>
> 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. 
> Proposal:
> * introduce a property (ec2_naming_scheme) to switch naming schemes.
> * default to current/legacy naming scheme
> * add support for a new scheme ("full") 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
> Examples:
> * * 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; 
> * *full* : 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; 



--
This message was sent by Atlassian JIRA
(v6.2#6252)