Commit Graph

147 Commits

Author SHA1 Message Date
Antti Kervinen 18fde35232 metrics: scaling: require jq is installed
Also remove trailing whitespace

Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
2019-08-29 09:01:00 -06:00
David Lyle a61deb736c Fix array declaration
Used as associative array, not declared that way. The result
was indexing errors.
2019-08-29 14:31:50 +01:00
Syed Ahsan Zaidi 270bbc6f90 Support for Virtualbox
This change adds the env variable for the support for
virtualbox to support kubernetes communication between
master and worker nodes. Since KVM gives default ip
address to the spinned up VM's, whereas virtualbox uses
same ip address for all, the kubelet was not functioning
, this change fixes it and assigns the ip address to env
variable.
2019-08-27 12:10:56 -07:00
Graham Whaley 8787955188 metrics: report: generate PNGs alongside the pdf
To aid in incorporating the results graphs and tables into other
documents, generate PNG files of the tables and plots alongside
the full PDF report, and place them in the output directory.

Achieve this by processing an html as well as a pdf targetted
output document, and grabbing the png's generated from that
operation.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 12:46:11 -06:00
Graham Whaley 2d1f8551b0 metrics: report: update README with new debug mode info
Debug mode of the report generator now volume mounts the scripts
into the container (rather than just COPYing them in), to allow
interactive edit/run debug cycles. Document it.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley 659600b9a6 metrics: report: drop deprecated scaling.R
Now the new tidy_scaling.R seems to be functional, drop the
deprecated scaling.R.
Yes, we could/should probably have just replaced scaling.R, but
that is just the way it panned out.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley 0e6596bed6 metrics: report: do not account noschedule. Show boot in S
Do not account for 'noschedule' nodes in the stats calculations,
as they don't host the pods we are measuring.
Show the boot times in seconds, rather than milliseconds.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley 6d5c782fce metrics: scaling: check we have bc installed
We now use `bc` for some of the stats calculations. Ensure it
is installed, or we silently generate bad field data.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley 6a7eb8bbc9 metrics: report: scaling: use a more 'tidyverse' flow
Due to the nature of the shape of the JSON data import, the scaling
R had some hard wired constructs bound to the data shape. This limited
our extending the JSON data.
recode to be more 'R tidyverse' style.
Also add in a launch time stats table, and split the graphing
across 3 pages to de-cramp them (particularly when rendering >1
test run).

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley 6e189ff2be metrics: report: mount scripts in debug mode
When in debug mode, mount the scripts dir into the container to
allow 'live' editing and reloading into R. This makes the dev cycle
much faster.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley 5e53ce9afb metrics: scaling: calculate mem consumed and pod/Gb
Keep track of memory consumed on the nodes, log that, and
generate an overall cluster value for 'pods-per-Gb'.

Generate this data here, whilst we have the data to hand, as
it can get much more difficult to calculate this information
the further you get down the monitoring stream (such as the
farther you get into an ELK stack).

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
Graham Whaley d3cab6b06e metrics: report: switch scaling to tidy R
Switch the rendering of the scaling page to use the tidy R version.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-27 09:41:44 -06:00
craigsterrett ba52442d0c Removed vagrant box pinning
Removed hardcoded vagrant box version. This change will now
allow the override of the version, or if no override is passed in
it will take the version on the system, or download the latest version.

