Skip to content

v1.2.0: Merge pull request #1082 from squeed/v1.2-release

Latest
Compare
Choose a tag to compare
@squeed squeed released this 16 Apr 08:14
df52e94

This is libcni v1.2.0, which releases the new CNI spec version v1.1.0.

Major changes:

GC verb

The GC verb allows runtimes to specify the set of known-good attachments, allowing plugins to clean up stale and leaked resources such as IPAM reservations. Libcni will also synthesize a CNI DEL for any stale cached attachments, so all users will have a form of GC, even if their plugins do not support CNI v1.1

STATUS verb

The STATUS verb allows a plugin to report its readiness to accept ADD requests. Runtimes such as containerd and cri-o will no longer have to rely merely on the presence of a CNI configuration file to determine network readiness.

Version negotiation

CNI configurations may now contain multiple versions, so that an administrator can opportunistically update the protocol version without breaking older runtimes:

{
  "cniVersion": "1.0.0",
  "cniVersions": ["1.0.0", "1.1.0"]
}

New fields

A number of new fields have been added to the result type:

  • (#1060). Add MTU to CNI result
  • (#1068). Add Scope property for routes Fixes: #598
  • (#1069). Add SocketPath/PciID to Interface struct This is to resolve: #1050
  • (#1062). Add table ID property for routes Fixes #1061
  • (#1041). Add route attributes - MTU, AdvMSS, Priority

Other improvements

  • (#911). libcni: add specific type for CHECK not supported
  • (#1072). tolerate invalid cni caches for deletion
  • (#1054). Add Version() to CNI interface