Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
  •  
  •  
  •  
10 changes: 0 additions & 10 deletions .github/actions/deploy/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@ name: "Set up KFP on KinD"
description: "Step to start and configure KFP on Kind"

inputs:
cluster_name:
description: "Kind cluster name"
default: 'kfp'
required: false
pipeline_store:
description: "Flag to deploy KFP with K8s Native API"
default: 'database'
Expand Down Expand Up @@ -74,12 +70,6 @@ runs:
docker image rm ${{ inputs.image_registry }}/$app:${{ inputs.image_tag }}
docker image rm localhost:5000/$app:${{ inputs.image_tag }}
done
docker pull python:3.11
docker pull registry.access.redhat.com/ubi9/python-311:latest
kind load docker-image python:3.11 --name ${{ inputs.cluster_name }}
kind load docker-image registry.access.redhat.com/ubi9/python-311:latest --name ${{ inputs.cluster_name }}
docker image rm python:3.11
docker image rm registry.access.redhat.com/ubi9/python-311:latest

- name: Configure Args
shell: bash
Expand Down
2 changes: 0 additions & 2 deletions .github/resources/manifests/base/apiserver-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ spec:
containers:
- name: ml-pipeline-api-server
env:
- name: V2_DRIVER_IMAGE
value: kind-registry:5000/driver
- name: V2_LAUNCHER_IMAGE
value: kind-registry:5000/launcher
- name: LOG_LEVEL
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../../base/apiserver-env.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../pipeline-crd-rbac.yaml
Expand Down Expand Up @@ -96,4 +99,3 @@ replacements:
name: cache-server
fieldPaths:
- spec.template.spec.dnsConfig.searches.[=NAMESPACE.svc.cluster.local]

Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../pipeline-crd-rbac.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../pipeline-crd-rbac.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../../base/apiserver-env.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../../base/apiserver-env.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../../base/apiserver-env.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ images:
- name: ghcr.io/kubeflow/kfp-metadata-envoy
newName: kind-registry:5000/metadata-envoy
newTag: latest
- name: ghcr.io/kubeflow/kfp-driver
newName: kind-registry:5000/driver
newTag: latest

patches:
- path: ../../base/apiserver-env.yaml
Expand Down
18 changes: 17 additions & 1 deletion .github/resources/scripts/collect-logs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ function check_namespace {
return 0
}

function describe_argo_workflows {
local NAMESPACE=$1
echo "===== Argo Workflows list ====="
kubectl describe wf -n "${NAMESPACE}"
echo "===== Argo Workflows data ====="
kubectl get events -n "${NAMESPACE}" --field-selector involvedObject.kind=Workflow --sort-by='.metadata.creationTimestamp'
echo "==============================="
}

