Skip to content

Commit a9f4b2f

Browse files
authored
Merge branch 'main' into fix/remove-pod-event-time-cache
2 parents a34f011 + 19863b0 commit a9f4b2f

File tree

110 files changed

+6522
-1154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+6522
-1154
lines changed

.github/actions/install-deps/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ inputs:
77
runs:
88
using: "composite"
99
steps:
10-
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
10+
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
1111
id: setup-go
1212
with:
1313
go-version-file: go.mod

.github/dependabot.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,11 @@ updates:
6161
action-deps:
6262
patterns:
6363
- '*'
64+
- package-ecosystem: github-actions
65+
directory: .github/actions/run-bench-test
66+
schedule:
67+
interval: weekly
68+
groups:
69+
action-deps:
70+
patterns:
71+
- '*'

.github/workflows/kind-e2e.yaml

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
name: kind-e2e
22
on:
3+
push:
4+
branches: [main]
35
workflow_dispatch:
46
jobs:
57
kind-e2e:
@@ -13,7 +15,7 @@ jobs:
1315
steps:
1416
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1517
- name: Set up Python 3.10
16-
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
18+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
1719
with:
1820
python-version: "3.10"
1921
- uses: ./.github/actions/install-deps
@@ -34,7 +36,6 @@ jobs:
3436
- name: install kwok and controller
3537
shell: bash
3638
run: |
37-
make toolchain
3839
make install-kwok
3940
export KWOK_REPO=kind.local
4041
export KIND_CLUSTER_NAME=chart-testing
@@ -47,31 +48,36 @@ jobs:
4748
kubectl get nodepools
4849
kubectl get pods -A
4950
kubectl describe nodes
50-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
51-
with:
52-
repository: nathangeology/karpenter_evaluate
53-
path: ./karpenter_eval/ # Installs to a folder in the Karpenter repo for the test
54-
ref: "1130af927302e6913a4947952112f793eeafc564"
55-
fetch-depth: 0
56-
- name: install KPI report dependencies
57-
shell: bash
58-
run: |
59-
pip install pandas==2.2.2
60-
pip install pyarrow==16.1.0
61-
pip install tabulate==0.9.0
62-
pip install prometheus-api-client==0.5.5
63-
pip install ./karpenter_eval/
51+
# TEMPORARILY DISABLED: Karpenter KPI Analysis Package
52+
# This package analyzes key performance indicators (KPIs) for integration tests.
53+
# Currently non-functional due to changes in core Karpenter metrics.
54+
# Disabled due to test flakiness until underlying metric changes are addressed.
55+
# Reference: https://github.com/nathangeology/karpenter_evaluate/blob/main/main.py
56+
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
57+
# with:
58+
# repository: nathangeology/karpenter_evaluate
59+
# path: ./karpenter_eval/ # Installs to a folder in the Karpenter repo for the test
60+
# ref: "1130af927302e6913a4947952112f793eeafc564"
61+
# fetch-depth: 0
62+
# - name: install KPI report dependencies
63+
# shell: bash
64+
# run: |
65+
# pip install pandas==2.2.2
66+
# pip install pyarrow==16.1.0
67+
# pip install tabulate==0.9.0
68+
# pip install prometheus-api-client==0.5.5
69+
# pip install ./karpenter_eval/
6470
- name: run test suites
6571
shell: bash
6672
run: |
6773
OUTPUT_DIR=$(mktemp -d)
6874
export OUTPUT_DIR
6975
echo OUTPUT_DIR="$OUTPUT_DIR" >> "$GITHUB_ENV"
7076
make e2etests
71-
- name: run test analysis
72-
shell: bash
73-
run: |
74-
OUTPUT_DIR=${{ env.OUTPUT_DIR }} python ./karpenter_eval/main.py
77+
# - name: run test analysis
78+
# shell: bash
79+
# run: |
80+
# OUTPUT_DIR=${{ env.OUTPUT_DIR }} python ./karpenter_eval/main.py
7581
- name: cleanup
7682
shell: bash
7783
run: |

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
prerelease: false
3333

