Assumes the test cluster to be hosted in AWS. The following environment
variables need to be properly configured in the CI in order to
successfully run the tests:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
KUBECONFIG_AWS
Also, the following are probably needed in order for the script to be be
able to push the container image to the remote registry:
IMAGE_REPO
IMAGE_REPO_PASSWORD
IMAGE_REPO_USER
Speeds up local builds considerably as the deps are cached (instead of
downloading them all on every build) - as long as go.mod and go.sum are
not changed.
Due to the constraint, pretty old version is being used. Update
the cpuid package to the latest master to get, e.g., AVX512_VNNI
and VMX detection.
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
Some workloads may benefit from Intel Turbo Boost technology being
disabled. This patch sets the
'feature.node.kubernetes.io/cpu-pstate.turbo' label to 'false' if we can
detect that it has been disabled. If detection fails no label is
published.
For running end-to-end tests it is required to explicitly specify in the
command line the kubeconfig to be used, e.g.:
$ make e2e-test KUBECONFIG=$HOME/.kube/config
Tests that nfd master-worker communication works and that the worker is
able to label the node with the labels from the 'fake' source.
An example of running the test suite with a custom image with user's
kubeconfig:
$ go test ./test/e2e/ -args -nfd.repo=<image-repo> -nfd.tag=<image-tag> \
-kubeconfig=$HOME/.kube/config
Partly based on some previous work done by Balaji Subramaniam.
Patch the (Kubernetes) e2e wireframe introduced in the previous commit with some minor
modifications, dropping some bits in order to simplify the code.
Also adds a dummy test stub for node feature discovery.
This patch enables automatic pushes of release images whenever a new git
tag is created. This works as expected as the $TRAVIS_BRANCH variable is
set to $TRAVIS_TAG when builds are triggered by a new tag.
Use pod anti-affinity to explicitly indicate that pods should be
scheduled on separate nodes. And, remove the obscure and non-obvious
ports definition whose only purpose was to reach the same effect.
Configure .travis.yml to automatically push builds on the master branch
to the container image registry (quay.io by default). This will
automatically make the latest "experimental" version of NFD, built from
the tip of the master branch, available in the upstream Docker
repository.
IMAGE_REPO_USER and IMAGE_REPO_PASSWORD environment variables must be
defined in the travis repositorys settings in order for the deployment
step to be triggered.