Repository: Azure/ARO-RP
Pull request #2486 (2022-10-25 03:25:04)

Remove all old-style prod-related pipeline configurations, leaving just CI & OneBranch
### Which issue this PR addresses:

Fixes https://dev.azure.com/msazure/AzureRedHatOpenShift/_workitems/edit/14282641

### What this PR does / why we need it:

Removes all Azure Pipelines code that interacts with prod, leaving just PR CI & E2E. There are some OneBranch files used by the OneBranch pipelines still, these also remain. The replacement of the rest tracks with the releases being moved to EV2/OneBranch.

Note: The pipelines that reference this will need to be deleted as well.

### Test plan for issue:

This PR should work :)

### Is there any documentation that needs to be updated for this PR?

Release documentation is already deprecated, so should be fine.

hawkowl: /azp run ci
azure-pipelines[bot]: <samp>
Azure Pipelines successfully started running 1 pipeline(s).<br>

</samp>
hawkowl: @cadenmarchese I believe there's now ARO.Pipelines ones for that.

Patch:
diff --git a/.pipelines/build-and-push-fluentbit.yml b/.pipelines/build-and-push-fluentbit.yml
deleted file mode 100644
index c526a655a..000000000
--- a/.pipelines/build-and-push-fluentbit.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Azure DevOps Pipeline building rp images and pushing to int acr
-trigger: none
-pr: none
-
-variables:
-- template: vars.yml
-
-jobs:
-- job: Build_and_push_image_fluentbit
-  pool:
-    name: ARO-CI
-
-  steps:
-  - template: ./templates/template-checkout.yml
-  - template: ./templates/template-az-cli-login.yml
-    parameters:
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-  - template: ./templates/template-push-images-to-acr.yml
-    parameters:
-      rpImageACR: $(RP_IMAGE_ACR)
-      buildCommand: publish-image-fluentbit
-  - template: ./templates/template-az-cli-logout.yml
diff --git a/.pipelines/build-and-push-images.yml b/.pipelines/build-and-push-images.yml
deleted file mode 100644
index bf6704fc8..000000000
--- a/.pipelines/build-and-push-images.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-# Azure DevOps Pipeline building rp images and pushing to int acr
-trigger: none
-pr: none
-
-variables:
-- template: vars.yml
-
-jobs:
-- job: Build_and_push_images
-  pool:
-    name: ARO-CI
-    demands: go-1.17
-
-  steps:
-  - template: ./templates/template-checkout.yml
-  - template: ./templates/template-az-cli-login.yml
-    parameters:
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-  - template: ./templates/template-push-images-to-acr.yml
-    parameters:
-      rpImageACR: $(RP_IMAGE_ACR)
-      buildCommand: publish-image-aro
-  - template: ./templates/template-az-cli-logout.yml
-  - script: |
-      cp -a --parents aro "$(Build.ArtifactStagingDirectory)"
-    displayName: Copy artifacts
-  - task: PublishBuildArtifacts@1
-    displayName: Publish Artifacts
-    name: aro_deployer
diff --git a/.pipelines/deploy-azure-env-tag.yml b/.pipelines/deploy-azure-env-tag.yml
deleted file mode 100644
index ca99a659c..000000000
--- a/.pipelines/deploy-azure-env-tag.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# Azure DevOps Pipeline deploying the azure hosted environment
-trigger: none
-pr: none
-
-parameters:
-- name: location
-- name: aroImageTag
-
-variables:
-- group: Prod CI Credentials
-- group: Prod E2E Non-Secret Variables
-- group: PROD-INT E2E Credentials
-- name: rpImageAcr
-  value: arosvc
-
-jobs:
-- template: ./templates/template-job-deploy-azure-env-tag.yml
-  parameters:
-    environment: RP-Prod
-    rpMode: ''
-    aroVersionStorageAccount: $(aro-version-storage-account)
-    locations:
-    - ${{ parameters.location }}
-    configFileName: $(config-file-name)
-    azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-    vsoProjectID: $(vso-project-id)
-    azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-    e2eSubscription: $(e2e-subscription)
-    billingE2EPipelineName: $(billing-e2e-pipeline-name)
-    billingE2EBranchName: $(billing-e2e-branch-name)
-    imageTag: ${{ parameters.aroImageTag }}
-    rpImageAcr: ${{ variables.rpImageAcr }}
diff --git a/.pipelines/deploy-azure-env.yml b/.pipelines/deploy-azure-env.yml
deleted file mode 100644
index 68c2a9d75..000000000
--- a/.pipelines/deploy-azure-env.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Azure DevOps Pipeline deploying the azure hosted environment
-trigger: none
-pr: none
-
-parameters:
-- name: location
-- name: vsoDeployerBuildID
-- name: configVersion
-
-jobs:
-- template: ./templates/template-job-deploy-azure-env.yml
-  parameters:
-    environment: RP-Prod
-    rpMode: ''
-    aroVersionStorageAccount: $(aro-version-storage-account)
-    locations:
-    - ${{ parameters.location }}
-    configFileName: $(config-file-name)
-    configVersion: ${{ parameters.configVersion }}
-    azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-    vsoProjectID: $(vso-project-id)
-    vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-    vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-    azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-    e2eSubscription: $(e2e-subscription)
-    billingE2EPipelineName: $(billing-e2e-pipeline-name)
-    billingE2EBranchName: $(billing-e2e-branch-name)
diff --git a/.pipelines/generate-release-notes-tagged.yml b/.pipelines/generate-release-notes-tagged.yml
deleted file mode 100644
index 2a51aa736..000000000
--- a/.pipelines/generate-release-notes-tagged.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# Azure DevOps Pipeline for generating release notes
-trigger: none
-pr: none
-
-variables:
-- name: TAG
-
-jobs:
-- job: Generate_release_notes
-  condition: startsWith(variables['build.sourceBranch'], 'refs/tags/v2')
-  displayName: Generate release notes
-  pool:
-    name: ARO-CI
-
-  steps:
-  - template: ./templates/template-checkout.yml
-    parameters:
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-
-  - script: |
-      # read current annotated tag that started this pipeline
-      TAG=$(git describe --exact-match)
-
-      # there is no this pipeline ends with error
-      [[ -z ${TAG} ]] && exit 1
-
-      ## set the variable
-      echo "##vso[task.setvariable variable=TAG]${TAG}"
-
-  - script: |
-      set -xe
-      MESSAGE="$(git for-each-ref refs/tags/${TAG} --format='%(contents)')"
-      echo "$MESSAGE" > $(System.DefaultWorkingDirectory)/release.txt
-    displayName: Extract release notes from annotated tag
-  - task: GithubRelease@0
-    displayName: Publish ARO-RP release notes
-    inputs:
-      githubConnection: github.com_petrkotas
-      repositoryName: Azure/ARO-RP
-      action: create
-      releaseNotesFile: $(System.DefaultWorkingDirectory)/release.txt
-      addChangeLog: true
diff --git a/.pipelines/int-release-tag.yml b/.pipelines/int-release-tag.yml
deleted file mode 100644
index 09b3fa7b1..000000000
--- a/.pipelines/int-release-tag.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# No PR triggers to run it manually
-pr: none
-trigger: none
-
-parameters:
-- name: aroImageTag
-
-variables:
-- group: INT CI Credentials
-- group: INT E2E Non-Secret Values
-- group: PROD-INT E2E Credentials
-- name: rpImageAcr
-  value: arointsvc
-
-stages:
-- stage: Deploy_INT
-  dependsOn: []
-  displayName: 🚀 Deploy INT
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env-tag.yml
-    parameters:
-      environment: RP-INT
-      rpMode: int
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - eastus
-      configFileName: int-config.yaml
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-      imageTag: ${{ parameters.aroImageTag }}
-      rpImageAcr: ${{ variables.rpImageAcr }}
diff --git a/.pipelines/int-release.yml b/.pipelines/int-release.yml
deleted file mode 100644
index c8f209c95..000000000
--- a/.pipelines/int-release.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# No PR triggers to run it manually
-pr: none
-trigger: none
-
-parameters:
-- name: vsoDeployerBuildID
-  type: string
-  default: latest
-- name: configVersion
-  type: string
-  default: latest
-
-stages:
-- stage: Deploy_INT
-  dependsOn: []
-  displayName: 🚀 Deploy INT
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env.yml
-    parameters:
-      environment: RP-INT
-      rpMode: int
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - eastus
-      configFileName: int-config.yaml
-      configVersion: ${{ parameters.configVersion }}
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-      vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
diff --git a/.pipelines/mirror-aro-to-int.yml b/.pipelines/mirror-aro-to-int.yml
deleted file mode 100644
index de8c01871..000000000
--- a/.pipelines/mirror-aro-to-int.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-pr: none
-trigger: none
-
-resources:
-  pipelines:
-  - pipeline: mirror
-    source: Build and Push RP image tagged
-    trigger: true
-
-variables:
-- group: INT CI Credentials
-- name: rpIntImageAcr
-  value: arointsvc
-- name: rpProdImageAcr
-  value: arosvc
-
-jobs:
-- job: Mirror_ARO_to_INT
-  displayName: ➜ Mirror ARO to INT
-  condition: startsWith(variables['build.sourceBranch'], 'refs/tags/v2')
-  pool:
-    name: ARO-CI
-    demands: go-1.17
-
-  steps:
-  - template: ./templates/template-checkout.yml
-  - template: ./templates/template-az-cli-login.yml
-    parameters:
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-  - script: |
-      # read current annotated tag that started this pipeline
-      TAG=$(git describe --exact-match)
-
-      # there is no this pipeline ends with error
-      [[ -z ${TAG} ]] && exit 1
-
-      ## set the variable
-      echo "##vso[task.setvariable variable=TAG]${TAG}"
-  - script: |
-      USERNAME=`echo "$(aro-v4-ci-pd-pull)" | base64 -d | cut -d':' -f1`
-      PASSWORD=`echo "$(aro-v4-ci-pd-pull)" | base64 -d | cut -d':' -f2-`
-
-      az acr login --name "${{variables.rpIntImageAcr}}"
-      az acr import \
-        --force \
-        --name "${{variables.rpIntImageAcr}}" \
-        --source "${{variables.rpProdImageAcr}}.azurecr.io/aro:${TAG}" \
-        --username "$USERNAME" \
-        --password "$PASSWORD"
-  - template: ./templates/template-az-cli-logout.yml
diff --git a/.pipelines/prod-release-tag.yml b/.pipelines/prod-release-tag.yml
deleted file mode 100644
index fb13537bb..000000000
--- a/.pipelines/prod-release-tag.yml
+++ /dev/null
@@ -1,152 +0,0 @@
-# No PR triggers to run it manually
-pr: none
-trigger: none
-
-parameters:
-- name: aroImageTag
-
-variables:
-- group: Prod CI Credentials
-- group: Prod E2E Non-Secret Variables
-- group: PROD-INT E2E Credentials
-- name: rpImageAcr
-  value: arosvc
-
-stages:
-- stage: Deploy_CanarySector
-  dependsOn: []
-  displayName: 🚀 Deploy Canary Sector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env-tag.yml
-    parameters:
-      environment: RP-Prod-CanarySector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - westcentralus
-      - eastus2euap
-      configFileName: prod-config.yaml
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-      imageTag: ${{ parameters.aroImageTag }}
-      rpImageAcr: ${{ variables.rpImageAcr }}
-- stage: Deploy_LowTrafficSector
-  condition: succeededOrFailed()
-  dependsOn: [Deploy_CanarySector]
-  displayName: 🚀 Deploy Low Traffic Sector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env-tag.yml
-    parameters:
-      environment: RP-Prod-LowTrafficSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - australiacentral
-      - australiacentral2
-      - australiaeast
-      - australiasoutheast
-      - centralindia
-      - eastasia
-      - southindia
-      - japaneast
-      - japanwest
-      - koreacentral
-      configFileName: prod-config.yaml
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-      imageTag: ${{ parameters.aroImageTag }}
-      rpImageAcr: ${{ variables.rpImageAcr }}
-- stage: Deploy_USSector
-  condition: succeededOrFailed()
-  dependsOn: [Deploy_LowTrafficSector]
-  displayName: 🚀 Deploy USSector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env-tag.yml
-    parameters:
-      environment: RP-Prod-USSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - centralus
-      - eastus
-      - eastus2
-      - northcentralus
-      - southcentralus
-      - westus
-      - westus2
-      - westus3
-      configFileName: prod-config.yaml
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-      imageTag: ${{ parameters.aroImageTag }}
-      rpImageAcr: ${{ variables.rpImageAcr }}
-- stage: Deploy_EuropeSector
-  dependsOn: [Deploy_USSector]
-  condition: succeededOrFailed()
-  displayName: 🚀 Deploy EuropeSector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env-tag.yml
-    parameters:
-      environment: RP-Prod-EuropeSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - canadacentral
-      - canadaeast
-      - germanywestcentral
-      - northeurope
-      - norwayeast
-      - norwaywest
-      - swedencentral
-      - switzerlandnorth
-      - switzerlandwest
-      - westeurope
-      - francecentral
-      configFileName: prod-config.yaml
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-      imageTag: ${{ parameters.aroImageTag }}
-      rpImageAcr: ${{ variables.rpImageAcr }}
-- stage: Deploy_ROWSector
-  dependsOn: [Deploy_EuropeSector]
-  condition: succeededOrFailed()
-  displayName: 🚀 Deploy ROWSector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env-tag.yml
-    parameters:
-      environment: RP-Prod-ROWSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - brazilsouth
-      - brazilsoutheast
-      - southeastasia
-      - southafricanorth
-      - uaenorth
-      - uksouth
-      - ukwest
-      configFileName: prod-config.yaml
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-      imageTag: ${{ parameters.aroImageTag }}
-      rpImageAcr: ${{ variables.rpImageAcr }}
diff --git a/.pipelines/prod-release.yml b/.pipelines/prod-release.yml
deleted file mode 100644
index 6cf6a04de..000000000
--- a/.pipelines/prod-release.yml
+++ /dev/null
@@ -1,151 +0,0 @@
-# No PR triggers to run it manually
-pr: none
-trigger: none
-
-parameters:
-- name: vsoDeployerBuildID
-- name: configVersion
-
-stages:
-- stage: Deploy_CanarySector
-  dependsOn: []
-  displayName: 🚀 Deploy Canary Sector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env.yml
-    parameters:
-      environment: RP-Prod-CanarySector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - westcentralus
-      - eastus2euap
-      configFileName: prod-config.yaml
-      configVersion: ${{ parameters.configVersion }}
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-      vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-- stage: Deploy_LowTrafficSector
-  condition: succeededOrFailed()
-  dependsOn: [Deploy_CanarySector]
-  displayName: 🚀 Deploy Low Traffic Sector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env.yml
-    parameters:
-      environment: RP-Prod-LowTrafficSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - australiacentral
-      - australiacentral2
-      - australiaeast
-      - australiasoutheast
-      - centralindia
-      - eastasia
-      - southindia
-      - japaneast
-      - japanwest
-      - koreacentral
-      configFileName: prod-config.yaml
-      configVersion: ${{ parameters.configVersion }}
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-      vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-- stage: Deploy_USSector
-  condition: succeededOrFailed()
-  dependsOn: [Deploy_LowTrafficSector]
-  displayName: 🚀 Deploy USSector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env.yml
-    parameters:
-      environment: RP-Prod-USSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - centralus
-      - eastus
-      - eastus2
-      - northcentralus
-      - southcentralus
-      - westus
-      - westus2
-      - westus3
-      configFileName: prod-config.yaml
-      configVersion: ${{ parameters.configVersion }}
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-      vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-- stage: Deploy_EuropeSector
-  dependsOn: [Deploy_USSector]
-  condition: succeededOrFailed()
-  displayName: 🚀 Deploy EuropeSector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env.yml
-    parameters:
-      environment: RP-Prod-EuropeSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - canadacentral
-      - canadaeast
-      - germanywestcentral
-      - northeurope
-      - norwayeast
-      - norwaywest
-      - swedencentral
-      - switzerlandnorth
-      - switzerlandwest
-      - westeurope
-      - francecentral
-      configFileName: prod-config.yaml
-      configVersion: ${{ parameters.configVersion }}
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-      vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
-- stage: Deploy_ROWSector
-  dependsOn: [Deploy_EuropeSector]
-  condition: succeededOrFailed()
-  displayName: 🚀 Deploy ROWSector
-  jobs:
-  - template: ./templates/template-job-deploy-azure-env.yml
-    parameters:
-      environment: RP-Prod-ROWSector
-      rpMode: ''
-      aroVersionStorageAccount: $(aro-version-storage-account)
-      locations:
-      - brazilsouth
-      - brazilsoutheast
-      - southeastasia
-      - southafricanorth
-      - uaenorth
-      - uksouth
-      - ukwest
-      configFileName: prod-config.yaml
-      configVersion: ${{ parameters.configVersion }}
-      azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-      vsoProjectID: $(vso-project-id)
-      vsoDeployerPipelineID: $(vso-deployer-pipeline-id)
-      vsoDeployerBuildID: ${{ parameters.vsoDeployerBuildID }}
-      azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-      e2eSubscription: $(e2e-subscription)
-      billingE2EPipelineName: $(billing-e2e-pipeline-name)
-      billingE2EBranchName: $(billing-e2e-branch-name)
diff --git a/.pipelines/templates/template-deploy-azure-env.yml b/.pipelines/templates/template-deploy-azure-env.yml
deleted file mode 100644
index 476045a18..000000000
--- a/.pipelines/templates/template-deploy-azure-env.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-parameters:
-  azureDevOpsJSONSPN: ''
-  configDirectory: ''
-  configFileName: ''
-  deployerDirectory: ''
-  location: ''
-
-steps:
-- script: |
-    set -eu
-
-    trap 'rm -f devops-spn.json' EXIT
-    base64 -d >devops-spn.json <<<${{ parameters.azureDevOpsJSONSPN }}
-    export AZURE_CLIENT_ID=$(jq -r .clientId <devops-spn.json)
-    export AZURE_CLIENT_SECRET=$(jq -r .clientSecret <devops-spn.json)
-    export AZURE_TENANT_ID=$(jq -r .tenantId <devops-spn.json)
-
-    export AZURE_SUBSCRIPTION_ID="${{ parameters.subscriptionId }}"
-
-    chmod +x ${{ parameters.deployerDirectory }}/aro
-    ${{ parameters.deployerDirectory }}/aro deploy ${{ parameters.configDirectory }}/${{ parameters.configFileName }} ${{ parameters.location }}
-  displayName: 🚀 Buildout/Deploy ${{ parameters.location }} env
diff --git a/.pipelines/templates/template-job-deploy-azure-env-tag.yml b/.pipelines/templates/template-job-deploy-azure-env-tag.yml
deleted file mode 100644
index ac3b5876e..000000000
--- a/.pipelines/templates/template-job-deploy-azure-env-tag.yml
+++ /dev/null
@@ -1,117 +0,0 @@
-# Azure DevOps Job deploying rp
-parameters:
-  aroVersionStorageAccount: ''
-  azureDevOpsE2EJSONSPN: ''
-  azureDevOpsJSONSPN: ''
-  billingE2EPipelineName: ''
-  billingE2EBranchName: ''
-  configFileName: ''
-  e2eSubscription: ''
-  environment: ''
-  locations: []
-  rpMode: ''
-  vsoProjectID: ''
-  imageTag: ''
-  rpImageAcr: ''
-
-jobs:
-- ${{ each location in  parameters.locations }}:
-  - deployment: Deploy_${{ location }}
-    variables:
-    - template: ../vars.yml
-    pool:
-      name: ARO-CI
-      demands: go-1.17
-    environment: ${{ parameters.environment }}
-    strategy:
-      runOnce:
-        deploy:
-          steps:
-          - ${{ if eq(parameters.imageTag, 'latest') }}:
-            - checkout: git://AzureRedHatOpenShift/RP-Config@refs/heads/master
-          - ${{ if ne(parameters.imageTag, 'latest') }}:
-            - checkout: git://AzureRedHatOpenShift/RP-Config@refs/tags/${{parameters.imageTag}}
-          - template: ./template-az-cli-login.yml
-            parameters:
-              azureDevOpsJSONSPN: $(aro-v4-ci-devops-spn)
-          - script: |
-              set -e
-              trap 'set +e; for c in $(docker ps -aq); do docker rm -f $c; done; docker image prune -af ; rm -rf ~/.docker/config.json; rm -rf /run/user/$(id -u $USERNAME)/containers/auth.json' EXIT
-
-              export TAG=${{ parameters.imageTag }}
-              export RP_IMAGE_ACR=${{ parameters.rpImageAcr }}
-
-              az acr login --name "${RP_IMAGE_ACR}"
-
-              mkdir -p $(System.ArtifactsDirectory)/deployer/
-              docker pull "${RP_IMAGE_ACR}.azurecr.io/aro:${TAG}"
-              CONTAINER=$(docker create "${RP_IMAGE_ACR}.azurecr.io/aro:${TAG}")
-              docker cp $CONTAINER:/usr/local/bin/aro $(System.ArtifactsDirectory)/deployer/aro
-            displayName: Download aro deployer from image
-          - template: ./template-az-cli-logout.yml
-
-          - template: ./template-deploy-azure-env.yml
-            parameters:
-              configDirectory: $(Agent.BuildDirectory)/s/deploy
-              deployerDirectory: $(System.ArtifactsDirectory)/deployer/
-              configFileName: ${{ parameters.configFileName }}
-              location: ${{ location }}
-              azureDevOpsJSONSPN: ${{ parameters.azureDevOpsJSONSPN }}
-  - job: RP_E2E_${{ location }}
-    dependsOn: Deploy_${{ location }}
-    variables:
-    - template: ../vars.yml
-    timeoutInMinutes: 120
-    pool:
-      name: ARO-CI
-    steps:
-    - template: ./template-prod-e2e-steps.yml
-      parameters:
-        location: ${{ location }}
-        subscription: ${{ parameters.e2eSubscription }}
-        azureDevOpsE2EJSONSPN: ${{ parameters.azureDevOpsE2EJSONSPN }}
-        aroVersionStorageAccount: ${{ parameters.aroVersionStorageAccount }}
-        rpMode: ${{ parameters.rpMode }}
-  - job: Billing_E2E_${{ location }}_Wait
-    dependsOn: RP_E2E_${{ location }}
-    timeoutInMinutes: 400
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '360'
-  - job: ${{ location }}_TriggerBillingBuild
-    displayName: Trigger Billing E2E pipeline
-    dependsOn: Billing_E2E_${{ location }}_Wait
-    steps:
-    - script: |
-        # Pass variables between tasks: https://medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763
-        echo "##vso[task.setvariable variable=REGION]${{ location }}"
-        CLUSTER="v4-e2e-V$BUILD_BUILDID-${{ location }}"
-        echo "##vso[task.setvariable variable=CLUSTER]$CLUSTER"
-        CLUSTER_RESOURCEGROUP="v4-e2e-V$BUILD_BUILDID-${{ location }}"
-        echo "##vso[task.setvariable variable=CLUSTER_RESOURCEGROUP]$CLUSTER_RESOURCEGROUP"
-        echo "E2E Cluster Resource Group Name:" $CLUSTER_RESOURCEGROUP
-        echo "E2E Cluster Name:" $CLUSTER
-      displayName: Pass variables into next Task
-    - task: TriggerBuild@3
-      inputs:
-        definitionIsInCurrentTeamProject: true
-        buildDefinition: ${{ parameters.billingE2EPipelineName }}
-        queueBuildForUserThatTriggeredBuild: true
-        ignoreSslCertificateErrors: false
-        useSameSourceVersion: false
-        useCustomSourceVersion: false
-        useSameBranch: false
-        branchToUse: ${{ parameters.billingE2EBranchName }}
-        waitForQueuedBuildsToFinish: true
-        storeInEnvironmentVariable: false
-        buildParameters: CLUSTER_RESOURCEGROUP:$(CLUSTER_RESOURCEGROUP), CLUSTER:$(CLUSTER),
-          REGION:$(REGION)
-        authenticationMethod: OAuth Token
-        password: $(System.AccessToken)
-        enableBuildInQueueCondition: false
-        dependentOnSuccessfulBuildCondition: true
-        dependentOnFailedBuildCondition: true
-        checkbuildsoncurrentbranch: false
-        failTaskIfConditionsAreNotFulfilled: true
diff --git a/.pipelines/templates/template-job-deploy-azure-env.yml b/.pipelines/templates/template-job-deploy-azure-env.yml
deleted file mode 100644
index d380c45b3..000000000
--- a/.pipelines/templates/template-job-deploy-azure-env.yml
+++ /dev/null
@@ -1,113 +0,0 @@
-# Azure DevOps Job deploying rp
-parameters:
-  aroVersionStorageAccount: ''
-  azureDevOpsE2EJSONSPN: ''
-  azureDevOpsJSONSPN: ''
-  billingE2EPipelineName: ''
-  billingE2EBranchName: ''
-  configVersion: ''
-  configFileName: ''
-  e2eSubscription: ''
-  environment: ''
-  locations: []
-  rpMode: ''
-  vsoProjectID: ''
-  vsoDeployerPipelineID: ''
-  vsoDeployerBuildID: ''
-
-jobs:
-- ${{ each location in  parameters.locations }}:
-  - deployment: Deploy_${{ location }}
-    variables:
-    - template: ../vars.yml
-    pool:
-      name: ARO-CI
-      demands: go-1.17
-    environment: ${{ parameters.environment }}
-    strategy:
-      runOnce:
-        deploy:
-          steps:
-          - ${{ if eq(parameters.configVersion, 'latest') }}:
-            - checkout: git://AzureRedHatOpenShift/RP-Config@refs/heads/master
-          - ${{ if ne(parameters.configVersion, 'latest') }}:
-            - checkout: git://AzureRedHatOpenShift/RP-Config@refs/tags/${{parameters.configVersion}}
-          - task: DownloadBuildArtifacts@0
-            inputs:
-              buildType: specific
-              project: ${{ parameters.vsoProjectID }}
-              pipeline: ${{ parameters.vsoDeployerPipelineID }}
-              ${{ if eq(parameters.vsoDeployerBuildID, 'latest') }}:
-                buildVersionToDownload: latestFromBranch
-                branchName: refs/heads/master
-              ${{ if ne(parameters.vsoDeployerBuildID, 'latest') }}:
-                buildVersionToDownload: specific
-                buildId: ${{ parameters.vsoDeployerBuildID }}
-              downloadType: specific
-              downloadPath: $(System.ArtifactsDirectory)/deployer
-            displayName: Download Deployer
-          - template: ./template-deploy-azure-env.yml
-            parameters:
-              configDirectory: $(Agent.BuildDirectory)/s/deploy
-              deployerDirectory: $(System.ArtifactsDirectory)/deployer/drop
-              configFileName: ${{ parameters.configFileName }}
-              location: ${{ location }}
-              azureDevOpsJSONSPN: ${{ parameters.azureDevOpsJSONSPN }}
-  - job: RP_E2E_${{ location }}
-    dependsOn: Deploy_${{ location }}
-    variables:
-    - template: ../vars.yml
-    timeoutInMinutes: 120
-    pool:
-      name: ARO-CI
-    steps:
-    - template: ./template-prod-e2e-steps.yml
-      parameters:
-        location: ${{ location }}
-        subscription: ${{ parameters.e2eSubscription }}
-        azureDevOpsE2EJSONSPN: ${{ parameters.azureDevOpsE2EJSONSPN }}
-        aroVersionStorageAccount: ${{ parameters.aroVersionStorageAccount }}
-        rpMode: ${{ parameters.rpMode }}
-  - job: Billing_E2E_${{ location }}_Wait
-    dependsOn: RP_E2E_${{ location }}
-    timeoutInMinutes: 400
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '360'
-  - job: ${{ location }}_TriggerBillingBuild
-    displayName: Trigger Billing E2E pipeline
-    dependsOn: Billing_E2E_${{ location }}_Wait
-    steps:
-    - script: |
-        # Pass variables between tasks: https://medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763
-        echo "##vso[task.setvariable variable=REGION]${{ location }}"
-        CLUSTER="v4-e2e-V$BUILD_BUILDID-${{ location }}"
-        echo "##vso[task.setvariable variable=CLUSTER]$CLUSTER"
-        CLUSTER_RESOURCEGROUP="v4-e2e-V$BUILD_BUILDID-${{ location }}"
-        echo "##vso[task.setvariable variable=CLUSTER_RESOURCEGROUP]$CLUSTER_RESOURCEGROUP"
-        echo "E2E Cluster Resource Group Name:" $CLUSTER_RESOURCEGROUP
-        echo "E2E Cluster Name:" $CLUSTER
-      displayName: Pass variables into next Task
-    - task: TriggerBuild@3
-      inputs:
-        definitionIsInCurrentTeamProject: true
-        buildDefinition: ${{ parameters.billingE2EPipelineName }}
-        queueBuildForUserThatTriggeredBuild: true
-        ignoreSslCertificateErrors: false
-        useSameSourceVersion: false
-        useCustomSourceVersion: false
-        useSameBranch: false
-        branchToUse: ${{ parameters.billingE2EBranchName }}
-        waitForQueuedBuildsToFinish: true
-        storeInEnvironmentVariable: false
-        buildParameters: CLUSTER_RESOURCEGROUP:$(CLUSTER_RESOURCEGROUP), CLUSTER:$(CLUSTER),
-          REGION:$(REGION)
-        authenticationMethod: OAuth Token
-        password: $(System.AccessToken)
-        enableBuildInQueueCondition: false
-        dependentOnSuccessfulBuildCondition: true
-        dependentOnFailedBuildCondition: true
-        checkbuildsoncurrentbranch: false
-        failTaskIfConditionsAreNotFulfilled: true
diff --git a/.pipelines/templates/template-push-images-to-acr-tagged.yml b/.pipelines/templates/template-push-images-to-acr-tagged.yml
deleted file mode 100644
index 047a08f24..000000000
--- a/.pipelines/templates/template-push-images-to-acr-tagged.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-parameters:
-  rpImageACR: ''
-  imageTag: ''
-steps:
-- script: |
-    set -e
-    trap 'set +e; for c in $(docker ps -aq); do docker rm -f $c; done; docker image prune -af ; rm -rf ~/.docker/config.json; rm -rf /run/user/$(id -u $USERNAME)/containers/auth.json' EXIT
-    export RP_IMAGE_ACR=${{ parameters.rpImageACR }}
-    export TAG=${{ parameters.imageTag }}
-    az acr login --name "$RP_IMAGE_ACR"
-    # azure checkouts commit, so removing master reference when publishing image
-    export BRANCH=$(Build.SourceBranchName)
-    make publish-image-aro
-  displayName: ⚙️ Build and push tagged images to ACR


