Allow manual assignment of VR public IP address in Routed Mode networks
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.4k
- 平均マージ
- 6日 19時間
- マージ済み PR(30日)
- 32
説明
### 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?
コントリビューションガイド
調査の方向性
server/src/main/java/com/cloud/network/IpAddressManagerImpl.java の 1641 行目付近から始め、--srcipaddress を指定した cloudmonkey create network コマンドを再現します。ルーティングモードと SourceNat なしのネットワークに対する検証を追跡し、その後、手動で指定したパブリック IP を使用して VR のデプロイを確認します。ルーティングモードがアドレスを受け入れ、サポートされていないネットワークタイプは引き続き拒否されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- cloud, networking
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 52/100