@@ -36,31 +36,36 @@ type VPCDomainSpec struct {
3636 // +optional
3737 // +kubebuilder:validation:Minimum=1
3838 // +kubebuilder:validation:Maximum=65535
39+ // +kubebuilder:default=32667
3940 RolePriority int32 `json:"rolePriority"`
4041
4142 // SystemPriority is the system priority for this vPC domain (1-65535).
4243 // Used to ensure that the vPC domain devices are primary devices on LACP. Must match on both peers.
4344 // +optional
4445 // +kubebuilder:validation:Minimum=1
4546 // +kubebuilder:validation:Maximum=65535
47+ // +kubebuilder:default=32667
4648 SystemPriority int32 `json:"systemPriority"`
4749
4850 // DelayRestoreSVI is the delay in seconds (1-3600) before bringing up interface-vlan (SVI) after peer-link comes up.
4951 // This prevents traffic blackholing during convergence.
5052 // +optional
5153 // +kubebuilder:validation:Minimum=1
5254 // +kubebuilder:validation:Maximum=3600
55+ // +kubebuilder:default=10
5356 DelayRestoreSVI int16 `json:"delayRestoreSVI"`
5457
5558 // DelayRestoreVPC is the delay in seconds (1-3600) before bringing up the member ports after the peer-link is restored.
5659 // +optional
5760 // +kubebuilder:validation:Minimum=1
5861 // +kubebuilder:validation:Maximum=3600
62+ // +kubebuilder:default=30
5963 DelayRestoreVPC int16 `json:"delayRestoreVPC"`
6064
6165 // FastConvergence ensures that both SVIs and member ports are shut down simultaneously when the peer-link goes down.
6266 // This synchronization helps prevent traffic loss.
6367 // +optional
68+ // +kubebuilder:default={enabled:false}
6469 FastConvergence Enabled `json:"fastConvergence"`
6570
6671 // Peer contains the vPC's domain peer configuration including peer-link, keepalive.
@@ -86,15 +91,15 @@ type Peer struct {
8691 // This interface carries control and data traffic between the two vPC domain peers.
8792 // It is usually dedicated port-channel, but it can also be a single physical interface.
8893 // +required
89- InterfaceRef v1alpha1.LocalObjectReference `json:"interfaceRef,omitempty "`
94+ InterfaceRef v1alpha1.LocalObjectReference `json:"interfaceRef"`
9095
9196 // KeepAlive defines the out-of-band keepalive configuration.
9297 // +required
9398 KeepAlive KeepAlive `json:"keepalive"`
9499
95100 // AutoRecovery defines auto-recovery settings for restoring vPC domain after peer failure.
96101 // +optional
97- AutoRecovery * AutoRecovery `json:"autoRecovery,omitempty "`
102+ AutoRecovery * AutoRecovery `json:"autoRecovery"`
98103
99104 // Switch enables peer-switch functionality on this peer.
100105 // When enabled, both vPC domain peers use the same spanning-tree bridge ID, allowing both
@@ -147,14 +152,15 @@ type AutoRecovery struct {
147152 // When enabled, the switch will wait for ReloadDelay seconds after peer failure
148153 // before assuming the peer is dead and restoring the vPC's domain functionality.
149154 // +required
150- Enabled bool `json:"enabled,omitempty "`
155+ Enabled bool `json:"enabled"`
151156
152157 // ReloadDelay is the time in seconds (60-3600) to wait before assuming the peer is dead
153158 // and automatically attempting to restore the communication with the peer.
154159 // +optional
155160 // +kubebuilder:validation:Minimum=60
156161 // +kubebuilder:validation:Maximum=3600
157- ReloadDelay int16 `json:"reloadDelay,omitempty"`
162+ // +kubebuilder:default=240
163+ ReloadDelay int16 `json:"reloadDelay"`
158164}
159165
160166// VPCDomainStatus defines the observed state of VPCDomain.
@@ -179,10 +185,6 @@ type VPCDomainStatus struct {
179185 //+optional
180186 Conditions []metav1.Condition `json:"conditions,omitempty"`
181187
182- // DomainID is the vPC domain ID as reported by the device.
183- // +optional
184- DomainID uint16 `json:"domainId,omitempty"`
185-
186188 // Role indicates the current operational role of this vPC domain peer.
187189 // +optional
188190 Role VPCDomainRole `json:"role,omitempty"`
@@ -207,7 +209,7 @@ type VPCDomainStatus struct {
207209
208210 // PeerUptime indicates how long the vPC domain peer has been up and reachable via keepalive.
209211 // +optional
210- PeerUptime metav1.Duration `json:"peerUptime,omitempty"`
212+ PeerUptime metav1.Duration `json:"peerUptime,omitempty,omitzero "`
211213
212214 // PeerLinkIf is the name of the interface used as the vPC domain peer-link.
213215 // +optional
0 commit comments