Test patch:
diff --git a/.pipelines/e2e-with-billing-all-regions.yml b/.pipelines/e2e-with-billing-all-regions.yml
deleted file mode 100644
index ac28b4afe..000000000
--- a/.pipelines/e2e-with-billing-all-regions.yml
+++ /dev/null
@@ -1,130 +0,0 @@
-# Azure DevOps Pipeline running RP e2e and Billing e2e in all supported regions
-trigger: none
-pr: none
-
-schedules:
-- cron: 0 5 * * *
-  displayName: Run daily at 05:00 UTC
-  branches:
-    include:
-    - master
-  always: true
-
-variables:
-- template: vars.yml
-stages:
-- stage: PhaseOne
-  displayName: wait 0 mins
-  dependsOn: []
-  jobs:
-  - job: JustStart
-    timeoutInMinutes: 1
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '0'
-- template: ./templates/template-rp-and-billing-e2e-section.yml
-  parameters:
-    last_stage_of_previous_section: PhaseOne
-    e2e_subscription: $(e2e-subscription)
-    aro_v4_e2e_devops_spn: $(aro-v4-e2e-devops-spn)
-    billing_e2e_pipeline_name: $(billing_e2e_pipeline_name)
-    billing_e2e_branch_name: $(billing_e2e_branch_name)
-    locations:
-    - westcentralus
-    - eastus2euap
-    - australiacentral
-    - australiacentral2
-    - australiaeast
-    - australiasoutheast
-    - centralindia
-    - eastasia
-    - southindia
-    - japaneast
-    - japanwest
-    - koreacentral
-- stage: PhaseTwo
-  displayName: wait 1 hour to avoid resource threshold
-  dependsOn: []
-  jobs:
-  - job: JustWait
-    timeoutInMinutes: 70
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '60'
-- template: ./templates/template-rp-and-billing-e2e-section.yml
-  parameters:
-    last_stage_of_previous_section: PhaseTwo
-    e2e_subscription: $(e2e-subscription)
-    aro_v4_e2e_devops_spn: $(aro-v4-e2e-devops-spn)
-    billing_e2e_pipeline_name: $(billing_e2e_pipeline_name)
-    billing_e2e_branch_name: $(billing_e2e_branch_name)
-    locations:
-    - centralus
-    - eastus
-    - eastus2
-    - northcentralus
-    - southcentralus
-    - westus
-    - westus2
-    - westus3
-- stage: PhaseThree
-  displayName: wait 2 hours to avoid resource threshold
-  dependsOn: []
-  jobs:
-  - job: JustWait
-    timeoutInMinutes: 130
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '120'
-- template: ./templates/template-rp-and-billing-e2e-section.yml
-  parameters:
-    last_stage_of_previous_section: PhaseThree
-    e2e_subscription: $(e2e-subscription)
-    aro_v4_e2e_devops_spn: $(aro-v4-e2e-devops-spn)
-    billing_e2e_pipeline_name: $(billing_e2e_pipeline_name)
-    billing_e2e_branch_name: $(billing_e2e_branch_name)
-    locations:
-    - canadacentral
-    - canadaeast
-    - germanywestcentral
-    - northeurope
-    - norwayeast
-    - norwaywest
-    - swedencentral
-    - switzerlandnorth
-    - switzerlandwest
-    - westeurope
-    - francecentral
-
-- stage: PhaseFour
-  displayName: wait 3 hours to avoid resource threshold
-  dependsOn: []
-  jobs:
-  - job: JustWait
-    timeoutInMinutes: 190
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '180'
-- template: ./templates/template-rp-and-billing-e2e-section.yml
-  parameters:
-    last_stage_of_previous_section: PhaseFour
-    e2e_subscription: $(e2e-subscription)
-    aro_v4_e2e_devops_spn: $(aro-v4-e2e-devops-spn)
-    billing_e2e_pipeline_name: $(billing_e2e_pipeline_name)
-    billing_e2e_branch_name: $(billing_e2e_branch_name)
-    locations:
-    - brazilsouth
-    - brazilsoutheast
-    - southeastasia
-    - southafricanorth
-    - uaenorth
-    - uksouth
-    - ukwest
diff --git a/.pipelines/e2e-with-billing.yml b/.pipelines/e2e-with-billing.yml
deleted file mode 100644
index 45257cf42..000000000
--- a/.pipelines/e2e-with-billing.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-# Azure DevOps Pipeline running RP e2e and Billing e2e
-trigger: none
-pr: none
-
-schedules:
-- cron: 0 23 * * *
-  displayName: Run daily at 23:00 UTC
-  branches:
-    include:
-    - master
-  always: true
-
-variables:
-- template: vars.yml
-stages:
-- stage: RP_E2E
-  dependsOn: []
-  displayName: 🚀 RUN RP E2E
-  jobs:
-  - job: RP_E2E_Job
-    timeoutInMinutes: 180
-    pool:
-      name: ARO-CI
-    steps:
-    - template: ./templates/template-prod-e2e-steps.yml
-      parameters:
-        location: $(LOCATION)
-        subscription: $(e2e-subscription)
-        azureDevOpsE2EJSONSPN: $(aro-v4-e2e-devops-spn)
-        aroVersionStorageAccount: $(aro-version-storage-account)
-        rpMode: $(RP_MODE)
-- stage: Delay_For_Billing_Table
-  displayName: Wait 6 hours for billing table ready
-  jobs:
-  - job: JustWait
-    timeoutInMinutes: 400
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '360'
-- stage: Billing_E2E
-  displayName: Billing E2E
-  jobs:
-  - job: TriggerBillingBuild
-    displayName: Trigger Billing E2E pipeline
-    steps:
-    - script: |
-        # Pass variables between tasks: https://medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763
-        echo "##vso[task.setvariable variable=REGION]$LOCATION"
-        CLUSTER="v4-e2e-V$BUILD_BUILDID-$LOCATION"
-        echo "##vso[task.setvariable variable=CLUSTER]$CLUSTER"
-        CLUSTER_RESOURCEGROUP="v4-e2e-V$BUILD_BUILDID-$LOCATION"
-        echo "##vso[task.setvariable variable=CLUSTER_RESOURCEGROUP]$CLUSTER_RESOURCEGROUP"
-        echo "E2E Cluster Resource Group Name:" $CLUSTER_RESOURCEGROUP
-        echo "E2E Cluster Name:" $CLUSTER
-      displayName: Pass variables into next Task
-    - task: TriggerBuild@3
-      inputs:
-        definitionIsInCurrentTeamProject: true
-        buildDefinition: $(BillingE2EPipelineName)
-        queueBuildForUserThatTriggeredBuild: true
-        ignoreSslCertificateErrors: false
-        useSameSourceVersion: false
-        useCustomSourceVersion: false
-        useSameBranch: false
-        branchToUse: $(BillingE2EBranchName)
-        waitForQueuedBuildsToFinish: true
-        storeInEnvironmentVariable: false
-        buildParameters: CLUSTER_RESOURCEGROUP:$(CLUSTER_RESOURCEGROUP), CLUSTER:$(CLUSTER),
-          REGION:$(REGION)
-        authenticationMethod: OAuth Token
-        password: $(System.AccessToken)
-        enableBuildInQueueCondition: false
-        dependentOnSuccessfulBuildCondition: true
-        dependentOnFailedBuildCondition: true
-        checkbuildsoncurrentbranch: false
-        failTaskIfConditionsAreNotFulfilled: true
diff --git a/.pipelines/templates/template-prod-e2e-steps.yml b/.pipelines/templates/template-prod-e2e-steps.yml
deleted file mode 100644
index 6f6be0707..000000000
--- a/.pipelines/templates/template-prod-e2e-steps.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-parameters:
-  aroVersionStorageAccount: ''
-  azureDevOpsE2EJSONSPN: ''
-  location: ''
-  rpMode: ''
-  subscription: ''
-
-steps:
-- script: |
-    set -e
-    export LOCATION=${{ parameters.location }}
-    export AZURE_SUBSCRIPTION_ID=${{ parameters.subscription }}
-
-    trap 'set +e; rm -f devops-spn.json ; for c in $(docker ps -aq); do docker rm -f $c; done; docker image prune -af; rm -rf ~/.docker/config.json; rm -rf /run/user/$(id -u $USERNAME)/containers/auth.json' EXIT
-    base64 -d >devops-spn.json <<<${{ parameters.azureDevOpsE2EJSONSPN }}
-    export AZURE_CLIENT_ID=$(jq -r .clientId <devops-spn.json)
-    export AZURE_CLIENT_SECRET=$(jq -r .clientSecret <devops-spn.json)
-    export AZURE_TENANT_ID=$(jq -r .tenantId <devops-spn.json)
-
-
-    # TODO: read RP config and derive $IMAGE from it. This would also need the
-    # AZURE_CLIENT_ID identity to be able to pull from non-INT ACR.
-    export IMAGE=arointsvc.azurecr.io/aro
-    docker login $IMAGE -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET
-
-    set -x
-
-    VERSION=$(curl -sf "https://${{ parameters.aroVersionStorageAccount }}.blob.core.windows.net/rpversion/$LOCATION")
-
-    # TODO: get these into ADO variables, then remove rpMode
-    if [[ "${{ parameters.rpMode }}" = "int" ]]; then
-      export AZURE_FP_CLIENT_ID=71cfb175-ea3a-444e-8c03-b119b2752ce4
-      export AZURE_FP_SERVICE_PRINCIPAL_ID=fe9d206f-a6af-46db-8bda-303aae45e469
-    else
-      export AZURE_FP_CLIENT_ID=f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875
-      export AZURE_FP_SERVICE_PRINCIPAL_ID=50c17c64-bc11-4fdd-a339-0ecd396bf911
-    fi
-    # TODO: remove --env RESOURCEGROUP after next RP deployment.
-
-    # TODO: e2e.test arguments need to move inside the container somehow.  Maybe
-    # a short script inside the container?  :-|
-    docker run \
-      --rm \
-      --env CI=true \
-      --env AZURE_CLIENT_ID \
-      --env AZURE_CLIENT_SECRET \
-      --env AZURE_FP_CLIENT_ID \
-      --env AZURE_FP_SERVICE_PRINCIPAL_ID \
-      --env AZURE_TENANT_ID \
-      --env AZURE_SUBSCRIPTION_ID \
-      --env LOCATION \
-      --env RESOURCEGROUP="v4-e2e-V$BUILD_BUILDID-$LOCATION" \
-      --env CLUSTER="v4-e2e-V$BUILD_BUILDID-$LOCATION" \
-      --entrypoint e2e.test \
-      "$IMAGE:$VERSION" \
-      -test.v --ginkgo.v --ginkgo.timeout 180m --ginkgo.flake-attempts=2
-
-  displayName: 🚀 Run ${{ parameters.location }} E2E
diff --git a/.pipelines/templates/template-rp-and-billing-e2e-section.yml b/.pipelines/templates/template-rp-and-billing-e2e-section.yml
deleted file mode 100644
index 5d461bf25..000000000
--- a/.pipelines/templates/template-rp-and-billing-e2e-section.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-parameters:
-  aro_v4_e2e_devops_spn: ''
-  billing_e2e_pipeline_name: ''
-  billing_e2e_branch_name: ''
-  e2e_subscription: ''
-  last_stage_of_previous_section: ''
-  locations: []
-
-stages:
-- ${{ each location in  parameters.locations }}:
-  - template: ./template-rp-and-billing-e2e.yml
-    parameters:
-      sign_off_stage: ${{ parameters.last_stage_of_previous_section }}
-      e2e_subscription: ${{ parameters.e2e_subscription }}
-      aro_v4_e2e_devops_spn: ${{ parameters.aro_v4_e2e_devops_spn }}
-      billing_e2e_pipeline_name: ${{ parameters.billing_e2e_pipeline_name }}
-      billing_e2e_branch_name: ${{ parameters.billing_e2e_branch_name }}
-      location: ${{ location }}
diff --git a/.pipelines/templates/template-rp-and-billing-e2e.yml b/.pipelines/templates/template-rp-and-billing-e2e.yml
deleted file mode 100644
index 27c729bcf..000000000
--- a/.pipelines/templates/template-rp-and-billing-e2e.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-# Azure DevOps Pipeline running RP e2e and Billing e2e
-parameters:
-  aro_v4_e2e_devops_spn: ''
-  billing_e2e_pipeline_name: ''
-  billing_e2e_branch_name: ''
-  e2e_subscription: ''
-  location: ''
-  sign_off_stage: ''
-
-stages:
-- stage: ${{ parameters.location }}_RP_E2E
-  dependsOn: ${{ parameters.sign_off_stage }}
-  displayName: ${{ parameters.location }} RP E2E
-  jobs:
-  - job: ${{ parameters.location }}_RP_E2E_Job
-    timeoutInMinutes: 120
-    pool:
-      name: ARO-CI
-    steps:
-    - template: ./template-prod-e2e-steps.yml
-      parameters:
-        location: ${{ parameters.location }}
-        subscription: ${{ parameters.e2e_subscription }}
-        azureDevOpsE2EJSONSPN: ${{ parameters.aro_v4_e2e_devops_spn }}
-        aroVersionStorageAccount: $(aro-version-storage-account)
-        rpMode: ''
-- stage: ${{ parameters.location }}_Delay_For_Billing_Table
-  displayName: ${{ parameters.location }} wait 6 hours for billing table ready
-  jobs:
-  - job: ${{ parameters.location }}_JustWait
-    timeoutInMinutes: 400
-    pool: server
-    steps:
-    - task: Delay@1
-      inputs:
-        delayForMinutes: '360'
-- stage: ${{ parameters.location }}_Billing_E2E
-  displayName: ${{ parameters.location }} Billing E2E
-  jobs:
-  - job: ${{ parameters.location }}_TriggerBillingBuild
-    displayName: Trigger Billing E2E pipeline
-    steps:
-    - script: |
-        # Pass variables between tasks: https://medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763
-        echo "##vso[task.setvariable variable=REGION]${{ parameters.location }}"
-        CLUSTER="v4-e2e-V$BUILD_BUILDID-${{ parameters.location }}"
-        echo "##vso[task.setvariable variable=CLUSTER]$CLUSTER"
-        CLUSTER_RESOURCEGROUP="v4-e2e-V$BUILD_BUILDID-${{ parameters.location }}"
-        echo "##vso[task.setvariable variable=CLUSTER_RESOURCEGROUP]$CLUSTER_RESOURCEGROUP"
-        echo "E2E Cluster Resource Group Name:" $CLUSTER_RESOURCEGROUP
-        echo "E2E Cluster Name:" $CLUSTER
-      displayName: Pass variables into next Task
-    - task: TriggerBuild@3
-      inputs:
-        definitionIsInCurrentTeamProject: true
-        buildDefinition: ${{ parameters.billing_e2e_pipeline_name }}
-        queueBuildForUserThatTriggeredBuild: true
-        ignoreSslCertificateErrors: false
-        useSameSourceVersion: false
-        useCustomSourceVersion: false
-        useSameBranch: false
-        branchToUse: ${{ parameters.billing_e2e_branch_name }}
-        waitForQueuedBuildsToFinish: true
-        storeInEnvironmentVariable: false
-        buildParameters: CLUSTER_RESOURCEGROUP:$(CLUSTER_RESOURCEGROUP), CLUSTER:$(CLUSTER),
-          REGION:$(REGION)
-        authenticationMethod: OAuth Token
-        password: $(System.AccessToken)
-        enableBuildInQueueCondition: false
-        dependentOnSuccessfulBuildCondition: true
-        dependentOnFailedBuildCondition: true
-        checkbuildsoncurrentbranch: false
-        failTaskIfConditionsAreNotFulfilled: true