K8s. K8s always changes
The only constant in Kubernetes is change, and boy 1.21 had a LOT of them!
DANM 4.3 is a release dedicated to take care of these adjustments, and thus officially declares K8s 1.21 compability!
But as is customary by now, 4.3 also has a little cherry on top: Netwatcher Operator can now fully interwork with IPVLAN/MACVLAN NetworkAttachmentDefinitions. enabling the value added services it provides in any Multus environment!
Please find the detailed changelist below:
- #240 : DANM value-added features now correctly work with CNIs which do not create any kernel interfaces
Dev note: this practically means the userspace CNI, or the SR-IOV CNI in the rare cases the VF is bound to a non-bifurcated kernel driver - #245: CNI_ADD / DEL timeout events are now correctly logged in all cases
- #247: Netwatcher now supports the NAD API!
- #253: SR-IOV CNI dynamic integration needed fixing due to backward incompatible upstream API change
Dev note: DANM does not depend on the checkpoint Kubelet API anymore, so incompatibility issues related to this API should not happen in the future. Credit to Multus devs for the creative solution, based on the Pod Device monitoring API! - #255: PodIPs are now correctly recognized even when CRI is used instead of dockershim
Dev note: it is amazing how much everyone disregards the CNI spec - both the CNIs, and the CRIs. DANM is caught in the middle, and needs to actively massage the results into a format which is compatible with the additional massaging containerd will do on its own...
BEWARE: even more changes are on the horizon
Users should not forget about #242, and what it entails. With K8s 1.22 CRD v1beta API path support officially ends, which will force DANM to migrate to GA API.
Once that happens DANM API group must be changed to comply with the upstream policy mentioned in the ticket.
This means migration. Prepare yourself!