mirror of
https://github.com/apache/cloudstack
synced 2026-08-02 05:26:35 +00:00
This PR introduces and wires a new extension model for external network orchestration in CloudStack, centered on a new extension type: NetworkOrchestrator. It extends the extension lifecycle from cluster-only registration to physical-network registration, adds API support for updating registered extension metadata, and enables automatic offering creation (network and VPC) based on provider-declared supported services and capabilities. It also adds smoke coverage (KVM-only) using a Linux network namespace based implementation. Doc PR: apache/cloudstack-documentation#649 What's new 1) New extension type: NetworkOrchestrator Adds support for creating extensions of type NetworkOrchestrator. Intended to back CloudStack network/VPC operations via an external orchestrator/provider. 2) Register extension with PhysicalNetwork (in addition to Cluster) Extensions can now be registered against a PhysicalNetwork resource. This enables network service provider behavior at physical-network scope, not only cluster scope. 3) Physical network registration details support Registered extension details for PhysicalNetwork are handled similarly to cluster registration details. Supports storing/updating external access metadata (credentials/endpoints/config details). 4) New API: update registered extension Adds API support to update extension registration metadata after registration. Useful for rotating credentials, updating endpoints, and changing external connection properties without re-registering. 5) Offering automation from external provider capabilities Network/VPC offerings can be created with the external network provider using: provider supportedservices per-service service capabilities This allows CloudStack offerings to align with what the external provider actually supports. 6) Network support via generated offerings Using offerings backed by the external provider, networks can be created and operated with supported services/capabilities. Supported operations include (based on provider capabilities): Source NAT Static NAT Port Forwarding Firewall Load Balancing DHCP DNS UserData 7) VPC support via generated offerings Using VPC offerings backed by the external provider, VPCs and tiers can be created and operated with supported services/capabilities. Supported operations include (based on provider capabilities): VPC tier creation/implementation Source NAT in VPC context Static NAT / Port Forwarding / LB on VPC tiers Network ACL association and ACL rule apply paths Related lifecycle/restart/reapply operations 8) Linux network namespace based external implementation Adds/uses a network extension implementation based on Linux network namespaces. Reference implementation: https://github.com/apache/cloudstack-extensions/tree/network-namespace/Network-Namespace 9) Smoke test coverage (KVM-only) Adds smoke tests using the namespace-based extension implementation. Scope includes provider lifecycle, offering creation, network/VPC flows, and key network services. Applicable hypervisor for this smoke suite: KVM. |
||
|---|---|---|
| .. | ||
| broken | ||
| component | ||
| plugins | ||
| smoke | ||
| testpaths | ||
| __init__.py | ||