Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmarking automation with on-demand CI test #3335

Merged
merged 57 commits into from
Jun 29, 2021
Merged
Show file tree
Hide file tree
Changes from 49 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
e90e4f5
Updated ghz image
axsaucedo Jun 26, 2021
05804dd
Updatesd argo benchmark example to run
axsaucedo Jun 26, 2021
bbd241a
Added jenkins job
axsaucedo Jun 26, 2021
1164868
Added testing for benchmarking run
axsaucedo Jun 26, 2021
db16fc7
Lint
axsaucedo Jun 26, 2021
7c26284
Fixed broken link
axsaucedo Jun 26, 2021
b36b085
Updated notebook shortened
axsaucedo Jun 26, 2021
d809886
Updated test to cover sequences
axsaucedo Jun 26, 2021
b3483c4
Updated notebooks script to ensure output is printed
axsaucedo Jun 27, 2021
d6b91c5
Added mock test models to ci build
axsaucedo Jun 27, 2021
9b9e976
Updated testing scripts to only build test models if modified
axsaucedo Jun 27, 2021
5929187
Updated capture output
axsaucedo Jun 27, 2021
6943575
Updated warnings
axsaucedo Jun 27, 2021
b1ad1e6
Removing printing
axsaucedo Jun 27, 2021
dd5a96f
Added argo binary
axsaucedo Jun 27, 2021
10af73e
Updated linting to include nbqa
axsaucedo Jun 27, 2021
7c79fb4
Format
axsaucedo Jun 27, 2021
7f96801
Fix typo
axsaucedo Jun 27, 2021
983556c
Revert "Format"
axsaucedo Jun 27, 2021
24c3a2c
Revert "Updated linting to include nbqa"
axsaucedo Jun 27, 2021
ee0e208
Updated core-builder image to include argo
axsaucedo Jun 27, 2021
a62f827
Example
axsaucedo Jun 27, 2021
6a0e4d5
Updated example
axsaucedo Jun 27, 2021
b3ae4c2
Updated example
axsaucedo Jun 27, 2021
ad4a9d1
Updated example
axsaucedo Jun 27, 2021
1b3a66a
Added ns on example
axsaucedo Jun 27, 2021
875cc50
Added cm for argo
axsaucedo Jun 27, 2021
8a09e11
Updated example to use correct serviceaccount
axsaucedo Jun 27, 2021
a30c697
Updated example to use correct serviceaccount
axsaucedo Jun 27, 2021
eedad0c
Updated correct rolebindings
axsaucedo Jun 27, 2021
ad25f18
Added script comment results
axsaucedo Jun 27, 2021
21f7708
Added script comment results
axsaucedo Jun 27, 2021
5b4a70c
Added script push result
axsaucedo Jun 27, 2021
1353260
Added script push result
axsaucedo Jun 27, 2021
0d8adeb
Added script push result
axsaucedo Jun 27, 2021
98041e7
Added script push result
axsaucedo Jun 27, 2021
50d342d
Added opt dep
axsaucedo Jun 27, 2021
ee4b47a
Updated to run full benchmark test
axsaucedo Jun 27, 2021
91edbd8
Added helm chart to main helm chart folder
axsaucedo Jun 28, 2021
6f2cf64
Added basic end to end test with checks
axsaucedo Jun 28, 2021
3a90d5a
Added jx to core builder
axsaucedo Jun 28, 2021
de22736
Added stdout to build
axsaucedo Jun 28, 2021
356e8fb
Updated test to use relative resources from jx
axsaucedo Jun 28, 2021
524c5d9
Updated bench
axsaucedo Jun 28, 2021
4566dd8
Updated bench
axsaucedo Jun 28, 2021
54ee199
Moved benchmark notebook to benchmark folder
axsaucedo Jun 28, 2021
7e61b6d
Moved benchmark to svc orch folder
axsaucedo Jun 29, 2021
de4a3b5
Added concurrency to vegeta
axsaucedo Jun 29, 2021
85133d0
ADded nblink for new location
axsaucedo Jun 29, 2021
0b66c1c
Updated to add node taints and nodeselector for job
axsaucedo Jun 29, 2021
84f78c4
Updated to add node taints and nodeselector for job
axsaucedo Jun 29, 2021
0ec47b2
Updated to add node taints and nodeselector for job
axsaucedo Jun 29, 2021
21c1dac
Updated to add node taints and nodeselector for job
axsaucedo Jun 29, 2021
0967345
Updated to broader tolerations
axsaucedo Jun 29, 2021
590bb4e
Updated to broader tolerations
axsaucedo Jun 29, 2021
45c991f
Added node pools for all
axsaucedo Jun 29, 2021
aa5711e
Added node pools for all
axsaucedo Jun 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .lighthouse/jenkins-x/benchmark.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
creationTimestamp: null
name: benchmark
spec:
pipelineSpec:
tasks:
- name: benchmark-test-task
taskSpec:
stepTemplate:
name: ""
workingDir: /workspace/source
steps:
- image: uses:jenkins-x/jx3-pipeline-catalog/tasks/git-clone/git-clone-pr.yaml@versionStream
name: ""
- name: benchmark-step
image: seldonio/core-builder:0.21
env:
- name: SELDON_E2E_TESTS_TO_RUN
value: benchmark
- name: SELDON_E2E_TESTS_POD_INFORMATION
value: "true"
command:
- bash
- -c
- cd testing/scripts && bash kind_test_all.sh
volumeMounts:
- mountPath: /lib/modules
name: modules
readOnly: true
- mountPath: /sys/fs/cgroup
name: cgroup
- name: dind-storage
mountPath: /var/lib/docker
resources:
requests:
cpu: 4
memory: 10000Mi
ephemeral-storage: "150Gi"
limits:
cpu: 4
memory: 10000Mi
ephemeral-storage: "150Gi"
securityContext:
privileged: true
imagePullPolicy: Always
volumes:
- name: modules
hostPath:
path: /lib/modules
type: Directory
- name: cgroup
hostPath:
path: /sys/fs/cgroup
type: Directory
- name: dind-storage
emptyDir: {}
podTemplate: {}
serviceAccountName: tekton-bot
timeout: 6h0m0s
status: {}

