Allow manual assignment of VR public IP address in Routed Mode networks
- Lingua principale
- Java
- Stelle
- 3.1k
- Fork
- 1.4k
- Merge medio
- 6g 19h
- PR unite (30g)
- 32
Descrizione
### The required feature described as a wish
Hi,
**Description**
In routed mode networks, the VR currently receives its public IP address dynamically from the available public IP pool. There is no supported mechanism to manually assign or pin a specific public IP address to the VR itself.
For operators integrating CloudStack into existing routed infrastructure, deterministic VR public IP assignment is often required for:
- Upstream firewall rules
- Static routing policies
- BGP/edge integrations
- Monitoring and observability
- DNS and reverse DNS consistency
- HA/failover operational predictability
- Migration scenarios from existing infrastructure
**Current Behavior**
When a routed mode network is created, the VR public IP is automatically selected from the public IP range by CloudStack.
**Operators cannot:**
- Specify a desired public IP during network creation
- Reserve a public IP specifically for VR assignment
- Reassign the VR to a chosen public IP after deployment
**Proposed Feature**
As an Operator I would like to deterministicly assign public IP address of a VR in Routed Mode networks.
**Proof of Concept / Observed Behavior**
I tested this by modifying the validation logic that currently rejects --srcipaddress on networks without NAT enabled (which includes routed mode networks).
After relaxing the conditional check to allow --srcipaddress in routed networks [(Starting here)](https://github.com/apache/cloudstack/blob/5893ba5a8c00aa445be252e2dd0bc557b0cec3fc/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java#L1641), the VR was successfully deployed using the manually specified public IP and operated correctly.
This suggests the limitation is primarily an API/CLI validation restriction rather than a fundamental networking or VR capability limitation.
**Example**
**Current behavior:**
`cloudmonkey create network ... --srcipaddress=`
Give a result that the parameter srcipaddress is not supported for networks without SourceNat.
**Modified behavior:**
Allow srcipaddress for routed mode networks
VR deploys successfully with the specified public IP
**Suggestion**
The validation logic could potentially be updated to:
- Continue rejecting srcipaddress for unsupported network types
- Explicitly allow it for routed mode networks where deterministic VR addressing is desired
What are your thoughts?
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da server/src/main/java/com/cloud/network/IpAddressManagerImpl.java intorno alla riga 1641 e riproduci il comando cloudmonkey create network con --srcipaddress. Traccia la convalida della modalità instradata e delle reti senza SourceNat, quindi verifica il deployment della VR con un IP pubblico specificato manualmente. Il lavoro è completato quando la modalità instradata accetta l’indirizzo, mentre i tipi di rete non supportati continuano a essere rifiutati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- cloud, networking
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100