DANM 4.1: Focus on stability and generalization
Stability improvements
After every major release one should spend some time polishing the rough edges, and this is exactly what we have done in 4.1.
One good way of doing just that is to cover the entirety of the new implementation with Unit Tests:
confman: #104
admit1: #105
admit2: #114
admit3: #116
Another is to correct bugs found either during white box, or black box testing, such as:
- correcting regression related to "none" IP allocation scheme: #110
- solving a nasty race condition resulting in network resources possibly leaking: #123
- fixing a possible core in metacni: #119
- and another in confman: #159
- enforcing the maximum size of the usable IPv4 allocation pool to be inline with the current ETCD limitation: #137
- decreasing pollution by limiting the log output of the svcwatcher component: #134
Supporting new use-cases
Polishing is all nice and dandy, but what about new features?
I can happily say that release 4.1 also continues our great tradition of making more features generally available, and supported through the same network management API:
- DANM IPAM can be used with all backends, including static: #111
- DANM is now compatible with the latest CNI release, and spec: #121
- Netwatcher can now dynamically modify VLAN and VxLAN host interfaces when a network body is UPDATEd: #120
And our prize jewel for this release: DANM now supports SR-IOV-based DPDK use-cases with both Intel and Mellanox NICs; and as the first & only CNI it communicates cloud resource allocations to userspace applications through standard kernel APIs: #155
Known issue
We are aware, and apologize for the architectural shortcoming described in #144.
Extensive performance testing of the 4.0 architecture has shown us that Webhook is not capable of serving hooks related to UPDATE operations at the moment.
As a result, we advise users not to add this operation to the component's configuration.
But we believe in every failure lies an opportunity! This shortcoming spurred us to improve our core architecture, which will open the door for plethora of new, and exciting use-cases!
Stay tuned ;)