function display_pod_info {
local NAMESPACE=$1

Expand All @@ -52,7 +61,13 @@ function display_pod_info {
kubectl describe pod "${POD_NAME}" -n "${NAMESPACE}" | grep -A 100 Events || echo "No events found for pod ${POD_NAME}."

echo "----- LOGS -----"
kubectl logs "${POD_NAME}" -n "${NAMESPACE}" || echo "No logs found for pod ${POD_NAME}."
if [[ "${POD_NAME}" == *-agent* ]]; then
kubectl logs "${POD_NAME}" -n "${NAMESPACE}" -c driver-plugin || \
echo "No logs found for pod ${POD_NAME}."
else
kubectl logs "${POD_NAME}" -n "${NAMESPACE}" || \
echo "No logs found for pod ${POD_NAME}."
fi

echo "==========================="
echo ""
Expand All @@ -64,6 +79,7 @@ function display_pod_info {

if check_namespace "$NS"; then
display_pod_info "$NS"
describe_argo_workflows "$NS"
else
exit 0
fi
3 changes: 2 additions & 1 deletion .github/resources/scripts/kfp-readiness/wait_for_pods.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ def get_pod_statuses():
statuses = {}
for pod in pods.items:
pod_name = pod.metadata.name
if "system" not in pod_name:
# This filter is safe: 'ml-pipeline-persistenceagent-<guid>' will not be excluded and will be processed.
if not ("system" in pod_name or pod_name.endswith("-agent")):
pod_status = pod.status.phase
container_statuses = pod.status.container_statuses or []
ready = 0
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/api-server-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,13 @@ jobs:
k8s_version: [ "v1.34.0" ]
cache_enabled: [ "true", "false" ]
proxy: [ "true", "false" ]
argo_version: [ "v3.7.3", "v3.5.14" ]
argo_version: [ "v3.7.3", "v3.6.7" ]
pipeline_store: [ "database" ]
pod_to_pod_tls_enabled: [ "false" ]
include:
- k8s_version: "v1.29.2"
cache_enabled: "true"
argo_version: "v3.7.3"
argo_version: "v3.6.7"
- k8s_version: "v1.29.2"
cache_enabled: "true"
argo_version: "v3.5.14"
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
shell: bash
if: ${{ matrix.pod_to_pod_tls_enabled == 'true'}}
run: |
kubectl get secret kfp-api-tls-cert -n kubeflow -o jsonpath='{.data.ca\.crt}' | base64 -d > "${{ github.workspace }}/ca.crt"
kubectl get secret argo-workflows-agent-ca-certificates -n kubeflow -o jsonpath='{.data.ca\.crt}' | base64 -d > "${{ github.workspace }}/ca.crt"
echo "CA_CERT_PATH=${{ github.workspace }}/ca.crt" >> "$GITHUB_ENV"


Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
k8s_version: [ "v1.34.0", "v1.29.2" ]
cache_enabled: [ "true" ]
uploadPipelinesWithKubernetesClient: [ "true", "false" ]
argo_version: [ "v3.7.3", "v3.5.14" ]
argo_version: [ "v3.7.3", "v3.6.7" ]
pipeline_store: [ "kubernetes" ]
pod_to_pod_tls_enabled: [ "false" ]
include:
Expand Down
13 changes: 6 additions & 7 deletions .github/workflows/e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ jobs:
matrix:
k8s_version: ["v1.34.0"]
cache_enabled: ["true", "false"]
argo_version: [ "v3.7.3", "v3.5.14"]
argo_version: [ "v3.7.3", "v3.6.7", "v3.5.14"]
proxy: [ "false" ]
test_label: [ "E2ECritical", "E2EEssential", "E2EParallelNested" ]
test_label: [ "E2ECritical" ]
pod_to_pod_tls_enabled: [ "false" ]
include:
- k8s_version: "v1.29.2"
Expand All @@ -76,6 +76,9 @@ jobs:
cache_enabled: "false"
proxy: "true"
test_label: "E2EProxy"
- k8s_version: "v1.34.0"
cache_enabled: "false"
test_label: "E2EEssential"
- k8s_version: "v1.34.0"
cache_enabled: "false"
test_label: "E2EFailure"
Expand Down Expand Up @@ -112,7 +115,7 @@ jobs:
shell: bash
if: ${{ matrix.pod_to_pod_tls_enabled == 'true'}}
run: |
kubectl get secret kfp-api-tls-cert -n kubeflow -o jsonpath='{.data.ca\.crt}' | base64 -d > "${{ github.workspace }}/ca.crt"
kubectl get secret argo-workflows-agent-ca-certificates -n kubeflow -o jsonpath='{.data.ca\.crt}' | base64 -d > "${{ github.workspace }}/ca.crt"
echo "CA_CERT_PATH=${{ github.workspace }}/ca.crt" >> "$GITHUB_ENV"
- name: Configure Input Variables
shell: bash
Expand All @@ -128,10 +131,6 @@ jobs:
NAMESPACE=${{ inputs.namespace }}
fi

if [ "$TEST_LABEL" == "E2EParallelNested" ]; then
NUMBER_OF_NODES=3
fi

{
echo "NUMBER_OF_NODES=$NUMBER_OF_NODES"
echo "TEST_LABEL=$TEST_LABEL"
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/image-builds-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ jobs:
- name: kfp-launcher
dockerfile: backend/Dockerfile.launcher
context: .
- name: kfp-driver
dockerfile: backend/Dockerfile.driver
context: .
- name: kfp-cache-deployer
dockerfile: backend/src/cache/deployer/Dockerfile
context: .
Expand All @@ -48,6 +45,9 @@ jobs:
- name: kfp-inverse-proxy-agent
dockerfile: proxy/Dockerfile
context: ./proxy
- name: kfp-driver
dockerfile: backend/Dockerfile.driver
context: .

arch:
- arch_name: amd64
Expand Down Expand Up @@ -93,12 +93,12 @@ jobs:
- image: kfp-viewer-crd-controller
- image: kfp-visualization-server
- image: kfp-launcher
- image: kfp-driver
- image: kfp-cache-deployer
- image: kfp-cache-server
- image: kfp-metadata-writer
- image: kfp-metadata-envoy
- image: kfp-inverse-proxy-agent
- image: kfp-driver
uses: ./.github/workflows/create-manifest.yml
secrets: inherit
with:
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/image-builds-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@ jobs:
- name: kfp-launcher
dockerfile: backend/Dockerfile.launcher
context: .
- name: kfp-driver
dockerfile: backend/Dockerfile.driver
context: .
- name: kfp-cache-deployer
dockerfile: backend/src/cache/deployer/Dockerfile
context: .
Expand All @@ -77,6 +74,9 @@ jobs:
- name: kfp-inverse-proxy-agent
dockerfile: proxy/Dockerfile
context: ./proxy
- name: kfp-driver
dockerfile: backend/Dockerfile.driver
context: .

arch:
- arch_name: amd64
Expand Down Expand Up @@ -123,7 +123,6 @@ jobs:
- image: kfp-viewer-crd-controller
- image: kfp-visualization-server
- image: kfp-launcher
- image: kfp-driver
- image: kfp-cache-deployer
- image: kfp-cache-server
- image: kfp-metadata-writer
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/image-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,6 @@ jobs:
- image: launcher
dockerfile: backend/Dockerfile.launcher
context: .
- image: driver
dockerfile: backend/Dockerfile.driver
context: .
- image: frontend
dockerfile: frontend/Dockerfile
context: .
Expand All @@ -62,6 +59,9 @@ jobs:
- image: cache-server
dockerfile: backend/Dockerfile.cacheserver
context: .
- image: driver
dockerfile: backend/Dockerfile.driver
context: .
- image: metadata-envoy
dockerfile: third_party/metadata_envoy/Dockerfile
context: .
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/kfp-sdk-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ concurrency:
jobs:
sdk-tests:
runs-on: ubuntu-latest
timeout-minutes: 50
timeout-minutes: 45
strategy:
matrix:
python-version: ['3.9', '3.13']
Expand Down Expand Up @@ -49,7 +49,6 @@ jobs:
pip install pytest
pip install docker
pip install pytest-cov
pip install pytest-xdist
pip install google_cloud_pipeline_components
pip install requests==2.28.1

Expand All @@ -59,6 +58,5 @@ jobs:
SETUP_ENV: false
REPO_NAME: ${{ github.repository }}
PULL_NUMBER: ${{ github.event.pull_request.number }}
PYTEST_PARALLEL_WORKERS: 2
run: |
./test/presubmit-tests-sdk.sh
2 changes: 1 addition & 1 deletion .github/workflows/legacy-v2-api-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
shell: bash
if: ${{ matrix.pod_to_pod_tls_enabled == 'true' }}
run: |
kubectl get secret kfp-api-tls-cert -n kubeflow -o jsonpath='{.data.ca\.crt}' | base64 -d > "${{ github.workspace }}/ca.crt"
kubectl get secret argo-workflows-agent-ca-certificates -n kubeflow -o jsonpath='{.data.ca\.crt}' | base64 -d > "${{ github.workspace }}/ca.crt"
echo "CA_CERT_PATH=${{ github.workspace }}/ca.crt" >> "$GITHUB_ENV"

- name: Forward MLMD port
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/sdk-component-yaml.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,13 @@ jobs:
uses: ./.github/actions/kfp-k8s

- name: Install Test dependencies
run: make test-component-yaml-install-deps
run: |
python3 -m pip install pytest
python3 -m pip install pytest-asyncio-cooperative==0.37.0
python3 -m pip install --upgrade pip

- name: Run component YAML tests
env:
# We setup the env in the CI
SETUP_ENV: false
run: make test-component-yaml-run
run: ./test/presubmit-component-yaml.sh
10 changes: 0 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,3 @@ ginkgo:
mkdir -p $(BIN_DIR)
GOBIN=$(BIN_DIR) go install github.com/onsi/ginkgo/v2/ginkgo@latest
@echo "Ginkgo installed to $(BIN_DIR)/ginkgo"

# Component YAML Tests
.PHONY: test-component-yaml-install-deps
test-component-yaml-install-deps:
python3 -m pip install pytest
python3 -m pip install pytest-asyncio-cooperative==0.37.0

.PHONY: test-component-yaml-run
test-component-yaml-run:
./test/presubmit-component-yaml.sh
Loading
Loading