Skip to content

redhat-openshift/acm-submariner-tester

Repository files navigation

acm-submariner-tester

A framework for testing Submariner with Red Hat Advanced Cluster Management for Kubernetes (RHACM).

It installs OpenShift clusters on private (on-premise) and public clouds, adds RHACM with Submariner, and tests inter-connectivity between the clusters.

Running with pre-defined parameters (optional):

  • Openshift setup and environment options:

    • Create AWS cluster A:                        --create-cluster-a
    • Create OSP cluster B:                        --create-cluster-b
    • Create AWS cluster C:                        --create-cluster-c
    • Destroy existing AWS cluster A:               --destroy-cluster-a
    • Destroy existing OSP cluster B:                --destroy-cluster-b
    • Destroy existing AWS cluster C:               --destroy-cluster-c
    • Reset (create & destroy) AWS cluster A:        --reset-cluster-a
    • Reset (create & destroy) OSP cluster B:        --reset-cluster-b
    • Reset (create & destroy) AWS cluster C:        --reset-cluster-c
    • Clean existing AWS cluster A:                 --clean-cluster-a
    • Clean existing OSP cluster B:                  --clean-cluster-b
    • Clean existing AWS cluster C:                 --clean-cluster-c
    • Download OCP Installer version:               --get-ocp-installer [latest / x.y.z / nightly]
    • Download latest OCPUP Tool:                 --get-ocpup-tool
    • Install Golang if missing:                       --config-golang
    • Install AWS-CLI and configure access:          --config-aws-cli
    • Skip OCP clusters setup (destroy/create/clean):  --skip-ocp-setup
  • Submariner installation options:

    • Install ACM operator version:                  --acm-version [x.y.z]
    • Install MCE operator version:                  --mce-version [x.y.z]
    • Install Submariner operator version:            --subctl-version [latest / x.y.z / {tag}]
    • Override images from a custom registry:        --registry-images
    • Configure and test GlobalNet:                 --globalnet
    • Install Submariner with SubCtl:                --subctl-install
  • Submariner test options:

    • Skip tests execution (by type):                 --skip-tests [sys / e2e / pkg / all]
    • Update Git and test with GO (instead of subctl):  --build-tests
    • Create Junit test results (xml):                 --junit
    • Upload Junit results to Polarion:                --polarion
  • General script options:

    • Import additional variables from file:             --import-vars [variables file path]
    • Print Submariner pods logs on failure:           --print-logs
    • Show debug info (verbose) for commands:      -d / --debug
    • Show this help menu:                         -h / --help

Command examples:

To run interactively (enter options manually):

./setup_subm.sh

Examples with pre-defined options:

./setup_subm.sh --clean-cluster-a --clean-cluster-b --acm-version 2.5.0 --subctl-version 0.12.1 --registry-images

  • Reuse (clean) existing clusters
  • Install ACM 2.5.0 release
  • Install Submariner 0.12.1 release
  • Override Submariner images from a custom repository (configured in REGISTRY variables)
  • Run Submariner E2E tests (with subctl)

./setup_subm.sh --get-ocp-installer nightly --reset-cluster-c --clean-cluster-a --subctl-version subctl-devel --build-tests --junit

  • Download OCP installer pre-release (nightly)
  • Recreate new cluster C (e.g. on GCP)
  • Clean existing cluster A (e.g. on AWS)
  • Install "subctl-devel" (subctl development branch)
  • Build and run Submariner E2E and unit-tests with GO
  • Create Junit tests result (xml files)