Commit Graph

212 Commits

Author SHA1 Message Date
Craig Sterrett
4ed6f3fca2 Fixed code for no_proxy in setup_system.sh
The sed command for updating no-proxy settings in the proxy.sh file was
not working. I made it match the above command which was working for
/etc/environment.

Signed-off-by: Craig Sterrett <craig.sterrett@intel.com>
2019-11-11 08:52:39 -08:00
David Lyle
7efe99f139 disregard collectd tail data from stats
Since collectd is started before the pods are launched and
shutdown after the last pod is launched, we gather data outside
the pod launch window which can adversely influence the per pod
launch stats. This is especially true after the last pod launches
as all the pods are then deleted before collectd stops collecting
metrics.

This patch isolates the collectd data used to only
coincide with the pod launch window.

And additional change in this patch is to improve the secondary
y axis scaling. There was an ill-advised check in previously to
force the scale to be at least 1. This does not work well when
the pod number is significantly higher than say 100 (the max
possible cpu idle value).

This patch changes the scaling to be across all data to be graphed.
The special condition for interface drops and interface errors,
where the data is typically 0. We don't scale by 0.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-11-06 14:31:56 +00:00
Khanak Nangia
103bfcc681 updating the deprecated APIs for K8s v1.16 (#259) 2019-11-05 14:15:59 -08:00
Khanak Nangia
9574f44b20 Cleaning containerd data in reset_stack script (#260) 2019-11-05 14:15:46 -08:00
Morales Quispe, Marcela
f7254e2b30 Edit test description for k8s_scale and k8s_parallel tests.
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
2019-11-05 09:15:44 +00:00
David Lyle
df0af2ab2c fixing makereport container build
A recent change to debian apt repositories led to build errors
for the report container. The error was around stretch release
files. The container image we are based on published an update
which fixes this error. This patch updates to use :latest to
avoid errors when building.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-30 09:09:39 +00:00
Justin Scott
e985ffd6e0 Kustomize kata-deploy image to stable version (#254)
Signed-off-by: Justin Scott <justin.a.scott@intel.com>
v1.8
2019-10-28 15:25:28 -07:00
Justin Scott
7840d720b0 Add CLRK8S_CLR_VER to Vagrantfile (#253)
This adds env var to the Vagrantfile so that Clear version can be
specified.

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-28 15:03:38 -07:00
Syed Ahsan
43fa8bad8f Adding Kustomization for Cilium (#246)
This patch adds kustomization path and file for Cilium

Signed-off: Syed Ahsan <syed.ahsan.shamim.zaidi@intel.com>
2019-10-28 14:08:51 -07:00
Justin Scott
da6087762a Add CLRK8S_CLR_VER to setup_system.sh (#250)
This adds ability to upgrade/downgrade to desired Clear version.
The default behavior remains unchanged (auto updating to latest)

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-28 10:16:57 -07:00
Justin Scott
5b03651467 Update Canal to v3.10 (#247)
Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-25 14:45:32 -07:00
Khanak Nangia
598289573b updating readme with increased CPUS and MEMORY value for vagrant VMs (#242) 2019-10-25 12:07:36 -07:00
Justin Scott
6972963363 Disable git checkout advice in create_stack.sh (#244)
This PR disables the git advice message seen for
each component as its installed.

Signed-off-by: Justin Scott <justin.a.scott@gmail.com>
2019-10-25 08:22:43 -07:00
Syed Ahsan
d271a73fe3 Adding Global Functions outside (#243)
This patch adds Global functions versions outside
the create_stack.sh file.

Signed-off: Syed Ahsan <syed.ahsan.shamim.zaidi@intel.com>
2019-10-25 08:19:06 -07:00
Syed Ahsan
674ab84d0d Adding Flannel to CNI (#239)
This patch add's Flannel to CNI, export the environment variable
to use Flannel, and uses crio as default unless the user
specify otherwise.

Signed-Off: Syed Ahsan <syed.ahsan.shamim.zaidi@intel.com>
2019-10-24 18:05:44 -07:00
Justin Scott
3984a18b18 Add node-feature-discovery (#236)
This adds the node-feature-discovery component.

Partialy implements #32

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-24 16:35:47 -07:00
Justin Scott
02880b82ee Add update_checker.sh (#238)
This adds a script that parses create_stack for component versions
and URLs and compares them to the latest versions available.

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-24 15:56:28 -07:00
Khanak Nangia
88b899d7e3 increasing the CPUS and MEMORY default value for vagrant VMs (#240) 2019-10-24 14:58:06 -07:00
Julio Rivera
2ae8360760 Adding Cert sans to kubeadm config (#188)
* Adding Cert sans to kubeadm config

This patch add the possibility to pass a list of ips or names to the certSans
property in the kubeadm.yml file.

Signed-off-by: Rivera Gonzalez, Julio C <julio.c.rivera.gonzalez@intel.com>

* Make idempotent addition of certSANs

Signed-off-by: Rivera Gonzalez, Julio C <julio.c.rivera.gonzalez@intel.com>
2019-10-24 14:45:30 -07:00
Syed Ahsan
aa86c554e8 Adding Cilium to create_stack (#218)
This change adds Cilium to create_stack script, and uses crio
by default unless the user otherwise speicify

Signed-Off: Syed Ahsan <syed.ahsan.shamim.zaidi@intel.com>
2019-10-24 12:00:32 -07:00
CraigSterrett
ad2fc108d3 Added .svc to no_proxy (#235)
Added .svc to the no_proxy in setup_system.sh to keep Kubernetes service
requests from being routed to the proxy. This fixes and issue that
Humberto was seeing in his testing.

Signed-off-by: Craig Sterrett <craig.sterrett@intel.com>
2019-10-24 00:44:05 -07:00
Julio Rivera
4edbaebf87 Removes kustomize from kubeadm init (#222)
This commit drops kustomize support from kubeadm config file.

Signed-off-by: Rivera Gonzalez, Julio C <julio.c.rivera.gonzalez@intel.com>
2019-10-23 23:43:12 -07:00
David Lyle
e7b7d33be0 handle multiday collectd data
The collectd csv plugin starts a new file for each day that data is
being recorded. Currently, collectd_scaling.R only reads from the
first day's file. This leads to incomplete data being rendered in
the report charts. All the data files are collected and present,
they just need to be read.

This patch makes changes to read all the days of collectd data and add
them to the data set.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-23 12:02:59 -05:00
Morales Quispe, Marcela
f2e89413ad Add extra table about node information into PDF report.
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
v1.7
2019-10-18 14:42:01 -06:00
David Lyle
9c01cbfacb Proxy work around for alpine collectd
Add Dockerfile for building an alpine image with collectd.

Published an image to dockerhub and reference it in collectd.yaml

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-18 12:39:00 -05:00
David Lyle
50553aa7bb only collect noschedule once
As part of the existing json file, there is a 'kubectl get nodes'
json dump. Instead of collecting this information each pod launch,
use the data already gathered. This data is immutable during the
test runs. This greatly improves the overall runtime of the test
script by preventing expensive kubectl execs per node per iteration.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-18 12:39:00 -05:00
David Lyle
174c836980 Fixing secondary y axis scaling
The secondary y axis have to be scaled by a factor of the primary
y axis, the default being 1. Some of the charts graph both a data
value and the number of pods. The scale for those are different
and dependent on the data collected. Logic has been added to
calculate the scale for each chart based on the data.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-18 12:39:00 -05:00
David Lyle
8f67f641ee Support multiple network interfaces and more names
Adding support for more than one network interface in a given node.

Also supporting more interface naming patterns.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-18 12:39:00 -05:00
David Lyle
20cb90c7f7 Adding support for aysnc metrics via collectd
This patch adds a new script, scaling/k8s_scaling_rapid.sh, for
launching pods and collecting metrics. The goal is to two fold.
The first goal is improve the required runtime duration of scaling
to large numbers of pods. k8s_scaling.sh can take up to 29 hours
to scale to 2900 pods. The is largely due to the overhead of
collecting system utilization stats after each new pod is launched.
This new script will collect system utilization stats asynchronously.
The second goal is to make it easier to collect additional system
utilization stats by leveraging the plugins supported by collectd.

Instead of using the stats daemon set, a new daemon set
that runs collectd on each node is added. collectd configuration
is handled by collectd/collectd.conf A configmap is added to the
K8s cluster containing collectd.conf, so the user of the script
can test new configurations easily. The configmap is created and
deleted as part of the test run. The data from collectd is stored on
each node in the cluster via the csv plugin and the data is
collected to the master node at the end of the test run.

Several new pages have been added to the metrics_report.pdf
These pages cover the same metrics as k8s_scale.sh results, but are
populated with data from collectd. Additionally, network interface
results are added.

To run the report, in addition to the previous steps of creating
a new directory and copying the result json file into it, all the
new <node_name>.tar.gz files must be copied in as well.

Signed-off-by: David Lyle <dklyle0@gmail.com>
2019-10-18 12:39:00 -05:00
Morales Quispe, Marcela
12c59bbf4c Add execution entries at debugging report phase example to avoid confusion.
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
2019-10-16 16:56:13 -06:00
Morales Quispe, Marcela
3ec1dfda66 Add number of sockets and hypervisor per node to be captured in output result.
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
2019-10-15 13:17:13 -06:00
Khanak Nangia
d267feb8ff there is no need of launching kubelet before, since it will startup once we have configured with kubeadm (#209) 2019-10-14 14:23:25 -07:00
CraigSterrett
8d0caf2dee Changed default container engine to crio (#217)
Vagrant file also sets a default container engine and runs
setup_system.sh. This was currently setting runner=containerd if RUNNER
environment variable was not set, I changed default to crio

Closes issue #216

Signed-off-by: Craig Sterrett <craig.sterrett@intel.com>
2019-10-14 09:18:30 -07:00
David Lyle
d557bfe559 Add vagrantfile support for HIGH_POD_COUNT config
This adds passing HIGH_POD_COUNT on to setup_system.sh
2019-10-11 16:01:10 -05:00
Marcela Morales Q
ef72f7387c Update to Kubernetes naming usage in README file and logs to be homogenous. (#213)
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
2019-10-11 11:07:27 -07:00
Julio Rivera
276ff274db Kustomize kubeadm.yaml config file (#193)
Signed-off-by: Rivera Gonzalez, Julio C <julio.c.rivera.gonzalez@intel.com>
2019-10-11 11:02:12 -07:00
Justin Scott
a7f92a918b Update rook to v1.1.1 (#199)
Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-09 10:52:02 -07:00
Syed Ahsan
ebff530fa4 Vagrant Libvirt Instructions update (#189)
* Vagrant Libvirt Instructions update

This patch adds the users to the default group so we dont
have to use sudo to start the vagrant, as using sudo is not
the most optimal route for gems to be properly configured.

Signed-off: Syed Ahsan<ahsanmohsin04@yahoo.com>
2019-10-08 11:10:50 -07:00
Syed Ahsan
859237b189 Setting the RUNNER to use crio (#208)
This change helps with setting up the RUNNER to use crio
by default instead of using containerd. If the user wants
to use containerd, they need to specify when running the
setup_system script.

Signed-off: Syed Ahsan <syed.ahsan.shamim.zaidi@intel.com>
2019-10-08 11:05:21 -07:00
Syed Ahsan Shamim Zaidi
d95d82e102 Typo in vagrant instruction
This patch fixes the typo in vagrant instructions, it should be
CPUS.

Signed-off: Syed Ahsan <syed.ahsan.shamim.zaidi@intel.com>
2019-10-08 09:24:45 -06:00
Antti Kervinen
0325a44d6f scaling: fix syntax error in results/k8s-scaling-nc.json
Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
2019-10-07 11:21:04 -06:00
David Lyle
11c6d011cf global variables in function aren't global
A recent change put global variable declarations in a function,
the variables no longer are globally visible. This change removes
the encapsulation in a function.
2019-10-03 17:01:22 -05:00
Justin Scott
7c352427a2 Add section about code conventions to DEVELOP.md (#185)
This adds details about shfmt and shellcheck settings.

Closes #180

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-02 11:19:22 -07:00
Justin Scott
5c8f4e89a1 Update Prometheus to v0.2.0 (#196)
Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-10-02 11:13:03 -07:00
Antti Kervinen
6213a499c1 metrics: scaling: add pod response latency test
- Send n requests for each of the running pods.
- Measure response time to response.
- Report response time percentiles: 5-25-50-75-95 %.
- Refactor scaling/*.sh variables to scaling/common.bash.

Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
2019-10-01 14:30:33 -06:00
Mikko Ylinen
2332542376 kubelet: use systemd cgroup driver (#192)
Fixes: clearlinux/distribution/issues/1267 (partial)

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-09-30 16:11:32 -07:00
Marcela Morales Q
38d8d058d9 Add main README file for cloud-native-setup repository. (#195)
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
2019-09-30 10:12:06 -07:00
Morales Quispe, Marcela
908a9f72f5 Add step-by-step guide for scaling execution into README file.
Signed-off-by: Morales Quispe, Marcela <marcela.morales.quispe@intel.com>
2019-09-27 20:51:30 -05:00
Justin Scott
6170fe3d3b Update metrics to v0.3.5 (#191)
Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-09-26 11:56:53 -07:00
Justin Scott
d9f5318d4d Update canal to v3.9 (#187)
This replaces previous canal v3.3 which is no available.

Closes #186

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-09-25 16:31:23 -07:00