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

[pull] master from cloud-bulldozer:master #8

Open
wants to merge 252 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
4169f64
density fully working -with debug
HughNhan Dec 18, 2020
5891efb
client affinity and client/server pairinng are working correctly
HughNhan Dec 22, 2020
f11b1e2
Annotate server with node-idx and use it to derive client affinity
HughNhan Dec 23, 2020
59830ae
restructure main, add stm to main and client to support iterations
HughNhan Jan 6, 2021
8deb295
Make iteration from min_node to max_node working
HughNhan Jan 6, 2021
4374a07
retrieve list of nodes with role worker
Jan 7, 2021
1e00142
integrate with worker_node_list builder
HughNhan Jan 7, 2021
9ecf503
fix when no exclude_node is defined
HughNhan Jan 7, 2021
b1679c8
make the excluded_node being a list i.e excluded_node: [node1 node2 ...]
HughNhan Jan 7, 2021
e5e1532
Super Model-3, "model S" seems working.
HughNhan Jan 14, 2021
1bedf64
Move pod_hi/low_idx and node_hi/low_idx out of redis and into benchma…
HughNhan Jan 15, 2021
ae1dc5b
Export node_count and pod_count variabled to benchmarkwrapper for dat…
HughNhan Jan 15, 2021
40d652e
Add 'step_size' CR parameter.
HughNhan Jan 19, 2021
6a94f69
Fix a timing window when redis is really busy. The idle client pods
HughNhan Jan 19, 2021
622769b
Consolidate 3 redis vars 'start', 'node_idx', 'pod_idx' into one
HughNhan Jan 21, 2021
4c027d0
single request to N pods (#1)
mukrishn Jan 22, 2021
6f2006d
Exclude nodes based on labels (#2)
smalleni Jan 22, 2021
dc674e4
Temp alleviating redis-server overload:
HughNhan Jan 22, 2021
0d28845
add stepsize and colocate to environment variables
Jan 22, 2021
7a0366e
Massage after rebase
HughNhan Jan 25, 2021
9d4d506
Fix list of args (#3)
smalleni Jan 27, 2021
2c7c2ed
Integrate "pin" mode into the Scale infra.
HughNhan Jan 28, 2021
1f8507d
merged code
Jan 29, 2021
416a5f4
more variable changes
Jan 29, 2021
606974e
remove duplicate export
Jan 29, 2021
106620f
Verified that VM-type works fine.
HughNhan Feb 5, 2021
c2da251
Update uperf.md
HughNhan Feb 8, 2021
e356c21
1 Address review comments.
HughNhan Feb 9, 2021
2c9f6af
Truncate label length to pass CI
HughNhan Feb 10, 2021
148213d
More name and lalel truncationc to keep within k8s API 63-chars max
HughNhan Feb 10, 2021
03f84c4
Address PR review #3: reduce clusterrole's scope, and several cosmetics
HughNhan Feb 12, 2021
833ec61
Tried fix a CI uncovered issue by using worker node's label instead o…
HughNhan Feb 16, 2021
23f01de
Reverse a server pod label, "app: xxx" to before scale enhancement wo…
HughNhan Feb 25, 2021
50c74a1
Update service selector to match the uperf pods server label
rsevilla87 Feb 27, 2021
dfd6887
Update uperf.md
HughNhan Mar 5, 2021
5be182a
Support multi Pod uperf sessions running in paralell.
HughNhan Mar 9, 2021
6c1e736
Fix clean up task syntax error
HughNhan Mar 11, 2021
a4b9fb2
Fix cleanup task to delete server Pods by default.
HughNhan Mar 11, 2021
0b5da1b
Fixed a uperf.md typos
HughNhan Mar 17, 2021
441b237
corrected uperf pod labels (#5)
mukrishn Mar 19, 2021
5812533
updated few more CRs (#7)
mukrishn Mar 22, 2021
514340d
Remove iperf3 compulsory arguments (#550)
asispatra Mar 24, 2021
cb4eba4
Truncate names to 27 chars. It was discovered that jinja truncate filter
HughNhan Mar 24, 2021
dded013
Always use benchmark-operator for service account
fritchie Mar 26, 2021
65f85ca
adding contributing doc version updates
paigerube14 Mar 29, 2021
784dd66
Add more metrics to capture during the kube-burner runs
chaitanyaenr Mar 26, 2021
fee594c
Disable snake_case conversion
rsevilla87 Mar 25, 2021
59bb92b
Fix clusterrolebinding naming in CI
rsevilla87 Mar 29, 2021
f24c399
Make redis image a variable
fritchie Mar 25, 2021
b6f1eb4
Make es_url parameter optional, so kube-burner can run w/o indexing
rsevilla87 Apr 6, 2021
90de2d3
System-metrics collection (#548)
rsevilla87 Apr 6, 2021
25b2ed5
Add log generator workload
Apr 7, 2021
8217a8c
Fixing documented variables to have _'s instead of -'s (#561)
Apr 8, 2021
550ac7e
Enhance node-density heavy to use livenessprobes (#564)
smalleni Apr 14, 2021
f4adc3f
API metrics
rsevilla87 Apr 12, 2021
f6981d6
Update operator-sdk to version v1.5.0
rsevilla87 Mar 31, 2021
e6f0935
Update references in docs
rsevilla87 Mar 31, 2021
923e156
Don't dump ansible container logs
rsevilla87 Mar 31, 2021
6b07bcc
Remove underscores from stockpile vars
rsevilla87 Mar 31, 2021
9d158f3
Replace operator-sdk by podman
rsevilla87 Mar 31, 2021
c84908d
Update meta to ansible_operator_meta
rsevilla87 Apr 7, 2021
e4c405f
Suppot for any options under spec and container
asispatra Mar 17, 2021
0fa5f20
BYOWL: Generic section under spec and containers
asispatra Mar 25, 2021
969026d
Adding concurrent builds to benchmark operator
paigerube14 Mar 18, 2021
36d02b4
Adding Image Pull workload
Apr 8, 2021
a2fbc95
adding cerberus validate certs parameter
May 10, 2021
af5fe68
Remove magzine section from CONTRIBUTING.md
May 11, 2021
019cba9
Add support for kafka as log backend for verification
smalleni May 9, 2021
3c866a5
Expand README
May 12, 2021
307d514
Quiesce logging in pod for log generator workload
smalleni May 19, 2021
ebf0f1f
removed line breaks for trex tasks only
mukrishn May 20, 2021
49da13e
mounting module path for mlnx
mukrishn May 23, 2021
3b21383
updated doc for mlnx sriov policy
mukrishn May 24, 2021
4aa5de0
Update installation.md
Ayesha279 Jun 3, 2021
265a384
Make sink verification optional for kafka
smalleni May 25, 2021
cfb2b0a
Auto osd cache drop (#570)
bengland2 Jun 8, 2021
66f82ee
Shorten max-services to max-serv to avoid line length issue
Jun 7, 2021
d7c36cd
Hammerdb: add VM support (#569)
ebattat Jun 11, 2021
7e9abac
give benchmark-operator privs to look into openshift-storage namespace
bengland2 Jun 10, 2021
54dfffd
add RBAC to let benchmark-operator detect openshift-storage pods
bengland2 Jun 10, 2021
c7576b9
nit
bengland2 Jun 11, 2021
dc2640c
add stressng vm elasticsearch/nodeselector support (#590)
ebattat Jun 16, 2021
97de39e
fix svc name to not include period
mohit-sheth Jul 1, 2021
2f6a621
Update namespace count query
rsevilla87 Jul 5, 2021
de9fa90
Hammerdb (#596)
ebattat Jul 7, 2021
18370a2
add alerts to kube-burner dash
mohit-sheth Jun 17, 2021
f7e59c5
Add uperf resource labels
sarahbx Jul 9, 2021
7d1dcfd
Update metric profiles to new schema
rsevilla87 Jul 15, 2021
59028c2
operator sdk upgrade (#598)
Jul 16, 2021
2ec10ae
Add cri-o network setup latency metrics
rsevilla87 Jul 22, 2021
a3b34e9
Stressng (#606)
ebattat Jul 26, 2021
30444b9
Add container granurality
rsevilla87 Jul 28, 2021
c72fa1d
Add P&F metrics
rsevilla87 Jul 29, 2021
8efce1e
Arbirary env vars
rsevilla87 Jul 29, 2021
0edc388
Extra env vars as dictionary rather than a list of dictionaries
rsevilla87 Jul 30, 2021
21ab5c7
Add missing workload_args to extra_env_vars
rsevilla87 Jul 30, 2021
a8481a1
Fix uuid error (#621)
rsevilla87 Jul 30, 2021
665b98e
Lower reconcilePeriod
rsevilla87 Jul 30, 2021
f440267
add networkpolicy test cases
mohit-sheth Jun 11, 2021
61c1257
Fix broken links in the docs (#616)
Harshith-umesh Aug 2, 2021
8b6de5e
Fix system-metrics collection
rsevilla87 Aug 2, 2021
9187a21
Container build mechanism (#613)
rsevilla87 Aug 3, 2021
b36775f
Backpack needs a RW root (#612)
gavin-stackrox Aug 3, 2021
7843d38
Use IMG to push the image
rsevilla87 Aug 4, 2021
a05ffac
Fix manifest pushing
rsevilla87 Aug 5, 2021
0c88b6a
add vm completed state
ebattat Aug 5, 2021
4a79d33
add redis completed status
ebattat Aug 5, 2021
8d72835
--show-current flag is not available for git versions < 2.22 (#633)
rsevilla87 Aug 5, 2021
72b641b
Add IMG_ARCH
rsevilla87 Aug 6, 2021
b8a336c
remove if from populate_test_list function
Aug 4, 2021
89dbce5
fio prefill should use same numjobs value as fio samples
bengland2 Aug 4, 2021
39b1a1b
Smf cleanup delay (#597)
bengland2 Aug 9, 2021
43ea414
Optional IMAGE_ARCH to build and push containers with different archi…
rsevilla87 Aug 10, 2021
f9388f7
Fix typo
rsevilla87 Aug 10, 2021
b6e4b58
Deprecate cerberus integration
rsevilla87 Aug 10, 2021
2d3dc8d
Disable readonly fs in kube-burner pod (#639)
Harshith-umesh Aug 12, 2021
f7a57d9
make undeploy should depend on make kustomize (#647)
RobertKrawitz Aug 18, 2021
d03bbb7
Ripsaw CLI (#617)
Aug 18, 2021
7df4c9a
Fix CR links in docs and standardize
sjug Aug 16, 2021
ef4b663
Benchmark status handler (#638)
rsevilla87 Aug 20, 2021
ec4635c
Chart fix (#651)
Aug 23, 2021
1cc1216
update cache dropping doc (#650)
bengland2 Aug 24, 2021
e991ac4
fix vm complete state (#663)
ebattat Aug 30, 2021
24839e5
Able to run the sysbench test on a specific node
e-minguez Aug 30, 2021
46ab53b
Set restartPolicy Never to jobs (#664)
rsevilla87 Aug 31, 2021
65ba13c
Elasticsearch URL (#665)
rsevilla87 Sep 1, 2021
0c7ffee
Fio doc fixes (#660)
bengland2 Sep 1, 2021
9826c52
UPERF: Fix node name truncation to avoid ending with a dot '.' char …
HughNhan Sep 1, 2021
a67e8e5
Fix not targeted metadata collection (#667)
rsevilla87 Sep 1, 2021
3f134ef
Removing default value for image_name as it was causing the real defa…
Sep 1, 2021
15bba07
Fio no log hist (#666)
bengland2 Sep 1, 2021
abc48ea
Fix oslat execution
rsevilla87 Sep 2, 2021
befbd51
Add a nodeSelector for vegeta pods
e-minguez Sep 2, 2021
8594fb8
Convert testpmd into pod
rsevilla87 Sep 3, 2021
8a75514
add uuid to start
ebattat Sep 7, 2021
2f834bd
Smallfile cr params (#652)
bengland2 Sep 8, 2021
a5fdb1b
Update CONTRIBUTING.md
jeniferh Sep 8, 2021
2da6f53
fixed cyclictest execution
Sep 13, 2021
eb8be37
add rosa parameters to scale template
morenod Sep 10, 2021
237863e
Cleanup delay pass to smf (#680)
bengland2 Sep 14, 2021
58da623
Improve vegeta synchronization
rsevilla87 Sep 15, 2021
6f4c143
Adds initial config for api-load tests
chentex Sep 1, 2021
1f791db
API load test execution
chentex Sep 8, 2021
58b89c2
Adds volume for test results
chentex Sep 14, 2021
d3046b6
Fixing tests for api-load benchmark
chentex Sep 14, 2021
4c6424d
E2E testing framework (#625)
rsevilla87 Sep 17, 2021
67134f1
Concurrency for e2e workflow
rsevilla87 Sep 17, 2021
0e3ccfd
Kube burner configmap config (#690)
rsevilla87 Sep 29, 2021
f8f00fa
Revert tests directory (#691)
rsevilla87 Sep 30, 2021
1bcdebf
Migration to generic_workload
rsevilla87 Sep 6, 2021
52d83ae
Migrate API load benchmark
rsevilla87 Sep 21, 2021
248edd3
update sleep execution after scale tu capture run_snafu exit code cor…
morenod Oct 5, 2021
901a492
Make completed.yml able to detect job timeouts
rsevilla87 Oct 5, 2021
8e009df
Update node selector for RT workloads
smalleni Oct 7, 2021
fd2e24f
Handle log dumping for pods with multiple containers
rsevilla87 Oct 15, 2021
3d520ac
LOGS_FLAGS
rsevilla87 Oct 15, 2021
d0604ae
Bump to bats v1.5.0
rsevilla87 Oct 26, 2021
8b06b37
Add optional annotations to workloads
RobertKrawitz Oct 26, 2021
a0492bb
Fix indentation
RobertKrawitz Oct 27, 2021
ae11700
Fix more indentation problems
RobertKrawitz Oct 27, 2021
126d76c
fixing a naming issue
Oct 28, 2021
6b20f59
Adding multi test run to benchmark
chentex Sep 16, 2021
f779d18
Initial data-collection pod
chentex Oct 11, 2021
ae95aea
ES indexing and upload working
chentex Oct 12, 2021
9783d78
Fixing api_load tests
chentex Oct 13, 2021
1797d70
Fixing api_load test
chentex Oct 13, 2021
e865bd7
Adding documentation for api load scenario
chentex Oct 27, 2021
399e7e4
Setting snappy section as optional
chentex Oct 28, 2021
c8e5ca9
Updating active members to contact
jtaleric Oct 29, 2021
7df4f2b
add upgrade pip for CNV templates (#707)
ebattat Nov 10, 2021
186c8a2
Fix indentation on image pull that was causing the pull policy to be …
Nov 17, 2021
7c3d45c
Also fix api_load for the same error
Nov 17, 2021
9c1ce52
Standardizes using latest tag for images
chentex Nov 17, 2021
a5bf531
Adding parametrization to fs_drift image
chentex Nov 19, 2021
b942b0a
Use arg override in image for pgbench
chentex Nov 19, 2021
6e7cc6c
Fixing image override by args on iperf3
chentex Nov 19, 2021
815a371
Merge pull request #713 from chentex/fix-images-tags
chentex Nov 22, 2021
3bb263c
fixing the runtime parameter which needs to be duration (#714)
mkarg75 Nov 24, 2021
5bc5f27
Set a default of 8h for api_load job timeout (#708)
chentex Nov 29, 2021
95d281a
Fio server_vm image updates
jeniferh Sep 13, 2021
0b5654c
Merge pull request #685 from jeniferh/fio_vmimg
chentex Dec 1, 2021
8b2694a
Add missing deps to setup.cfg (#717)
jtaleric Jan 12, 2022
2c9ca79
System-metrics doc typo
rsevilla87 Jan 13, 2022
4e3f7eb
Add requests to manifest for kustomize (#720)
jtaleric Jan 19, 2022
0e91cb7
shortening job names for cyclictest and oslat to prevent too long nam…
marokko44 Jan 21, 2022
7deb23d
fixing configmap names
marokko44 Jan 21, 2022
f71644b
Helm Chart missing label (#724)
jtaleric Jan 25, 2022
dc375a5
nodeport and loadbalancer type svc for uperf
mukrishn Jan 18, 2022
a6e9421
updated uperf vm port
mukrishn Jan 19, 2022
94bdfb2
document update
mukrishn Jan 24, 2022
6fef741
readme correction
mukrishn Jan 24, 2022
e6fab66
test workload for nodeport
mukrishn Jan 24, 2022
cbc6a56
bats test case for nodeport
mukrishn Jan 24, 2022
466ca91
Update AppStream Repo for CentOS 8
smalleni Feb 8, 2022
0276849
Add new CNI focussed kubelet tests
smalleni Feb 7, 2022
2c64d45
corrected indentation with `filter` (#735)
mukrishn Feb 22, 2022
0179028
included eol to fix the issue
mukrishn Mar 3, 2022
f72e3b0
add proxy to k8s client if it exists in env
qiliRedHat Jan 29, 2022
f296081
Update package list before installing
rsevilla87 Mar 7, 2022
5a277c4
fix firewall in centos stream8 (#742)
ebattat Mar 11, 2022
716edf2
Remove redundant metadata section in client
Mar 8, 2022
da344e8
update hammerdb vm to centos stream8 (#744)
ebattat Mar 17, 2022
e36032b
Fs drift test captures response time stats (#747)
bengland2 Mar 24, 2022
176af6e
Improve cli exeption handling
rsevilla87 Apr 4, 2022
0003736
Add resource requests to templates for CNI workloads
smalleni Mar 21, 2022
5cc6133
Updating api-load to match latest release
chentex Apr 6, 2022
0fac50d
Change readiness probe to startup probe for node-density-cni
smalleni Apr 29, 2022
ba6a54e
Adds option to check if ES certs are verified
chentex May 23, 2022
369ae44
Enable multiple client/server pairs with NodePort uperf
smalleni May 4, 2022
a728e68
Update ConfigMap name for CNV
smalleni May 26, 2022
09a14b5
Reduce test scope (#760)
rsevilla87 May 31, 2022
639da33
Fix tests race condition
rsevilla87 Jun 3, 2022
53e5a00
Point redis image to multi-arch image on docker.io to support arm arc…
svetsa-rh Jun 3, 2022
c6a0c5b
Removing unused client_store template from iperf template assets
vishnuchalla Jun 2, 2022
61f325e
Run tests for modified files (#764)
rsevilla87 Jun 6, 2022
f4fe8fb
Use cluster-admin ClusterRoleBinding (#763)
rsevilla87 Jun 7, 2022
382fdc4
Template serviceAccountName (#769)
rsevilla87 Jun 8, 2022
6fa2b25
Point to redis multiarch image in charts/benchmark-operator (#771)
svetsa-rh Jun 13, 2022
d8672e9
bug fix for ports mismatch between client and server pairs in without…
vishnuchalla Jun 29, 2022
ae07c14
Standard uperf workload without scale mode features. (#775)
vishnuchalla Jul 6, 2022
42582ad
Fix VM scenario
rsevilla87 Jul 6, 2022
94005cd
missing env var num_pairs (#784)
mukrishn Jul 7, 2022
12701a6
Added exit status for uperf failures (#782)
vishnuchalla Jul 11, 2022
41eb251
The current mechanism to get the tag name doesn't work well.
rsevilla87 Jul 12, 2022
18bb2d1
Uperf scale mode code changes (#776)
vishnuchalla Jul 12, 2022
3c5ca1b
added README.md for uperf-scale mode code changes (#790)
vishnuchalla Jul 15, 2022
6aeaacc
fixing port conflict for uperf bidrec test (#791)
vishnuchalla Jul 15, 2022
1a19792
Race condition in FIO
jtaleric Jul 19, 2022
11b3e09
Use uperf pod antiAffinity rules (#781)
rsevilla87 Aug 1, 2022
68671d1
updated README.md (#778)
Jadkisso12 Aug 3, 2022
91c975d
SCTP support for pod2service scenarios in uperf workloads (#734)
josecastillolema Aug 8, 2022
0e6043a
Benchmark-operator's affinity preference to workload node
rsevilla87 Aug 10, 2022
351b7e2
WIll allow FIO to run test with pvcvolumemode as Block (#797)
shekharberry Sep 23, 2022
0954437
disable autovacuum
ebattat Dec 13, 2022
e32b4c4
stress-ng: expose cpu method in cr (#804)
rootfs Jan 16, 2023
a6c0040
Added FIO prefill state to the benchmark. (#802)
kdvalin Jan 19, 2023
93725fc
Added storageclass support to sysbench, if storageclass is not define…
kdvalin Jan 27, 2023
5938fa9
Initial draft for nighthawk workload (#796)
vishnuchalla Jan 27, 2023
76ab6e6
typo
mukrishn Mar 31, 2023
977ad26
Add es_index parameter to log-generator workload template as it can b…
morenod Apr 4, 2023
709b068
Merge pull request #809 from morenod/log_generator
morenod Apr 4, 2023
84ee7da
iPerf: work-around for ipv6 traffic type on dual-stack cluster (#815)
elenagerman Jun 22, 2023
506dd2a
Update roles/fio_distributed/tasks/main.yml with (#816)
ekuric Jun 27, 2023
081359d
zone affinity for uperf clients (#811)
mukrishn Jun 27, 2023
576ee97
Fixing BMO for CNV
Mar 11, 2024
b3fe7d1
Add Youtube video for Quickstart (#824)
mulbc May 22, 2024
2a4091f
feat : use --no-cache-dir flag to pip in dockerfiles to save space (#…
Rajpratik71 Jun 20, 2024
f5ffc3c
Removing Dev ES instance references (#828)
vishnuchalla Oct 8, 2024
83b5f26
Kubevirt fixes (#830)
rsevilla87 Oct 25, 2024
31c6969
Update stressng.md to reflect crd requirements (#825)
MansM Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 42 additions & 0 deletions .github/workflows/cli.unit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

name: CLI Unit Tests
on:
push:
paths:
- 'cli/**'
- 'workflows/cli.*.yml'
pull_request:
workflow_dispatch:

defaults:
run:
shell: bash
working-directory: cli

jobs:
unit_tests:
name: Run Unit Tests -- Python 3.${{ matrix.pyver }}
runs-on: ubuntu-latest
strategy:
matrix:
pyver: [8, 9]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.${{ matrix.pyver }}
- name: Install tox
run: pip install tox
- name: Install Kind Cluster
run: kind create cluster --name=pytest-kind --kubeconfig ./kubeconfig
- name: Run Tox
run: tox -e py3${{ matrix.pyver }}-unit -- --kind-bin=/usr/local/bin/kind --kubeconfig ./kubeconfig --keep-cluster
- name: Generate Coverage Report
if: matrix.pyver == 9
run: tox -e coverage
- name: Upload Coverage Report
if: matrix.pyver == 9
uses: codecov/codecov-action@v1
with:
files: cli/coverage.xml
flags: unit,gha,python-3.${{ matrix.pyver }}
88 changes: 88 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Run e2e tests
on:
pull_request_target:
types: [labeled, synchronize]
push:
branches:
- master
workflow_dispatch:
inputs:
test_list:
description: Only run tests that match the regular expression
default: ""
img:
description: Benchmark-operator image location
default: quay.io/rht_perf_ci/benchmark-operator:e2e
concurrency:
group: e2e-ci
jobs:
e2e:
name: E2E testing
runs-on: ubuntu-latest
timeout-minutes: 120
if: "github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'ok to test'))"
env:
BATS_TESTS: ${{ github.event.inputs.test_list }}
IMG: ${{ github.event.inputs.img }}
steps:

- name: Set env vars # Workaround: When the workflow is triggered by events different from workflow_dispatch the IMG env var is not set
run: echo "IMG=quay.io/rht_perf_ci/benchmark-operator:e2e" >> $GITHUB_ENV
if: github.event_name != 'workflow_dispatch'

- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
if: github.event_name == 'pull_request_target'

- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
if: "github.event_name == 'workflow_dispatch' || github.event_name == 'push'"

- name: Install bats
run: make install-bats

- name: Authenticate against OCP cluster
run: oc login -u ${OPENSHIFT_USER} -p ${OPENSHIFT_PASSWORD} ${OPENSHIFT_SERVER} --insecure-skip-tls-verify=true
env:
OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }}
OPENSHIFT_USER: ${{ secrets.OPENSHIFT_USER }}
OPENSHIFT_PASSWORD: ${{ secrets.OPENSHIFT_PASSWORD }}

- name: Login in quay
run: podman login quay.io -u ${QUAY_USER} -p ${QUAY_TOKEN}
env:
QUAY_USER: ${{ secrets.QUAY_CI_USER }}
QUAY_TOKEN: ${{ secrets.QUAY_CI_TOKEN }}

- name: Build, push and deploy benchmark-operator
run: make image-build image-push deploy

- name: Ensure benchmark-operator is running
run: kubectl rollout status -n benchmark-operator --timeout=5m deploy/benchmark-controller-manager

- name: Execute e2e tests
run: e2e/run_tests_ci.sh
env:
TERM: linux

- name: Undeploy benchmark-operator
run: make undeploy
if: always() # always run even if the previous step fails

- name: Upload artifacts
uses: actions/upload-artifact@v2
if: failure()
with:
name: benchmark-operator-debug-${{ github.run_id }}
path: e2e/artifacts

- name: Publish Test Report
uses: mikepenz/[email protected]
if: always()
with:
report_paths: e2e/report.xml
60 changes: 60 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Release benchmark-operator container images
on:
push:
branches:
- master
tags:
- "*" # triggers only if push new tag version

jobs:
containers:
name: Build container images
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- arm64
- amd64
- ppc64le
env:
ORG: cloud-bulldozer
IMAGE_ARCH: ${{ matrix.arch }}
steps:

- name: Install dependencies required for multi-arch builds
run: sudo apt-get update && sudo apt-get install qemu-user-static podman fuse-overlayfs

- name: Check out code
uses: actions/checkout@v2

- name: Login in quay
run: podman login quay.io -u ${QUAY_USER} -p ${QUAY_TOKEN}
env:
QUAY_USER: ${{ secrets.QUAY_USER }}
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}

- name: Build benchmark-operator container
run: make image-build

- name: Push benchmark-operator container
run: make image-push

manifest:
name: Build container manifest
runs-on: ubuntu-latest
env:
MANIFEST_ARCHS: amd64 arm64 ppc64le
needs: containers
steps:

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Login in quay
run: podman login quay.io -u ${QUAY_USER} -p ${QUAY_TOKEN}
env:
QUAY_USER: ${{ secrets.QUAY_USER }}
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}

- name: Build and push container manifest
run: make manifest
160 changes: 159 additions & 1 deletion .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,2 +1,160 @@
# Ignore
# Binaries for programs and plugins
*.dll
*.so
*.dylib
bin

# editor and IDE paraphernalia
.idea
*.swp
*.swo
*~

.kube
.pytest-kind
.kind



### Pulled from https://github.com/github/gitignore/blob/master/Python.gitignore

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

cython_debug/
.cache
e2e/report.xml
e2e/artifacts
Loading