cluster-api-provider-openstack
cluster-api-provider-openstack copied to clipboard
Allow subport creation when using Neutron Trunks
/kind feature
Describe the solution you'd like
Right now CAPO allows you to create a trunk from the parent port, by setting trunk: true in PortOpts spec.
This however is a bit useless by itself, since there's no capability to create the trunk.
I would like to introduce a new key called subports with the same filter logic as in ports.network that would allow you to create trunk subports in addition to the parent-port + trunk pair.
ports:
- network:
filter:
name: foo_vlan_300
trunk: true
subports:
- network:
filter:
name: bar_vlan_301
segmentationID: 301
segmentationType: "vlan"
Anything else you would like to add:
Upstream gophercloud supports it: https://github.com/gophercloud/gophercloud/blob/v1.14.1/openstack/networking/v2/extensions/trunks/requests.go#L162
E2E tests in CAPO already exist: https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/test/e2e/suites/e2e/e2e_test.go#L587-L588