Replies: 3 comments 3 replies
-
Interestingly, this appeared in the logs a few minutes after the container started: 2023-09-09T14:19:27Z [error] failed to find the primary CNI plugin: failed to find the cluster master CNI plugin: could not find a plugin configuration in /host/etc/cni/net.d So it clearly doesn't have its config but I'm not sure why not. Thanks. |
Beta Was this translation helpful? Give feedback.
-
OK, so I figured out that I needed to update some Rancher-specific paths in the manifest. I feel like the new way of configuring things, with paths and host volumes in multiple places, and /host and /hostroot, is more difficult to reason about than just mounting a hostroot and editing an entrypoint as I think things used to work. Anyway, I found a bunch of CNI plugins under a container/installation-specific k3s directory, and updated my config as follows:
that 2023-09-11T21:37:43Z [debug] conflistDel: &{f917db06d5aeff65416b443bbe6e63bf4efb6dd2e0dd0925a0b4971bb3a1e554 /var/run/netns/cni-7c2ab36b-a560-a3cb-3164-efaaa67ea70e eth0 [[IgnoreUnknown true] [K8S_POD_NAMESPACE kubevirt] [K8S_POD_NAME virt-operator-6c649b9567-dx6xc] [K8S_POD_INFRA_CONTAINER_ID f917db06d5aeff65416b443bbe6e63bf4efb6dd2e0dd0925a0b4971bb3a1e554] [K8S_POD_UID 0f0aa05f-cb28-4624-b31a-ea040fac546b]] map[] }, { 2023-09-11T21:37:43Z [error] conflistDel: error in getting result from DelNetworkList: plugin type="bandwidth" failed (delete): failed to find plugin "bandwidth" in path [/hostroot/var/lib/rancher/k3s/data/8a84c92c5c245778005e7fa2a03c4d84118fde366594fe826bcd7351d8b88d21/bin] There is definitely a bandwidth executable in that directory when I exec into the pod:
Any other ideas? |
Beta Was this translation helpful? Give feedback.
-
Actually, since the plugin is a symlink, maybe it isn't working because of this? IsIsRegular failing there because the plugin is a symlink?
Assuming I'm correct, is there some reason for not using a valid symlink as a plugin? |
Beta Was this translation helpful? Give feedback.
-
Hey folks, new to Multus so maybe I'm doing something dumb. I downloaded the manifest from https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/deployments/multus-daemonset-thick.yml as of this morning, changed the logLevel to debug, and applied it. Unfortunately, I don't seem to be getting all the configs on my host that the plugin expects to be there. Occasionally I get logs about a CNI configuration missing but I can't find any now to show.
Various docs say I should find configs in /etc/cni/net.d. My net.d is empty. /opt/cni/bin/multus-shim exists though, so it seems the daemonset can write to my root. It's just failing to populate /etc/cni/net.d for some reason. Nothing in the container startup logs indicates that this isn't or shouldn't work.
I'm a bit confused because I see where multus-shim is installed in the manifest. I.e.:
I don't see anything like that for /etc/cni/net.d though, which multiple sets of docs seem to indicate should happen. Is that done somewhere else?
My setup is Fedora Core OS and k3s which uses Flannel. I'm trying to bring up a Kubevirt VM on a bridged interface. I've run through multiple rounds of running k3s-uninstall.sh, removing /etc/cni and /opt/cni, then reinstalling some variation of k3s/multus/kubevirt again. The thin client install correctly installs the multus binary and leaves a kubectl config somewhere in /etc/cni. So the installation seems perfectly capable of writing to the host, it just doesn't install the main plugin config. I've also tried with the latest release version and that didn't work either. And clearly /etc/cni and /opt/cni are being recreated, so I don't think this is selinux or similar interfering.
I feel like I'm missing something obvious here. Thanks for any help.
Beta Was this translation helpful? Give feedback.
All reactions