weaveworks / wks-quickstart-firekube

Example configuration to create Kubernetes clusters powered by ignite and gitops
342 stars 370 forks source link

Address ignite's CNI dependency for Linux #84

Open stealthybox opened 4 years ago

stealthybox commented 4 years ago

83 introduces an installer issue for linux hosts that are either missing or have an out-of-date installation of containernetworking/plugins.

Some potential actions are:

This is sticky because firekube doesn't manage host-global deps like docker. CNI is effectively a host-global dependency. (ignite's CNI plugin dir is currently hard-coded)

Firekube only manages its own binaries in an isolated PATH. This change involves modifying the host.

networkop commented 4 years ago

It's not immediately obvious that the root cause is the missing CNI plugin binaries. The installer -- setup.sh complains about files missing

FATA[0000] command "ignite run weaveworks/ignite-centos:firekube-pre3 --name=firekube-node0 --cpus=2 --memory=1GB --size=5GB --kernel-image=weaveworks/ignite-kernel:4.19.47 --ssh=~/wks-quickstart-firekube/cluster-key.pub --ports=2222:22 --ports=6443:6443 --ports=30443:30443 --ports=30080:30080" exited with "time=\"2020-09-13T18:36:18+01:00\" level=info msg=\"Created VM with ID \\\"0e12269f359a45d5\\\" and name \\\"firekube-node0\\\"\"\ntime=\"2020-09-13T18:36:18+01:00\" level=fatal msg=\"[ERROR ExistingFile--opt-cni-bin-loopback]: File /opt/cni/bin/loopback, does not exist\\n[ERROR ExistingFile--opt-cni-bin-bridge]: File /opt/cni/bin/bridge, does not exist\\n\"\n": exit status 1 

For anyone hitting the same issue, use the link above to install the CNI plugins first. I reckon the fix is fairly easy - just add the CNI plugin installation to the lib/ingnite.sh. Happy to do a PR if necessary.