Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Admins should be allowed to dedicate a Public IP range to a specific account
  • The range can be dedicated to an account either during the IP range creation or after it has been created
  • If admin tries to dedicate a non-existent IP range or an already dedicated IP range then the request should fail
  • If by dedicating the IP address range, the account’s Public IP limits are exceeded the request should fail

Creating a Public VLAN IP range

  • During VLAN Public IP range creation, if admin specifies an account then the range should be dedicated to that account
    • But unlike the current CS behavior, all the IPs belonging to the range should not get acquired by a network in that account during dedication

...

  • Admin should be allowed to release a Public IP range that is dedicated to an account back to the system pool
    • Even If any of the IP’s belonging to the range are in use (load-balancing etc.) the release should fail, the IP range should be released back to the system pool
      •  The IP's that are in use should continue to be acquired by the account in which it is being used
    • If any of the IP’s have been acquired but are not in use then the IP’s should be disassociated and the entire range should be released back to the system pool(keeping with the current behavior)

Deleting a Public VLAN IP range

  • No change in behavior, the IP range should be deleted

...

  • If a network being deleted has acquired IPs from a dedicated IP range then even after the network deletion the IPs should continue to be dedicated to the account

...

  • When an account is deleted, the IP ranges associated with the account should also be deletedbe released back to the system pool

Use cases

  • Admins would like to reserve a fixed set of Public IP Addresses for a tenant.

...

ApiName

Request parameters

Response parameters

Available only for root admin

dedicatePublicIpRange 

  • id

dedicateVlanIpRange 

  • vlanid (id of the VLAN Public IP range, type - uuid, required - true)
  • account (account who the VLAN Public IP range will be dedicated to, type - String, required - true)
  • domainid (domain ID of the account the VLAN Public IP range is dedicated to, type - uiduuid, required - true)

VlanIpRangeResponse

releasePublicIpRange  Yes

releaseVlanIpRange 

  • vlanid id (id of the VLAN Public IP range, type - uuid, required - true)

Boolean Yes

Both the new APIs are available only for the ROOT admin

Existing API’s to be modified - None

  • None

UI flow changes

  • In Infrastructure -> Zones -> <zone> -> <physical network> -> Public under ‘Ip Ranges’
    • If there are no accounts associated with the Ip range show an Add button next to the range
      • If the button is clicked provide the same widget as the one for CreateVlanIp Ranges that allows the admin to provide account name and domain
      • Action to perform – Call DedicatePublicIpRange API with id set to the id of the vlan ip range and account and domainId set to the values provided in the button
  • In Infrastructure -> Zones -> <zone> -> <physical network> -> Public under ‘Ip Ranges’
    • Add an action to remove the account the IP range is dedicated to
    • Action to perform – Call ReleaseVlanIpRange ReleasePublicIpRange API with vlanid set to the id of the vlan ip range

...

Current DB configuration for dedicated Public IP range,

In table

...

‘account_

...

vlan_map’ will have an entry for every Public IP range that is dedicated to an account

Parameter name

description

id (primary)

 

account_db_id

account the IP range is dedicated to

vlan_db_id

db id of the IP range

...

Open Issues

  • To avoid a potential starvation should there be a minimum (configurable limit) number of ranges that should always belong to the system pool?

...