Signed-off-by: craigsterrett <craig.sterrett@intel.com>
2019-08-22 13:48:15 -07:00
Justin Scott 535680bce2 Update setup_system.sh to include alt OS file (#141)
This udpate allows us to specify an OS specific
include file with function overrides. Useful when using
setup_system.sh on other OSes.

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-08-19 15:04:53 -07:00
Graham Whaley 68be049f98 metrics: README: update to be accurate and more descriptive
The README has not kept upto date with the code. Update to make it
more useful, but try to keep fairly neutral so it does not rot so
fast.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-19 10:50:36 -06:00
Ganesh Maharaj Mahalingam 78e07e2c4f Fix script error cause of missing variables
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-08-17 21:38:05 -07:00
Khanak Nangia 202c8ec007 adding bullets points for distro names 2019-08-16 15:48:52 -07:00
Khanak Nangia 82795e7850 adding distros as headers 2019-08-16 15:48:52 -07:00
Khanak Nangia 5267dac92e updating with the raw URL 2019-08-16 15:48:52 -07:00
Khanak Nangia 53ae4e0227 updating vagrant steps for Clear 2019-08-16 15:48:52 -07:00
Khanak Nangia 262fb9b58d Adding vagrant steps for Clear 2019-08-16 15:48:52 -07:00
Ganesh Maharaj Mahalingam 2b2506439f Allow bootstrap token and master_ip to be customizable
This change will allow the create_stack.sh script to be called to init
the k8s cluster with a user generated bootstrap token and a pre-defined
master_ip. This will allow us to automate initial deployment of cluster
with a known list of IPs

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-08-16 15:01:43 -07:00
NitinAtIntel ef0c39c39d Removing reference to patch file 2019-08-15 22:49:47 -07:00
NitinAtIntel 20b788fd4b Patch file is no longer needed 2019-08-15 22:49:47 -07:00
NitinAtIntel 67f542e0f5 Setting rp_filter to strict mode as supported by Calico 2019-08-15 22:49:47 -07:00
Graham Whaley c54c048da6 metrics: report: Add system under test details
Add a table to the end of the report showing useful details about
the systems that were under test - version numbers, resources etc.

Fixes: #145

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-15 17:20:35 -06:00
Graham Whaley 615e7d6e6f metrics: report: parallel: change title to 'deployment time'
The time we measure is the time to launch and delete the whole
deployment, not the 'pod'. Change the graph titles to be more
accurate.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 10:58:06 -06:00
Graham Whaley 1c14965e6c metrics: parallel: dedup use of aes()
Rather than duplicate the same aes() over all the parts of the ggplot(),
add the aes to the base ggplot, and then default to using that for
all the other additions.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 10:58:06 -06:00
Graham Whaley 645110832b metrics: parallel: Only smooth with big data sets
geom_smooth can generate a mass of warnings when applied to a small
dataset. Use the same test (>20 samples) we do for 'do we draw dots',
but in the inverse - so, we either draw dots (small set) or a smoothed
overlayed line (bit sets).

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 10:58:06 -06:00
Graham Whaley b3f40569b2 metrics: parallel: take into account 'stepping'
Now the data has the ability to 'step' (that is, increment
the pod count by >1 between samples), use that n_pod value
for the x-axis, rather than a +1 count, so the x-axis makes
a lot more sense.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 10:58:06 -06:00
Graham Whaley aeb6ebbab7 metrics: json: default RUNTIME to 'default'
If a RUNTIME is not set, then save it as 'default' in the JSON
rather than an empty string, as the emptry string does not render
well later in any graphing.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 08:20:36 -06:00
Graham Whaley 40cca1a8d4 metrics: scaling: whitespace fix
four-space to tab.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 08:20:36 -06:00
Graham Whaley 7b98d82e11 metrics: scaling: add datestamps to stats samples
Add invididual date entries to each statistics sample, to
suppliment the top level date entry. This helps order the
samples if we are flattening the data into say Elasticsearch.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 08:20:36 -06:00
Graham Whaley e4ef431b0f metrics: parallel scaling: add 'grace' handling
When 'grace' handling was added, it got missed from the parallel
script (which shares the bb.*.in files). Add it in to fix the test.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-08-14 08:20:36 -06:00
David Lyle 15ab28deaf fixing indexing, start with 0 2019-08-14 10:04:24 +01:00
NitinAtIntel 85fe594c20 Formatting cleanup 2019-08-12 18:29:11 -07:00
NitinAtIntel 0d71305d65 Splitting out detailed vagrant instructions 2019-08-12 18:29:11 -07:00
NitinAtIntel 5c4de21fe7 Adding detailed steps to get vagrant working with libvirt 2019-08-12 18:29:11 -07:00
Justin Scott 10307fde45 Use directories instead of partitions for rook
Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-08-12 14:19:33 -07:00
root a29f8b7b71 Fixed vagrant issue with proxy
proxy_ip_list variable had scope issues, used as global variable
initially then as a local variable. Changed all to global.

Signed-off-by: root <root@csterret-desk1.amr.corp.intel.com>
2019-08-08 18:19:20 -07:00
Justin Scott 9f4ffb2e39 Kustomize all the things
This commit replaces our static manifests with Kustomize
versions and adds scripting to apply them.

Signed-off-by: Justin Scott <justin.a.scott@intel.com>
2019-08-08 16:31:18 -07:00
David Lyle 67ee1cb2d4 tuning node dataset charting, removing skip_points 2019-08-08 17:02:19 +01:00
David Lyle c88d9a61c3 clean up 2019-08-07 09:53:36 +01:00
David Lyle d72621ae2e show which node the pod launched on, store pod name 2019-08-07 09:53:36 +01:00
David Lyle af7b595e4a excluding NoSchedule nodes from workload calculations 2019-08-07 09:53:36 +01:00
David Lyle ec9dbe1f0e changing node shapes in charts rather than color 2019-08-02 17:39:44 +01:00
David Lyle 45c9a7821a format fixes 2019-08-02 17:39:44 +01:00
David Lyle d8a8d77d1b Adding charting support for multinode 2019-08-02 17:39:44 +01:00
David Lyle 510dd83b09 adding multinode utilization tracking 2019-08-02 17:39:44 +01:00
Graham Whaley 42359e1f8e metrics: scaling: store json int results as non-strings
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>
2019-07-30 13:13:35 -06:00