This guide describes how to run sanity conformance test on a Kubernetes cluster. Note that it does not run networking tests and it serves only to setup an environment where we will run CNI conformance suite. The only change then would be different "conformance manifest" while setup requirements and prerequisities will remain the same.
make cluster-down | |
KUBEVIRT_WITH_CNAO=true make cluster-up | |
make cluster-sync | |
./cluster-up/cli.sh ssh node01 'sudo ip link add br10 type bridge && sudo ip link set dev br10 mtu 9000' | |
cat <<EOF | ./cluster-up/kubectl.sh apply -f - | |
apiVersion: "k8s.cni.cncf.io/v1" | |
kind: NetworkAttachmentDefinition | |
metadata: | |
name: br10 | |
spec: |
Fetch KubeVirt sources:
git clone https://github.com/kubevirt/kubevirt
cd kubevirt
Bring up local virtualized Kubernetes 1.17 cluster with preinstalled Calico:
apiVersion: kubevirt.io/v1alpha3 | |
kind: VirtualMachine | |
metadata: | |
annotations: | |
kubevirt.io/latest-observed-api-version: v1alpha3 | |
kubevirt.io/storage-observed-api-version: v1alpha3 | |
name.os.template.kubevirt.io/fedora31: Fedora 31 | |
name: vm-external-image | |
namespace: default | |
spec: |
% ./cluster/kubectl.sh logs -n olm catalog-operator-6d8b87dc94-x58fx | grep network | |
time="2019-06-20T14:47:58Z" level=warning msg="couldn't find service in cache" service=cluster-network-addons-catalogsource | |
time="2019-06-20T14:47:58Z" level=info msg="building connection to registry" currentSource="{cluster-network-addons-catalogsource olm}" id=HB/Tv source=cluster-network-addons-catalogsource | |
time="2019-06-20T14:47:58Z" level=info msg="client hasn't yet become healthy, attempt a health check" currentSource="{cluster-network-addons-catalogsource olm}" id=HB/Tv source=cluster-network-addons-catalogsour | |
ce | |
time="2019-06-20T14:48:19Z" level=info msg="building connection to registry" currentSource="{cluster-network-addons-catalogsource olm}" id=vo+1a source=cluster-network-addons-catalogsource | |
time="2019-06-2 |
apiVersion: operators.coreos.com/v1alpha1 | |
kind: ClusterServiceVersion | |
metadata: | |
name: cluster-network-addons-operator.0.10.0 | |
namespace: placeholder | |
annotations: | |
capabilities: "Full Lifecycle" | |
categories: "Networking" | |
alm-examples: | | |
[ |
Operator: https://github.com/kubevirt/cluster-network-addons-operator
Install OLM:
import "kubevirt.io/kubernetes-device-plugins/pkg/dpm"
This package provides a framework (Device Plugin Manager, DPM) that makes implementation of Device Plugins https://kubernetes.io/docs/concepts/cluster-administration/device-plugins/ easier. It provides abstraction of Plugins, thanks to it a user does not need to
-- import "kubevirt.io/kubernetes-device-plugins/pkg/dpm"
This package provides a framework (Device Plugin Manager, DPM) that makes implementation of Device Plugins https://kubernetes.io/docs/concepts/cluster-administration/device-plugins/ easier. It provides abstraction of Plugins, thanks to it a user does not need to implement actual gRPC server. It also handles dynamic management of available resources and their respective plugins.