9 changes: 8 additions & 1 deletion .lighthouse/jenkins-x/triggers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,16 @@ spec:
context: "release-build-push"
always_run: false
optional: false
trigger: (?m)^/test( all| release.*),?(s+|$)
trigger: (?m)^/test( release.*),?(s+|$)
rerun_command: "/test release"
source: "release.yaml"
- name: benchmark
context: "benchmark"
always_run: false
optional: false
trigger: (?m)^/test( benchmark.*),?(s+|$)
rerun_command: "/test benchmark"
source: "benchmark.yaml"
postsubmits:
- name: release
context: "release"
Expand Down
10 changes: 9 additions & 1 deletion ci_build_and_push_images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,15 @@ function build_push_mock {
make \
-C examples/models/mean_classifier \
build \
push
push && \
make \
-C testing/docker/echo-model \
build_image \
push_image && \
make \
-C testing/docker/fixed-model \
build_images \
push_images
MOCK_MODEL_EXIT_VALUE=$?
}

Expand Down
13 changes: 13 additions & 0 deletions core-builder/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,19 @@ RUN go get -u github.com/onsi/ginkgo/ginkgo
# Helm docs
RUN GO111MODULE=on go get github.com/norwoodj/helm-docs/cmd/helm-docs@f66fdbd6fe

# Argo workflows CLI
RUN wget https://github.com/argoproj/argo-workflows/releases/download/v3.0.8/argo-linux-amd64.gz && \
gunzip argo-linux-amd64.gz && \
mv argo-linux-amd64 argo && \
chmod a+x argo && \
mv argo /usr/local/bin/argo

# Installing jx
RUN wget https://github.com/jenkins-x/jx-cli/releases/download/v3.1.242/jx-cli-linux-amd64.tar.gz && \
tar -zxvf jx-cli-linux-amd64.tar.gz && \
chmod a+x jx && \
mv jx /usr/local/bin/jx

WORKDIR /work

# Define default command.
Expand Down
2 changes: 1 addition & 1 deletion core-builder/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
DOCKER_IMAGE_NAME=seldonio/core-builder
DOCKER_IMAGE_VERSION=0.20
DOCKER_IMAGE_VERSION=0.21

build_docker_image:
cp ../testing/scripts/dev_requirements.txt .
Expand Down
2 changes: 1 addition & 1 deletion doc/source/examples/vegeta_bench_argo_workflows.nblink
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"path": "../../../examples/batch/benchmarking-argo-workflows/README.ipynb"
"path": "../../../testing/benchmarking/automated-benchmark/README.ipynb"
}
2 changes: 1 addition & 1 deletion doc/source/ingress/ambassador.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ helm install ambassador datawire/ambassador \
### Option 2: Ambassador API Gateway (now Emissary Ingress)

The [Ambassador API Gateway](https://www.getambassador.io/products/api-gateway/) (now Emissary Ingress) is the fully open source version of Ambassador Edge Stack and provides all the functionality of a traditional ingress controller.
Follow the [Ambassador OSS instructions](https://www.getambassador.io/docs/latest/topics/install/install-ambassador-oss/) to install it on your kubernetes cluster.
Follow the [Ambassador OSS instructions](https://www.getambassador.io/docs/latest/topics/install/) to install it on your kubernetes cluster.

Using `helm` the steps can be summarised as
```bash
Expand Down
Loading