Versions Compared

Key

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

...

Currently in cloudstack we can add multiple public ip IP ranges. we want to provide similar flexibility for management and guest ip IP ranges.
Presently we can add multiple guest ip IP ranges within the same subnet in Basic Zone but we cannot add ip IP ranges form different subnets.

This feature provides this functionality for adding guest ip IP ranges in Basic zone and management ip IP range for both the advanced and basic zones.

...

There may be cases where admin may want to add more ip IP address once the old ones are exhausted. Admin may want to add the ip IP ranges form the same subnet or from different one. Currently in cloudstack there is no flexibility to do this for management Ips and guest ip IP ranges.

Design description:

...

presently the createVlanIpRange api API is used to add the guest ip IP range to a network (shared) in basic zone. The ips IPs mentioned in this range are assigned to the guest VMs. These are public ips IPs and allow guest to communicate with the internet. Presently we can add multiple ranges form the same subnet but not from a different one. This feature will extend the createVlanIpRange to add guest ips IPs from a different subnet, to a shared network in basic zone.

...

API Name

API parameters

API response

Available only for root admin

createVlanIpRange

Using the existing parameters. no new parameters will be added

returns the ip IP ranges

yes

for description of existing parameters please refer this page. http://incubator.apache.org/cloudstack/docs/api/apidocs-4.0.0/root_admin/createVlanIpRange.html

Validation.
#1 Will fail if the zone is not a basic zone or if forvirtual network is true.
#2 if the ip IP is from a different subnet, netmask and gateway should be provided.

Implementation detail.
In cases where a ip IP range form a different subnet is added, we need to configure an nic with a ip IP form the this new subnet or add this ip IP to the existing nic. This is required as the ip IP to the guest VMs is allocated using a DHCP server. So the router should have a interface on the new subnet to listen for the DHCP request coming form VMs in the new subnet.

execution flow.
#1 validate the inputs.
#2 if the ip IP range is form the new subnet add the new range.
pick one of the ips IPs form the new range and configure a interface with this ip IP on the VR.
configure the DHCP server to listen on this new interface.(Also need to configure the DHCP server to work with the new interface.)
#3 if not form a different subnet add them.

Note. The admin should manually configure the gateway of the new subnet before adding the ip IP range.

Addition of Management (pod) Ips in both Advance and Basic zone.

Currently there is no way to add additional pod ip IP ranges. This feature will enable adding pod IP ranges from same subnet or different subnet. The pod ipranges IP ranges (private Ips) are assigned to router vms and systemvms. The ip IP configuration is passed in as boot args. So in this case we need not configure the DHCP server.

...

we intend to use the deleteVlanRange API to delete the ip IP ranges. The operations will be atomic. this will fail if any IP form the remove range is being used.

...

The Pod IPs can be removed only when they are not in use. We intend to do this by modifying edit pod API.
Currently the edit pod api can be used to change the gateway, netmask and private ip IP range of a pod. We will extend this api to support removal of a particular private ip IP range or an entire subnet. The edit pod API will make atomic changes (all or nothing )ie if the remove ip IP range contains any IPs that are in use the edit api will throw an error and will not succeed partially.

...