Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
27fe924
WIP: Trying hive. Take #3 ;-)
rhopp Oct 7, 2025
2c288ef
fix result reference
rhopp Oct 7, 2025
0cd0c10
increase timeout
rhopp Oct 8, 2025
d84c7f8
run just single pipeline
rhopp Oct 8, 2025
0e2609a
switch clusterpoo
rhopp Oct 8, 2025
ec32ca9
Increase some timeout ;-)
rhopp Oct 8, 2025
97575bc
Disable tls in tests
rhopp Oct 9, 2025
409fc2d
Update tssc-test-image in e2e tests to use a specific self-signed image
rhopp Oct 10, 2025
bcab4f9
try the convalescence logic multiple times
rhopp Oct 22, 2025
89f4d7e
Add retry loop for oc login with kubeadmin credentials
rhopp Oct 22, 2025
7bd639a
Fix authentication race condition in OC login retry loop
rhopp Nov 4, 2025
8d8eba6
Replace invalid oc version --short with oc get namespaces
rhopp Nov 4, 2025
79cf812
Add CUSTOM_ROOT_CA var to gitops repo
rhopp Nov 5, 2025
075541c
Update test image
rhopp Nov 6, 2025
2b22a43
New version of tesplan
rhopp Nov 6, 2025
6baae23
Add 10-minute cluster stability observation after provisioning
rhopp Nov 13, 2025
de54ead
Add cluster artifact collection task to finally section
rhopp Nov 13, 2025
f62df0c
Add cert to proxy/cluster
rhopp Nov 14, 2025
58da60b
forgot to call the function :-(
rhopp Nov 14, 2025
1778ddf
New version of tests
rhopp Nov 19, 2025
a6af831
Use main templates, Update tests
rhopp Dec 16, 2025
53b5371
Keep the cluster running for debugging
rhopp Dec 16, 2025
2179b89
fix - I'm not in samples repo ;-)
rhopp Dec 16, 2025
9c8c525
Switch DH catalog to `main` (from default 1.8)
rhopp Dec 16, 2025
c44051d
temp: remove sprayproxy deprovisioning
rhopp Jan 8, 2026
3cc9986
return of sprayproxy deprovisioning and cluster deletion
rhopp Jan 9, 2026
b1cf2e7
Use main of tssc-test
rhopp Jan 20, 2026
960468d
Fix finally task
rhopp Jan 20, 2026
12b2273
Extract provision-cluster task into separate file
rhopp Jan 21, 2026
19b7076
Add support for both ROSA and Hive cluster provisioning
rhopp Jan 21, 2026
e7b9965
Rename provision-cluster to provision-hive for consistency
rhopp Jan 21, 2026
8e52e4d
Fix context.pipelineRun.name usage in provision-hive task
rhopp Jan 21, 2026
4bc4364
Migrate to Tekton v1 with CEL expressions for conditional results
rhopp Jan 21, 2026
21e481f
Add ROSA-specific pipeline variant
rhopp Jan 21, 2026
72096ea
Refactor to separate Hive and ROSA pipelines
rhopp Jan 21, 2026
35abab9
Add cluster-provider parameter for Hive/ROSA selection
rhopp Jan 21, 2026
a14c137
Add ocp-version param and fix ROSA-specific parameter passing
rhopp Jan 21, 2026
4a33942
Add validation for cluster-provider parameter
rhopp Jan 22, 2026
9de957c
Satisfy yamllint
rhopp Jan 22, 2026
bec47ff
Fix hive pipeline name
rhopp Jan 22, 2026
dcd1bd7
Use different clusterpools
rhopp Jan 23, 2026
1d3693f
Try 3 clusters at once. Shorten stability observation duration
rhopp Jan 23, 2026
4607253
Fix whitespaces
rhopp Jan 23, 2026
b0802e1
Fix bracket
rhopp Jan 27, 2026
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
10 changes: 8 additions & 2 deletions integration-tests/pipelines/e2e-main-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ spec:
description: 'The number of replicas for the cluster nodes.'
default: "3"
type: string
- name: cluster-provider
description: 'Cluster provider to use for testing. Valid values: "rosa" or "hive"'
type: string
default: "hive"
tasks:
- name: test-metadata
taskRef:
Expand Down Expand Up @@ -65,9 +69,9 @@ spec:
resolver: git
params:
- name: url
value: https://github.com/redhat-appstudio/tssc-cli.git
value: https://github.com/rhopp/tssc-cli.git
- name: revision
value: main
value: hive-try3
- name: pathInRepo
value: integration-tests/tasks/start-pipelines.yaml
params:
Expand All @@ -87,6 +91,8 @@ spec:
value: $(params.ocp-instance-type)
- name: ocp-replicas
value: $(params.ocp-replicas)
- name: cluster-provider
value: $(params.cluster-provider)
- name: context-pipeline-run-name
value: $(context.pipelineRun.name)
finally:
Expand Down
275 changes: 275 additions & 0 deletions integration-tests/pipelines/tssc-cli-e2e-hive.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: tssc-install-e2e
spec:
description: |-
This pipeline automates the process of running end-to-end tests for TSSC
using Hive cluster provisioning. The pipeline provisions the cluster,
installs TSSC using the installer, runs the tests, collects artifacts,
and finally deprovisions the cluster.
params:
- name: test-name
description: 'The name of the test corresponding to a defined Konflux integration test.'
default: ''
type: string
- name: ocp-version
description: 'The OpenShift version to use for the ephemeral cluster deployment (for future use).'
type: string
default: ""
- name: job-spec
type: string
- name: konflux-test-infra-secret
description: The name of secret where testing infrastructures credentials are stored.
type: string
- name: rhads-config
type: string
description: "The rhads-config file in string format."
- name: tssc-image
type: string
description: "Image from where the `tssc` binary will be extracted (from path /usr/local/bin)."
default: "quay.io/redhat-user-workloads/rhtap-shared-team-tenant/tssc-cli:latest"
- name: tssc-test-image
type: string
description: "Image from where the `tssc-test` binary will be extracted (from path /usr/local/bin)."
default: "quay.io/redhat-user-workloads/rhtap-shared-team-tenant/tssc-test:latest"
- name: testplan
type: string
description: 'Optional testplan.json content encoded in base64 format. If not provided, testplan will be downloaded from the repository.'
default: ""
- name: ui-error-strategy
type: string
description: 'Error handling strategy for UI tests'
default: "continue"
- name: install-params
type: string
description: 'Additional parameters for installation testing (e.g., PRE_RELEASE=TAS TAS_VERSION=1.3.2). When empty, does not alter normal installation.'
default: ""
tasks:
- name: provision-hive
taskRef:
resolver: git
params:
- name: url
value: https://github.com/rhopp/tssc-cli.git
- name: revision
value: hive-try3
- name: pathInRepo
value: integration-tests/tasks/provision-hive.yaml
params:
- name: cluster-name
value: "$(context.pipelineRun.name)"
- name: ocp-version
value: "$(params.ocp-version)"
- name: tssc-install
runAfter:
- provision-hive
taskRef:
resolver: git
params:
- name: url
value: https://github.com/rhopp/tssc-cli.git
- name: revision
value: hive-try3
- name: pathInRepo
value: integration-tests/tasks/tssc-install.yaml
params:
- name: ocp-login-command
value: "$(tasks.provision-hive.results.ocp-login-command)"
- name: job-spec
value: "$(params.job-spec)"
- name: rhads-config
value: $(params.rhads-config)
- name: tssc-image
value: $(params.tssc-image)
- name: install-params
value: $(params.install-params)
- name: sprayproxy-provision
runAfter:
- tssc-install
taskRef:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/tekton-integration-catalog.git
- name: revision
value: main
- name: pathInRepo
value: tasks/sprayproxy/sprayproxy-provision/0.1/sprayproxy-provision.yaml
params:
- name: ocp-login-command
value: "$(tasks.provision-hive.results.ocp-login-command)"
- name: tssc-e2e-tests
runAfter:
- sprayproxy-provision
taskRef:
resolver: git
params:
- name: url
value: https://github.com/redhat-appstudio/tssc-test.git
- name: revision
value: main
- name: pathInRepo
value: integration-tests/tasks/tssc-e2e.yaml
params:
- name: job-spec
value: $(params.job-spec)
- name: ocp-login-command
value: "$(tasks.provision-hive.results.ocp-login-command)"
- name: oci-container
value: "quay.io/konflux-test-storage/rhtap-team/rhtap-cli:$(context.pipelineRun.name)"
- name: tssc-test-image
value: $(params.tssc-test-image)
- name: testplan
value: $(params.testplan)
- name: rhtap-ui-tests
runAfter:
- tssc-e2e-tests
onError: $(params.ui-error-strategy)
taskRef:
resolver: git
params:
- name: url
value: https://github.com/redhat-appstudio/tssc-test.git
- name: revision
value: main
- name: pathInRepo
value: integration-tests/tasks/tssc-ui.yaml
params:
- name: job-spec
value: $(params.job-spec)
- name: ocp-login-command
value: "$(tasks.provision-hive.results.ocp-login-command)"
- name: oci-container
value: "quay.io/konflux-test-storage/rhtap-team/rhtap-cli:$(context.pipelineRun.name)"
- name: tssc-test-image
value: "$(params.tssc-test-image)"
- name: testplan
value: $(params.testplan)
finally:
- name: deprovision-hive
taskSpec:
params:
- name: cluster-name
type: string
description: "Name of the cluster claim to delete"
volumes:
- name: hive-creds-volume
secret:
secretName: rhopp-test
- name: credentials
emptyDir: {}
steps:
- name: deprovision-hive
image: registry.redhat.io/openshift4/ose-cli@sha256:15da03b04318bcc842060b71e9dd6d6c2595edb4e8fdd11b0c6781eeb03ca182
volumeMounts:
- name: hive-creds-volume
mountPath: /usr/local/hive-creds
script: |
#!/usr/bin/bash
set -x
oc login $(cat /usr/local/hive-creds/kube_api_url) -u cluster-admin -p $(cat /usr/local/hive-creds/password)
oc whoami
echo "/me Acting like I'm deleting a clusterclaim. tehehe"
oc delete clusterclaims.hive.openshift.io $(params.cluster-name) -n hive
params:
- name: cluster-name
value: "$(context.pipelineRun.name)"
- name: sprayproxy-deprovision
when:
- input: "$(tasks.sprayproxy-provision.status)"
operator: in
values:
- "Succeeded"
taskRef:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/tekton-integration-catalog.git
- name: revision
value: main
- name: pathInRepo
value: tasks/sprayproxy/sprayproxy-deprovision/0.1/sprayproxy-deprovision.yaml
params:
- name: ocp-login-command
value: "$(tasks.provision-hive.results.ocp-login-command)"
- name: pull-request-status-message
taskRef:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/tekton-integration-catalog.git
- name: revision
value: main
- name: pathInRepo
value: tasks/pull-request-comment/0.2/pull-request-comment.yaml
params:
- name: test-name
value: "$(context.pipelineRun.name)"
- name: oci-container
value: "quay.io/konflux-test-storage/rhtap-team/rhtap-cli:$(context.pipelineRun.name)"
- name: pipeline-aggregate-status
value: "$(tasks.status)"
- name: job-spec
value: "$(params.job-spec)"
- name: store-pipeline-status
taskRef:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/tekton-integration-catalog.git
- name: revision
value: main
- name: pathInRepo
value: tasks/store-pipeline-status/0.1/store-pipeline-status.yaml
params:
- name: oci-ref
value: "quay.io/konflux-test-storage/rhtap-team/rhtap-cli:$(context.pipelineRun.name)"
- name: credentials-secret-name
value: "$(params.konflux-test-infra-secret)"
- name: pipeline-aggregate-status
value: $(tasks.status)
- name: pipelinerun-name
value: $(context.pipelineRun.name)
- name: collect-hive-artifacts
taskSpec:
volumes:
- name: konflux-test-infra-volume
secret:
secretName: "$(params.konflux-test-infra-secret)"
steps:
- name: collect-hive-artifacts
workingDir: /workspace/cluster-artifacts
onError: continue
image: quay.io/konflux-qe-incubator/konflux-qe-tools:latest
script: |
#!/bin/sh
$(tasks.provision-hive.results.ocp-login-command)

curl -sSL https://raw.githubusercontent.com/konflux-ci/konflux-qe-definitions/main/scripts/gather-extra.sh | bash
when:
- input: $(tasks.status)
operator: notin
values: ["Succeeded"]
- name: secure-push-oci
ref:
resolver: git
params:
- name: url
value: https://github.com/konflux-ci/tekton-integration-catalog.git
- name: revision
value: main
- name: pathInRepo
value: stepactions/secure-push-oci/0.1/secure-push-oci.yaml
params:
- name: workdir-path
value: /workspace
- name: oci-ref
value: "quay.io/konflux-test-storage/rhtap-team/rhtap-cli:$(context.pipelineRun.name)"
- name: credentials-volume-name
value: konflux-test-infra-volume
when:
- input: $(tasks.status)
operator: notin
values: ["Succeeded"]
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
apiVersion: tekton.dev/v1
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: tssc-install-e2e
Expand Down Expand Up @@ -46,14 +46,6 @@ spec:
type: string
description: 'Optional testplan.json content encoded in base64 format. If not provided, testplan will be downloaded from the repository.'
default: ""
- name: ui-error-strategy
type: string
description: 'Error handling strategy for UI tests'
default: "continue"
- name: install-params
type: string
description: 'Additional parameters for installation testing (e.g., PRE_RELEASE=TAS TAS_VERSION=1.3.2). When empty, does not alter normal installation.'
default: ""
tasks:
- name: rosa-hcp-metadata
taskRef:
Expand Down Expand Up @@ -113,8 +105,6 @@ spec:
value: $(params.rhads-config)
- name: tssc-image
value: $(params.tssc-image)
- name: install-params
value: $(params.install-params)
- name: sprayproxy-provision
runAfter:
- tssc-install
Expand Down Expand Up @@ -156,7 +146,7 @@ spec:
- name: rhtap-ui-tests
runAfter:
- tssc-e2e-tests
onError: $(params.ui-error-strategy)
onError: continue
taskRef:
resolver: git
params:
Expand Down
Loading