You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Currently, the default network spec is defined in the ProxmoxCluster spec.
Since we started provisioning clusters in various zones, we need a way to change the IP range for specific machines.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
We started #423 to place specific machines into some set of Proxmox Nodes.
We need something similar to override the IP range for the default network while supporting backward compatibility.
Proposal:
Add new struct in proxmoxmachines_types.go:
// IPPoolConfig defines the IPAM pool ref.
type IPPoolConfig struct {
// IPv4PoolRef is a reference to an IPAM Pool resource, which exposes IPv4 addresses.
// The network device will use an available IP address from the referenced pool.
// This can be combined with `IPv6PoolRef` in order to enable dual stack.
// +optional
// +kubebuilder:validation:XValidation:rule="self.apiGroup == 'ipam.cluster.x-k8s.io'",message="ipv4PoolRef allows only IPAM apiGroup ipam.cluster.x-k8s.io"
// +kubebuilder:validation:XValidation:rule="self.kind == 'InClusterIPPool' || self.kind == 'GlobalInClusterIPPool'",message="ipv4PoolRef allows either InClusterIPPool or GlobalInClusterIPPool"
IPv4PoolRef *corev1.TypedLocalObjectReference `json:"ipv4PoolRef,omitempty"`
// IPv6PoolRef is a reference to an IPAM pool resource, which exposes IPv6 addresses.
// The network device will use an available IP address from the referenced pool.
// this can be combined with `IPv4PoolRef` in order to enable dual stack.
// +optional
// +kubebuilder:validation:XValidation:rule="self.apiGroup == 'ipam.cluster.x-k8s.io'",message="ipv6PoolRef allows only IPAM apiGroup ipam.cluster.x-k8s.io"
// +kubebuilder:validation:XValidation:rule="self.kind == 'InClusterIPPool' || self.kind == 'GlobalInClusterIPPool'",message="ipv6PoolRef allows either InClusterIPPool or GlobalInClusterIPPool"
IPv6PoolRef *corev1.TypedLocalObjectReference `json:"ipv6PoolRef,omitempty"`
}
Then adding the IPPoolConfig to the NetworkDevice:
// NetworkDevice defines the required details of a virtual machine network device.
type NetworkDevice struct {
...
// IPPoolConfig defines config for IP Pool ref.
// For default device 'net0' the IP pool is optional,
// If not set, the default IPAM pool will be used.
// For additional devices, the IP pool is required (IPV4/IPV6).
// +optional
IPPoolConfig `json:",inline"`
}
And delete the IP pool config from InterfaceConfig.
Environment:
Cluster-api-provider-proxmox version:
Kubernetes version: (use kubectl version):
OS (e.g. from /etc/os-release):
The text was updated successfully, but these errors were encountered:
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Currently, the default network spec is defined in the ProxmoxCluster spec.
Since we started provisioning clusters in various zones, we need a way to change the IP range for specific machines.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
We started #423 to place specific machines into some set of Proxmox Nodes.
We need something similar to override the IP range for the default network while supporting backward compatibility.
Proposal:
Add new struct in proxmoxmachines_types.go:
Then adding the IPPoolConfig to the NetworkDevice:
And delete the IP pool config from InterfaceConfig.
Environment:
kubectl version
):/etc/os-release
):The text was updated successfully, but these errors were encountered: