You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Introduction

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

  • account name
  • domain id
  • region id

releaseElasticIpAddress

associateElasticIpAddress

disassociateElasticIpAddress

listElasticIpAddress

Schema changes

Action Events

Usage events

Upgrade

Risk/Open Issues 

  • No labels