Until today, it was hardcoded that DeviceID will only be
injected for the first CNI in the chain.
This commit modifies multus to pass DeviceID to each network
configuration element in a network configuration list.
This will allow multiple CNI's to act on DeviceID when CNI
plugins are being chained for a specific network.
The change is required to allow CNI's to ensure network
isolation (introduced in kernel >= 5.2.0 see [1]) for RDMA devices
when exist.
e.g for SR-IOV network:
sriov-cni moves network device associated with the provided DeviceID
to to the container's network namespace.
An "RDMA cni" would do the same for the corresponding RDMA device when
RDMA traffic is desired on the network.
[1] https://patchwork.kernel.org/cover/10810451/
In cmdCheck and cmdDelete debug messages are logged even before logger
is initialized with its log level and file (done in types.LoadNetConf).
Because of this those debug messages are not logged into the file.
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@est.tech>
This change update travis pipeline as following:
- cleanup unused parameters/stages
- add condition based on parameter (now user can use travis CI
in cloned repo)
- suppress ppc64 deployment because amd64 also build ppc images
and other arch (fixes#418)
is not properly setup for IPv6 installs
Fix:
If the API server host is IPv6 address then the server url should
include square braces to separate the IP address and port correctly
/etc/cni/net.d/multus.d/multus.kubeconfig is not properly setup for IPv6
installs
Fix:
If the API server host is IPv6 address then the server url should
include square braces to separate the IP address and port correctly
Previously the build script required git to be used and installed which
did not allow to build Multus from a tarball which doesn't contain .git
directory. That made packaging of Multus hard.
Example usage after the change if you do not want to use git:
```
$ VERSION=v3.3 COMMIT=ba33df ./build
```
Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
The CRD is now defined in the NetworkPlumbingWG org, along with
generated libs for client, listers, informers, and deep copy functions.
Therefore remove the duplicate definition here, and use the standard
definition.
Signed-off-by: Tim Rozet <trozet@redhat.com>
This changes introduce CNI RuntimeConfig for portmap, bandwidth,
ip and mac for latest specification. IP and Mac is previously
applied through CNI_ARGS, but it is changed to RuntimeConfig
for now.