3434
- name: Install tejolote
35-
uses: kubernetes-sigs/release-actions/setup-tejolote@a69972745f85aab4ba5d6c681e2a0e7f73eaff2b # v0.3.0
35+
uses: kubernetes-sigs/release-actions/setup-tejolote@a30d93cf2aa029e1e4c8a6c79f766aebf429fddb # v0.3.1
3636
- name: Run tejolote
3737
run: |
3838
tejolote attest "github://kubernetes-sigs/karpenter/${{ github.run_id }}" --artifacts "github://kubernetes-sigs/karpenter/$TAG" --output karpenter.intoto.json --sign

.github/workflows/run-bench-test.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: "Run Bench Test"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
path:
7+
description: Path to the performance test
8+
required: true
9+
type: string
10+
runName:
11+
description: Name of the run, for the purpose of file naming and github comments
12+
required: true
13+
type: string
14+
githubSha:
15+
description: Sha of the github commit to check out
16+
required: true
17+
type: string
18+
jobs:
19+
run-test:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
with:
24+
ref: ${{ inputs.githubSha }}
25+
- name: Run Test
26+
id: test-run
27+
shell: bash
28+
run: |
29+
{
30+
cd ${{ inputs.path }}
31+
mkdir output
32+
go test -tags=test_performance -run=1 -bench=. -count=1 -cpuprofile output/cpu.out -memprofile output/mem.out > output/results.txt
33+
echo 'OUTPUT<<EOF'
34+
cat output/results.txt
35+
echo EOF
36+
} >> "$GITHUB_OUTPUT"
37+
- uses: actions/upload-artifact@v4
38+
id: artifact-upload
39+
with:
40+
name: ${{ inputs.runName }}
41+
path: ${{ inputs.path }}/output
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: "Scheduling Benchmarking"
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- "**.go"
7+
branches:
8+
- main
9+
10+
jobs:
11+
before:
12+
name: Before PR
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
path: ["pkg/controllers/provisioning/scheduling"]
17+
uses: ./.github/workflows/run-bench-test.yaml
18+
secrets: inherit
19+
with:
20+
path: ${{ matrix.path }}
21+
runName: before-${{ strategy.job-index }}
22+
githubSha: ${{ github.event.pull_request.base.sha }}
23+
after:
24+
name: After PR
25+
permissions:
26+
pull-requests: write
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
path: ["pkg/controllers/provisioning/scheduling"]
31+
uses: ./.github/workflows/run-bench-test.yaml
32+
secrets: inherit
33+
with:
34+
path: ${{ matrix.path }}
35+
runName: after-${{ strategy.job-index }}
36+
githubSha: ${{ github.sha }}

Makefile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ HELM_OPTS ?= --set logLevel=debug \
66
--set controller.resources.requests.cpu=1 \
77
--set controller.resources.requests.memory=1Gi \
88
--set controller.resources.limits.cpu=1 \
9-
--set controller.resources.limits.memory=1Gi
9+
--set controller.resources.limits.memory=1Gi \
10+
--set settings.featureGates.nodeRepair=true
1011

1112
help: ## Display help
1213
@awk 'BEGIN {FS = ":.*##"; printf "Usage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
@@ -43,11 +44,12 @@ apply-with-kind: verify build-with-kind ## Deploy the kwok controller from the c
4344
e2etests: ## Run the e2e suite against your local cluster
4445
cd test && go test \
4546
-count 1 \
46-
-timeout 30m \
47+
-timeout 2h \
4748
-v \
4849
./suites/$(shell echo $(TEST_SUITE) | tr A-Z a-z)/... \
4950
--ginkgo.focus="${FOCUS}" \
50-
--ginkgo.timeout=30m \
51+
--ginkgo.skip="${SKIP}" \
52+
--ginkgo.timeout=2h \
5153
--ginkgo.grace-period=5m \
5254
--ginkgo.vv
5355

@@ -60,6 +62,7 @@ apply: verify build ## Deploy the kwok controller from the current state of your
6062
--set controller.image.repository=$(IMG_REPOSITORY) \
6163
--set controller.image.tag=$(IMG_TAG) \
6264
--set controller.image.digest=$(IMG_DIGEST) \
65+
--set settings.preferencePolicy=Ignore \
6366
--set-string controller.env[0].name=ENABLE_PROFILING \
6467
--set-string controller.env[0].value=true
6568

0 commit comments

Comments
 (0)