Skip to content

Commit

Permalink
Restore Upgrade Test Scenario2 by creating simple Task and Pipeline r…
Browse files Browse the repository at this point in the history
…esources

Scenario 2 of the upgrade test aims to install pipeline server from the
preivous release, create resources from that version and test on those
resources against the client of the current release.

This commit restores the resources creation of simple Task and Pipeline
resources to enable the 2nd scenario of the upgrade test to work by
applying the resources from the old server version of pipeline. It was
preivously renamed in #1351 and then removed in #2685.

It fixes the missing piece where the required resources from the previous
release have not been created to accomplish scenario 2 of the upgrade
test. More specifically, it creates a simple Task and Pipeline resources
and then runs the two simple resources with a TaskRun and PipelineRun
created after upgrading to the current version and verify that they both
run successfully.

/kind misc
Closes #6868
  • Loading branch information
JeromeJu authored and tekton-robot committed Jul 10, 2023
1 parent 937c8c0 commit 161ff7d
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 3 deletions.
20 changes: 17 additions & 3 deletions test/e2e-tests-upgrade.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,17 +68,31 @@ uninstall_pipeline_crd_version $PREVIOUS_PIPELINE_VERSION
header "Install the previous release of Tekton pipeline $PREVIOUS_PIPELINE_VERSION"
install_pipeline_crd_version $PREVIOUS_PIPELINE_VERSION

header "Create resources at previous release version"
kubectl create namespace upgrade
trap "kubectl delete namespace upgrade" EXIT
kubectl create -f ./test/upgrade/simpleResources.yaml || fail_test

# Upgrade to the current release.
header "Upgrade to the current release of Tekton pipeline"
install_pipeline_crd

# Run the integration tests.
go_test_e2e -timeout=20m ./test || failed=1
# Create runs from the Task and Pipeline resources created at the previous release version
header "Creating TaskRuns and PipelineRuns referencing existing Tasks and Pipelines"
kubectl create -f ./test/upgrade/simpleRuns.yaml || fail_test

# Run the post-integration tests. We do not need to install the resources again, since
# they are installed before the upgrade. We verify if they still work, after going through
# the upgrade.
go_test_e2e -tags=examples -timeout=20m ./test/ || failed=1
for test in taskrun pipelinerun; do
header "Running YAML e2e tests for ${test}s"
if ! run_tests ${test}; then
echo "ERROR: one or more YAML tests failed"
output_yaml_test_results ${test}
output_pods_logs ${test}
failed=1
fi
done

(( failed )) && fail_test

Expand Down
67 changes: 67 additions & 0 deletions test/upgrade/simpleResources.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: simple-task
namespace: upgrade
spec:
params:
- name: rsp
type: string
default: "response"
steps:
- name: echo-param
image: alpine
script: |
echo "$(params.rsp)"
- name: check-workspace
image: alpine
script: |
if [ "$(workspaces.workspace.bound)" == "true" ]; then
echo "Workspace provided"
fi
sidecars:
- name: server
image: alpine:3.12.0
command: ['/bin/bash']
workingDir: /foo
script: echo server
workspaces:
- name: workspace
mountPath: /foo
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: simple-pipeline
namespace: upgrade
spec:
description: foo
tasks:
- name: check-workspace
taskSpec:
params:
- name: task1-param
type: string
default: "1"
steps:
- image: alpine
name: check-workspace
script: |
if [ "$(workspaces.workspace.bound)" == "true" ]; then
echo "Workspace provided \n"
echo $(params.task1-param)
fi
timeout: 180s
workspaces:
- name: workspace
finally:
- name: echo-status
taskSpec:
params:
- name: echoStatus
type: string
default: "Succeeded"
steps:
- name: verify-status
image: ubuntu
script: echo $(params.echoStatus)
23 changes: 23 additions & 0 deletions test/upgrade/simpleRuns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: simple-pipelinerun
namespace: upgrade
spec:
pipelineRef:
name: simple-pipeline
workspaces:
- name: workspace
emptyDir: {}
---
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: simple-taskrun
namespace: upgrade
spec:
taskRef:
name: simple-task
workspaces:
- name: workspace
emptyDir: {}

0 comments on commit 161ff7d

Please sign in to comment.