-
Notifications
You must be signed in to change notification settings - Fork 248
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tests: integration tests for branching day tools
- Loading branch information
1 parent
3662c06
commit a2d8835
Showing
26 changed files
with
1,010 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
readonly src_test_files_relative_dir="data" | ||
readonly want_test_files_relative_dir="want" | ||
readonly test_config_relative_path="test_config" | ||
|
||
function branchcuts::read_test_config() { | ||
local -n _cfg=$1 | ||
local _test_config_path="${2}" | ||
for key_value in $(cat "${_test_config_path}") | ||
do | ||
if [[ "${key_value}" =~ (.+?)=(.*) ]] | ||
then | ||
_cfg["${BASH_REMATCH[1]}"]="${BASH_REMATCH[2]}" | ||
fi | ||
done | ||
} | ||
readonly -f branchcuts::read_test_config | ||
|
||
function branchcuts::run_tests_template() { | ||
local run_cfg_manager_fn="${1}" | ||
local _diffs="" | ||
local _exit_status=0 | ||
|
||
for test_case in $(ls "${test_cases_dir}") | ||
do | ||
os::log::info "Test case: '${test_case}' - Starts" | ||
local _src_test_files_dir="${test_cases_dir}/${test_case}/${src_test_files_relative_dir}" | ||
local _want_test_files_dir="${test_cases_dir}/${test_case}/${want_test_files_relative_dir}" | ||
|
||
# Read test config from file and set some vars | ||
local _test_config_file_path="${test_cases_dir}/${test_case}/${test_config_relative_path}" | ||
declare -A _test_config | ||
branchcuts::read_test_config _test_config "${_test_config_file_path}" | ||
|
||
# Function 'run_config_manager' should be defined into the caller script | ||
if test $(type -t "${run_cfg_manager_fn}") == "function" | ||
then | ||
os::cmd::expect_success "${run_cfg_manager_fn} \"${_src_test_files_dir}\" _test_config" | ||
else | ||
os::log::error "function '${run_cfg_manager_fn}' is not defined" | ||
exit 1 | ||
fi | ||
|
||
_diffs=$(diff --recursive "${_want_test_files_dir}" "${_src_test_files_dir}") | ||
if test $? -ne 0 | ||
then | ||
os::log::info "${_diffs}" | ||
_exit_status=1 | ||
os::log::error "Test case: '${test_case}' - FAILURE!" | ||
else | ||
os::log::info "Test case: '${test_case}' - SUCCESS" | ||
fi | ||
done | ||
|
||
return $_exit_status | ||
} | ||
readonly -f branchcuts::run_tests_template |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/usr/bin/env bash | ||
|
||
source "$(dirname "${BASH_SOURCE}")/../../hack/lib/init.sh" | ||
|
||
readonly release_repo_relative_dir="ci-operator/config/openshift/release" | ||
readonly test_cases_dir="${OS_ROOT}/test/integration/branchcuts/generated-release-gating-jobs" | ||
|
||
function cleanup() { | ||
os::test::junit::reconcile_output | ||
os::cleanup::processes | ||
} | ||
trap "cleanup" EXIT | ||
|
||
function branchcuts::generated_release_jobs::run_config_manager() { | ||
local _test_case_data="${1}" | ||
local -n _cfg=$2 | ||
local _release_repo_path="${_test_case_data}/release" | ||
|
||
local _cmd=$(printf "%s\n%s %s\n%s %s\n%s %s" \ | ||
generated-release-gating-jobs \ | ||
--release-repo "${_release_repo_path}" \ | ||
--current-release "${_cfg['current_ocp_release']}" \ | ||
--interval "${_cfg['interval']}") | ||
|
||
os::log::info "${_cmd}" | ||
|
||
generated-release-gating-jobs \ | ||
--release-repo "${_release_repo_path}" \ | ||
--current-release "${_cfg['current_ocp_release']}" \ | ||
--interval "${_cfg['interval']}" | ||
} | ||
readonly -f branchcuts::generated_release_jobs::run_config_manager | ||
|
||
function branchcuts::generated_release_jobs::run_tests() { | ||
branchcuts::run_tests_template branchcuts::generated_release_jobs::run_config_manager | ||
} | ||
readonly -f branchcuts::generated_release_jobs::run_tests | ||
|
||
os::test::junit::declare_suite_start "integration/branchcuts/generated-release-gating-jobs" | ||
os::cmd::expect_success "branchcuts::generated_release_jobs::run_tests" | ||
os::test::junit::declare_suite_end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
#!/usr/bin/env bash | ||
|
||
source "$(dirname "${BASH_SOURCE}")/../../hack/lib/init.sh" | ||
|
||
readonly release_repo_relative_dir="core-services/release-controller/_releases" | ||
readonly test_cases_dir="${OS_ROOT}/test/integration/branchcuts/release-controller-configs" | ||
|
||
function cleanup() { | ||
os::test::junit::reconcile_output | ||
os::cleanup::processes | ||
} | ||
trap "cleanup" EXIT | ||
|
||
function branchcuts::release_controller_cfg::run_config_manager() { | ||
local _test_case_data="${1}" | ||
local -n _cfg=$2 | ||
local _release_repo_path="${_test_case_data}/release" | ||
|
||
local _cmd=$(printf "%s\n%s %s\n%s %s" \ | ||
release-controller-config-manager \ | ||
--release-repo "${_release_repo_path}" \ | ||
--current-release "${_cfg['current_ocp_release']}") | ||
|
||
os::log::info "${_cmd}" | ||
|
||
release-controller-config-manager \ | ||
--release-repo "${_release_repo_path}" \ | ||
--current-release "${_cfg['current_ocp_release']}" | ||
} | ||
readonly -f branchcuts::release_controller_cfg::run_config_manager | ||
|
||
|
||
function branchcuts::release_controller_cfg::run_tests() { | ||
branchcuts::run_tests_template branchcuts::release_controller_cfg::run_config_manager | ||
} | ||
readonly -f branchcuts::release_controller_cfg::run_tests | ||
|
||
os::test::junit::declare_suite_start "integration/branchcuts/release-controller-configs" | ||
os::cmd::expect_success "branchcuts::release_controller_cfg::run_tests" | ||
os::test::junit::declare_suite_end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/usr/bin/env bash | ||
|
||
source "$(dirname "${BASH_SOURCE}")/../../hack/lib/init.sh" | ||
|
||
readonly release_repo_relative_dir="core-services/release-controller/_repos" | ||
readonly test_cases_dir="${OS_ROOT}/test/integration/branchcuts/rpm-deps-mirroring-services" | ||
|
||
function cleanup() { | ||
os::test::junit::reconcile_output | ||
os::cleanup::processes | ||
} | ||
trap "cleanup" EXIT | ||
|
||
function branchcuts::rpm_mirroring::run_config_manager() { | ||
local _test_case_data="${1}" | ||
local -n _cfg=$2 | ||
local _release_repo_path="${_test_case_data}/release" | ||
local _current_release="${_cfg['current_ocp_release']}" | ||
|
||
local _cmd=$(printf "%s\n%s %s\n%s %s\n%s %s" \ | ||
rpm-deps-mirroring-services \ | ||
--release-repo "${_release_repo_path}" \ | ||
--current-release "${_current_release}") | ||
|
||
os::log::info "${_cmd}" | ||
|
||
rpm-deps-mirroring-services \ | ||
--release-repo "${_release_repo_path}" \ | ||
--current-release "${_current_release}" | ||
} | ||
readonly -f branchcuts::rpm_mirroring::run_config_manager | ||
|
||
|
||
function branchcuts::rpm_mirroring::run_tests() { | ||
branchcuts::run_tests_template branchcuts::rpm_mirroring::run_config_manager | ||
} | ||
readonly -f branchcuts::rpm_mirroring::run_tests | ||
|
||
os::test::junit::declare_suite_start "integration/branchcuts/rpm-deps-mirroring-services" | ||
os::cmd::expect_success "branchcuts::rpm_mirroring::run_tests" | ||
os::test::junit::declare_suite_end |
37 changes: 37 additions & 0 deletions
37
.../data/release/ci-operator/config/openshift/release/openshift-release-master__ci-4.10.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
releases: | ||
initial: | ||
candidate: | ||
product: ocp | ||
relative: 1 | ||
stream: ci | ||
version: "4.10" | ||
latest: | ||
candidate: | ||
product: ocp | ||
stream: ci | ||
version: "4.10" | ||
resources: | ||
'*': | ||
requests: | ||
cpu: 100m | ||
memory: 200Mi | ||
tests: | ||
- as: e2e-aws | ||
interval: 24h | ||
steps: | ||
cluster_profile: aws-2 | ||
env: | ||
BASE_DOMAIN: aws-2.ci.openshift.org | ||
workflow: openshift-e2e-aws | ||
- as: e2e-aws-techpreview | ||
interval: 48h | ||
steps: | ||
cluster_profile: aws-2 | ||
env: | ||
BASE_DOMAIN: aws-2.ci.openshift.org | ||
workflow: openshift-e2e-aws-techpreview | ||
zz_generated_metadata: | ||
branch: master | ||
org: openshift | ||
repo: release | ||
variant: ci-4.10 |
3 changes: 3 additions & 0 deletions
3
test/integration/branchcuts/generated-release-gating-jobs/test1/test_config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
current_ocp_release=4.10 | ||
future_ocp_release=4.11 | ||
interval=168 |
37 changes: 37 additions & 0 deletions
37
.../want/release/ci-operator/config/openshift/release/openshift-release-master__ci-4.10.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
releases: | ||
initial: | ||
candidate: | ||
product: ocp | ||
relative: 1 | ||
stream: ci | ||
version: "4.10" | ||
latest: | ||
candidate: | ||
product: ocp | ||
stream: ci | ||
version: "4.10" | ||
resources: | ||
'*': | ||
requests: | ||
cpu: 100m | ||
memory: 200Mi | ||
tests: | ||
- as: e2e-aws | ||
interval: 24h | ||
steps: | ||
cluster_profile: aws-2 | ||
env: | ||
BASE_DOMAIN: aws-2.ci.openshift.org | ||
workflow: openshift-e2e-aws | ||
- as: e2e-aws-techpreview | ||
interval: 48h | ||
steps: | ||
cluster_profile: aws-2 | ||
env: | ||
BASE_DOMAIN: aws-2.ci.openshift.org | ||
workflow: openshift-e2e-aws-techpreview | ||
zz_generated_metadata: | ||
branch: master | ||
org: openshift | ||
repo: release | ||
variant: ci-4.10 |
37 changes: 37 additions & 0 deletions
37
.../want/release/ci-operator/config/openshift/release/openshift-release-master__ci-4.11.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
releases: | ||
initial: | ||
candidate: | ||
product: ocp | ||
relative: 1 | ||
stream: ci | ||
version: "4.11" | ||
latest: | ||
candidate: | ||
product: ocp | ||
stream: ci | ||
version: "4.11" | ||
resources: | ||
'*': | ||
requests: | ||
cpu: 100m | ||
memory: 200Mi | ||
tests: | ||
- as: e2e-aws | ||
interval: 168h | ||
steps: | ||
cluster_profile: aws-2 | ||
env: | ||
BASE_DOMAIN: aws-2.ci.openshift.org | ||
workflow: openshift-e2e-aws | ||
- as: e2e-aws-techpreview | ||
interval: 168h | ||
steps: | ||
cluster_profile: aws-2 | ||
env: | ||
BASE_DOMAIN: aws-2.ci.openshift.org | ||
workflow: openshift-e2e-aws-techpreview | ||
zz_generated_metadata: | ||
branch: master | ||
org: openshift | ||
repo: release | ||
variant: ci-4.11 |
74 changes: 74 additions & 0 deletions
74
...or/config/openshift/release/openshift-release-master__ci-4.5-upgrade-from-stable-4.4.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
releases: | ||
initial: | ||
prerelease: | ||
product: ocp | ||
version_bounds: | ||
lower: 4.4.0-0 | ||
upper: 4.5.0-0 | ||
latest: | ||
candidate: | ||
product: ocp | ||
stream: ci | ||
version: "4.5" | ||
resources: | ||
'*': | ||
requests: | ||
cpu: 100m | ||
memory: 200Mi | ||
tests: | ||
- as: e2e-aws-upgrade | ||
interval: 720h | ||
steps: | ||
cluster_profile: aws | ||
workflow: openshift-upgrade-aws | ||
- as: e2e-gcp-upgrade | ||
interval: 720h | ||
steps: | ||
cluster_profile: gcp | ||
workflow: openshift-upgrade-gcp | ||
- as: e2e-azure-upgrade | ||
interval: 720h | ||
steps: | ||
cluster_profile: azure-2 | ||
env: | ||
BASE_DOMAIN: ci2.azure.devcluster.openshift.com | ||
workflow: openshift-upgrade-azure | ||
- as: e2e-ovirt-upgrade | ||
interval: 720h | ||
steps: | ||
cluster_profile: ovirt | ||
env: | ||
BASE_DOMAIN: ci2.azure.devcluster.openshift.com | ||
test: | ||
- as: test | ||
commands: make upgrade_test | ||
credentials: | ||
- mount_path: /var/run/cnv-ci-brew-pull-secret | ||
name: cnv-ci-brew-pull-secret | ||
namespace: test-credentials | ||
env: | ||
- default: '|7820aea2-0d75-11e7-9259-28d244ea5a6d.hhav.f63e13' | ||
name: BREW_IMAGE_REGISTRY_USERNAME | ||
- default: /var/run/cnv-ci-brew-pull-secret/token | ||
name: BREW_IMAGE_REGISTRY_TOKEN_PATH | ||
- default: v0.45.0 | ||
name: KUBEVIRT_RELEASE | ||
- default: "4.5" | ||
name: OCP_VERSION | ||
- default: /tmp/artifacts | ||
name: ARTIFACTS_DIR | ||
- default: openshift-cnv | ||
name: TARGET_NAMESPACE | ||
- default: "true" | ||
name: PRODUCTION_RELEASE | ||
from: cnv-ci-src-upgrade | ||
resources: | ||
requests: | ||
cpu: 100m | ||
memory: 600Mi | ||
workflow: openshift-upgrade-ovirt-release-4.4-4.5 | ||
zz_generated_metadata: | ||
branch: master | ||
org: openshift | ||
repo: release | ||
variant: ci-4.5-upgrade-from-stable-4.4 |
3 changes: 3 additions & 0 deletions
3
test/integration/branchcuts/generated-release-gating-jobs/test2/test_config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
current_ocp_release=4.5 | ||
future_ocp_release=4.6 | ||
interval=168 |
Oops, something went wrong.