We were storing some JSON data (such as NUM_PODS) as strings.
This would default their type into the Elastic DB as strings,
and not ints. May as well store ints as ints, so make that so.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
The boot 'points' code was accidentally updating the cpu plot
(copy and paste error). Correct it to update the correct chart.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
Test how long it takes to launch, and delete, a deployment
running up 'n' pods. Used to ascertain if parallel launch times
are linear with number of pods or not.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
We were carrying a bunch of legacy docker based functions
that we do not use. Drop them. We can always add them back
in later if we find we do need some.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
We are very likely to re-use the k8s api code in many/all of the
tests, so move common code out to a common libray file.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
Capture some of the k8s setup information in the JSON results
files. Add sections for:
- kubectl version
- kubectl get nodes
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
If we have $RUNTIME set in the env, then we set up the pod
RuntimeClass, otherwise, just use the default node runtimes.
Clean up some of the un-used library code around docker/RUNTIME
as well whilst we are there.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
We need to check when we are launching our first instance of a
deployment when using the k8s API directly, as we have to modify
the URL for the first instance. Rather than check for '1', let's
check for 'STEP', as technically you can run the loop starting at
a non-1 index (particularly useful to run with NUM_PODS==STEP, as
you then get a 'single shot' test of 'n' containers).
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
Add the first basic report generator code, utilising R, Rmarkdown
and pandoc to do the data processing and pdf report generation.
Fixes: #121
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
This setup scripts have been using cri-o all this while as the pod
controller/manager system. Recent past cri-o has had some issues with
kata-deploy (A restart of the service will not be able to re-connect
with the existing pods and restart all of them including kata-deploy,
which will hit an endless loop). Moving to containerd as default for
now.
Firecracker cannot be used with a released version of containerd as
there is no default block based snapshotter available today. If you wish
to use cri-o make sure you set `RUNNER=crio` in your environment prior
to using the script.
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Modifying rp_filter setting on host seems to be causing a routing issue
when connecting to a pod from remote node. Until we figure out the best
way to solve the issue, we are configuring canal to ignore default
setting of 2
Fixes: #102
Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
ClearLinux now has cri-o version 1.14.1 which allows multiple plugin
locations and also creates /opt/cni/bin by default. We no longer need
the hacks for them
Fixes: #82
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Currently net.ipv4.conf.all.rp_filter is set to 2 in Clear and
calico-node fails to come up unless that value is either 0 or 1.
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
- If stop CRI service if is running
- Restart the CRI service only if enabled
- Do not enable crio on reset_stack.sh this should be only part of the
setup.
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
kubeadm autodetects the socket path based on defaults from well known
CRI servers.
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
Add more subcommands to to increase granularity
init: start cluster
cni: setup network
This functionality already existed, we only handle
subcommands in a more dynamic way.
Fixes: #92
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
Calico requires the default reverse path forwarding to be either 0 (no
validation) or 1 (strict validation). The default value of 2 (loose
validation) prevents calico from completing the setup and the pod is
always stuck getting ready.
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
CRD was removed as part of 1.14 update. Missed update to create_stack
Fixes: #84
Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
RuntimeClass moved from alpha to beta. Remove the feature gates, remove
the runtimeClass CRD since it is a built in type, and take the new data
structure into account.
Fixes: #77
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
This is finally supported in Kata 1.6
Update memory limit for kata to run in guaranteed test case
Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
In case of containerd there is no need to restart. Restart for crio is needed
when it manages the networks ns lifecycle. Removed the kubelet stop step which
was a leftover from earlier device plugin install.
Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
We only support kubernetes versions with support for runtimeClass.
Remove the legacy annotations to reduce confusion.
Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
The admission controller is now able to access full context.
Hence explicit tagging of pod manifests to exclude them from
kata is no longer required.
Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
Disable proxy setup if the host does not have proxy setup in
the enviornment variables
Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>