Introduction
While managing a cloud infrastructure, it is sometimes necessary to make changes in network ranges or the reassign IP addresses to routers. Previously, all network addresses were changeable except for the Source NAT (Network Address Translation) address of a Virtual Private Cloud (VPC) or an Isolated Network. However, with Apache CloudStack 4.19, this will be possible.
Feature Description
In CloudStack 4.19, an extension has been implemented that enhances the functionality of the APIs (Application Programming Interfaces) for creating or updating networks and VPCs. The APIs `createNetwork`, `createVPC`, `updateNetwork`, and `updateVPC` have now been supplemented with a new parameter, `sourcenatipaddress`.
Creating Networks and VPCs with Specific Source NAT Address
In the context of `createNetwork` and `createVPC` APIs, this new parameter will trigger an attempt to acquire the specified address as the source NAT address. If the provided address is not within a defined range for the zone or has already been assigned to another Network the Network creation will fail, and you will need to make a new attempt using a valid address or allow CloudStack to assign one automatically. Alternatively, initially choose an existing Network and then modify the source NAT address later using the `updateNetwork` or `updateVPC` APIs.
Updating Existing Networks and VPCs with a New Source NAT Address
When it comes to the update APIs, `updateNetwork` or `updateVPC`, the `sourcenatipaddress` parameter needs to be a Public IP Address that the given network has already acquired.
User Interface
The user interface (UI) implements this functionality for both the creation and updating processes. Moreover, the Source NAT address can be chosen from the list of APIs for the network with a single click, adding an extra layer of convenience for users as shown below:
Conclusion
The ability to customise the Source NAT address in networks and VPCs is a new feature that will be introduced in the upcoming Apache CloudStack 4.19 LTS release. This added functionality offers users more control and flexibility in managing CloudStack Networks.
Daan Hoogland has been a developer for 30 years. He joined the CloudStack community in 2012 and became a committer in 2013 and a PMC member later that year. After working on CloudStack during his time at Schuberg Philis and Leaseweb, Daan joined ShapeBlue in 2017 where he now builds and maintains CloudStack installations for several large customers and is part of the Software Engineering team. As a professional Daan subscribes to the idea that learning one language per year is a good objective. In. his free time, he enjoys cycling.