You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 8
Next »
Introduction
introduce 'elasticity'
Purpose
Document History
References
[1] http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
[2] http://support.rightscale.com/09-Clouds/AWS/02-Amazon_EC2/Designing_Failover_Architectures_on_EC2/00-Best_Practices_for_using_Elastic_IPs_(EIP)_and_Availability_Zones
[3]
Scope & Assumptions
Semantic differences from AWS EIP
Functional requirements & non-requirements
- introduce notion of 'EIP' pool that will be associated with a region
- Admin be able to add, delete, list the entries/range in to the EIP pool
- Users be able to acquire, release, associate, disassociate, transfer and list EIP's
- Users be able to associate EIP with any VM in either basic or advanced zone
- Support for NetScaler as EIP service provider is P1, VR is P2, but the design should be generic so any NAT provider can be enhanced to act of EIP service provider
- When EIP is transferred from VM in a zone to VM in another zone, CloudStack will not be responsible for the actual router advertisements but will provide a ways (alert, event etc) on which admin can act up on
- no support for the VPC
Detailed Design
API
Current set of associateIpAddress, disassociateIpAddress API's used to acquire and release a public IP is restricted to zone level public IP. Also, associateIpAddress is actually combines acquiring and associating the IP with a network. Once associated with a network, there is only disassociate operation available on public IP, so public IP association can not be changed from one network to another. Due to semantic differences its not best wat to extend the existing set of API's dealing with public IP management to be extended to manage EIP pool of IP's. With this premise following set of API's shall be introduced.
allocateElasticIPAddress
acquires an EIP IP from the pool of elastic IP's provisioned at region level
Request parameters:
- account name; account that owns the EIP
- domain id: domain id of the account
- region id: region from which EIP shall be allocated
API Response: ElasticIpAddressReponse
releaseElasticIpAddress
release EIP acquired previously
Request parameters:
API response: will return 'SuccessResponse' on success
associateElasticIpAddress
disassociateElasticIpAddress
listElasticIpAddress
Schema changes
Action Events
Usage events
Upgrade
Risk/Open IssuesÂ