Workflow: ocm-e2e-clusterpool

This workflow checks out one or more clusters for use by a test and then checks the clusters back in when done.

Pre Steps

Name Description
ocm-ci-rbac This workflow adds the necessary privileges to the Prow job's namespace so that images can be accessed outside the Prow clusters.
ocm-e2e-clusterpool-checkout This step checks out hub and managed clusters from the given cluster pools.

Test Steps

No test steps configured.

Post Steps

Name Description
ocm-e2e-clusterpool-checkin This step checks clusters back in to the cluster pool. The cluster claims to check in are listed in the file specified by CLUSTER_CLAIM_FILE the SHARED_DIR. If this file is missing no clusters will be checked in. If a cluster claim is removed from the file, it will not be checked in.

Dependencies

Image Exposed As Override[?] Required By Steps
bin COMPONENT_IMAGE_REF no ocm-e2e-clusterpool-cluster-deploy

Environment

In addition to the default environment, the following variables are consumed through this workflow

Variable Name Variable Content Consumed By Steps
CLUSTERPOOL_CHECKOUT_TIMEOUT_MINUTES Time to wait for a newly checked out cluster to become ready. (default: 10) ocm-e2e-clusterpool-checkout
CLUSTERPOOL_GROUP_NAME Specifies an RBAC group to be added to the subjects array of the cluster claim. This can be set to the RBAC group for the squad running the test so that all members of that squad can access the cluster checked out. (default: system:masters) ocm-e2e-clusterpool-checkout
CLUSTERPOOL_HOST_API API URL of the cluster running the target clusterpool, used in oc login, so port :6443 is required (default: https://api.collective.aws.red-chesterfield.com:6443) ocm-e2e-clusterpool-checkin ocm-e2e-clusterpool-list ocm-e2e-clusterpool-checkout ocm-e2e-clusterpool-cluster-getcreds
CLUSTERPOOL_HOST_NAMESPACE Namespace on the cluster pool host to use. ocm-e2e-clusterpool-checkin ocm-e2e-clusterpool-list ocm-e2e-clusterpool-checkout ocm-e2e-clusterpool-cluster-getcreds
CLUSTERPOOL_HOST_PROW_KUBE_SECRET The name of the kube secret with the kube API user and token. ocm-e2e-clusterpool-checkin ocm-e2e-clusterpool-list ocm-e2e-clusterpool-checkout ocm-e2e-clusterpool-cluster-getcreds
CLUSTERPOOL_HUB_COUNT The number of hub clusters to checkout. (default: 1) ocm-e2e-clusterpool-checkout
CLUSTERPOOL_LIFETIME Lifetime of each cluster that's checked out of the clusterpool. Set to an empty string to not have a lifetime. The lifetime can be any positive value accepted by Go's time.ParseDuration function. (default: 48h) ocm-e2e-clusterpool-checkout
CLUSTERPOOL_LIST A comma separated list of cluster pools to use when attempting to checkout a cluster. ocm-e2e-clusterpool-checkout
CLUSTERPOOL_LIST_EXCLUSION_FILTER A filter used by grep to prevent a set of cluster pools from being used when checking out clusters. If the filter is empty, no cluster pools will be eliminated. This filter is applied after the INCLUSION filter. ocm-e2e-clusterpool-list
CLUSTERPOOL_LIST_FILE File name to use for the cluster pool list. (default: clusterpool-list) ocm-e2e-clusterpool-list ocm-e2e-clusterpool-checkout
CLUSTERPOOL_LIST_INCLUSION_FILTER A filter used by grep to select a set of cluster pools to use when checking out clusters. If the filter is empty, all cluster pools will be used. This filter is applied before the EXCLUSION filter. ocm-e2e-clusterpool-list
CLUSTERPOOL_LIST_ORDER Valid values are "sort" and "shuffle". Any other value leaves the list in its original order. (default: shuffle) ocm-e2e-clusterpool-list
CLUSTERPOOL_MANAGED_COUNT The number of managed clusters to checkout. (default: 0) ocm-e2e-clusterpool-checkout
CLUSTER_CLAIM_FILE File name that stores the cluster claim names. (default: cluster-claims) ocm-e2e-clusterpool-checkin ocm-e2e-clusterpool-checkout ocm-e2e-clusterpool-cluster-getcreds ocm-e2e-clusterpool-cluster-deploy
CLUSTER_EXCLUSION_FILTER A filter used by grep to eliminate a set of cluster claims from the CLUSTER_CLAIM_FILE to deploy to. This filter is applied after the CLUSTER_INCLUSION_FILTER. If empty, no clusters will be excluded. By default, ACM will only be deployed to hub clusters. ocm-e2e-clusterpool-cluster-deploy
CLUSTER_INCLUSION_FILTER A filter used by grep to pick a set of cluster claims from the CLUSTER_CLAIM_FILE to deploy to. If empty, all clusters will be included. By default, ACM will only be deployed to hub clusters. (default: ^hub-) ocm-e2e-clusterpool-cluster-deploy
CLUSTER_NAMES A comma separated list of cluster claims to deploy to. The names are matched after stripping the suffix from the cluster claim name. If a metadata file for one of the names is not found, this step will throw an error If set, this overrides CLUSTER_CLAIM_FILE, CLUSTER_INCLUSION_FILTER, and CLUSTER_EXCLUSION_FILTER. The special value "none" can be used to indicate that no deploy is to take place. ocm-e2e-clusterpool-cluster-deploy
COMPONENT_NAME The name of the component used in manifest files. If not given, the value stored in the file COMPONENT_NAME will be used. It can be overridden here if you're using another component from your repo such as an end-to-end test image. ocm-e2e-clusterpool-cluster-deploy
DEPLOY_HUB_ADDITIONAL_YAML A base64 encoded yaml file to apply to the hub cluster during deployment. Multiple files can be included by separating them with three dashes on a single line before base64 encoding them. ocm-e2e-clusterpool-cluster-deploy
DEPLOY_REPO The GitHub repo where the ACM deployment code is stored. Do not include the "https://" prefix or the ".git" suffix. (default: github.com/open-cluster-management/deploy) ocm-e2e-clusterpool-cluster-deploy
DEPLOY_TIMEOUT The timeout, in seconds, to wait for an ACM deployment to complete before cancelling it. (default: 1800) ocm-e2e-clusterpool-cluster-deploy
GITHUB_TOKEN_FILE The file that stores the GitHub token. Should match credentials stanza mount path. (default: /etc/acm-cicd-github/token) ocm-e2e-clusterpool-cluster-deploy
GITHUB_USER The GitHub user name. (default: acm-cicd-prow-bot) ocm-e2e-clusterpool-cluster-deploy
MAKEFILE Location of the build harness Makefile for use on OSCI. (default: /opt/build-harness/Makefile.prow) ocm-e2e-clusterpool-checkin ocm-e2e-clusterpool-list ocm-e2e-clusterpool-checkout ocm-e2e-clusterpool-cluster-getcreds ocm-e2e-clusterpool-cluster-deploy
PIPELINE_REPO The GitHub repo where CICD pipeline data is stored. Do not include the "https://" prefix or the ".git" suffix. (default: github.com/open-cluster-management/pipeline) ocm-e2e-clusterpool-cluster-deploy
PIPELINE_STAGE The pipeline stage to use as the base deployment of ACM. Value is either "edge" or "integration". An invalid value will cause an error. (default: edge) ocm-e2e-clusterpool-cluster-deploy
QUAY_TOKEN_FILE The file that stores the Quay token. Should match credentials stanza mount path. (default: /etc/acm-cicd-quay-pull/token) ocm-e2e-clusterpool-cluster-deploy
RELEASE_REPO The GitHub repo where ACM release data is stored. Do not include the "https://" prefix or the ".git" suffix. (default: github.com/open-cluster-management/release) ocm-e2e-clusterpool-cluster-deploy

Step Graph

Webreg Workflow "ocm-e2e-clusterpool" cluster_1 Pre cluster_0 ocm-e2e-clusterpool-checkout cluster_2 Test cluster_3 Post 0 ocm-ci-rbac 1 ocm-e2e-clusterpool-list 0->1 2 ocm-e2e-clusterpool-checkout 1->2 3 ocm-e2e-clusterpool-cluster-getcreds 2->3 4 ocm-e2e-clusterpool-cluster-deploy 3->4 5 Intentionally left blank 4->5 6 ocm-e2e-clusterpool-checkin 5->6

GitHub Link:

https://github.com/openshift/release/blob/master/ci-operator/step-registry/ocm/e2e/clusterpool/ocm-e2e-clusterpool-workflow.yaml

Owners:

Approvers:

Source code for this page located on GitHub