From 90d4c49f4603c3fe8abc636b662b7ccda5c106cc Mon Sep 17 00:00:00 2001
From: Albert Salim <asalim@gitlab.com>
Date: Wed, 22 Jan 2020 02:58:41 +0000
Subject: [PATCH] Revert "Merge branch 'qa-alerting-test' into 'master'"

This reverts merge request !20591
---
 .../components/charts/time_series.vue         |   5 +-
 .../monitoring/components/dashboard.vue       |   2 +-
 .../monitoring/components/panel_type.vue      |   7 +-
 .../components/pipelines_table_row.vue        |   1 -
 .../layouts/nav/sidebar/_project.html.haml    |   2 +-
 .../components/alert_widget_form.vue          |   4 +-
 qa/qa.rb                                      |   2 -
 .../monitored_auto_devops/.gitlab-ci.yml      | 337 ------------------
 qa/qa/page/project/operations/metrics.rb      |  87 -----
 qa/qa/page/project/pipeline/index.rb          |  22 +-
 qa/qa/page/project/sub_menus/operations.rb    |   9 -
 .../8_monitor/health/alerting_spec.rb         |  99 -----
 12 files changed, 8 insertions(+), 569 deletions(-)
 delete mode 100644 qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml
 delete mode 100644 qa/qa/page/project/operations/metrics.rb
 delete mode 100644 qa/qa/specs/features/ee/browser_ui/8_monitor/health/alerting_spec.rb

diff --git a/app/assets/javascripts/monitoring/components/charts/time_series.vue b/app/assets/javascripts/monitoring/components/charts/time_series.vue
index 8b1a9f6f770..0d442f14aea 100644
--- a/app/assets/javascripts/monitoring/components/charts/time_series.vue
+++ b/app/assets/javascripts/monitoring/components/charts/time_series.vue
@@ -311,10 +311,7 @@ export default {
       <gl-tooltip :target="() => $refs.graphTitle" :disabled="!showTitleTooltip">
         {{ graphData.title }}
       </gl-tooltip>
-      <div
-        class="prometheus-graph-widgets js-graph-widgets flex-fill"
-        data-qa-selector="prometheus_graph_widgets"
-      >
+      <div class="prometheus-graph-widgets js-graph-widgets flex-fill">
         <slot></slot>
       </div>
     </div>
diff --git a/app/assets/javascripts/monitoring/components/dashboard.vue b/app/assets/javascripts/monitoring/components/dashboard.vue
index 8c33e13e2f0..2c51252be39 100644
--- a/app/assets/javascripts/monitoring/components/dashboard.vue
+++ b/app/assets/javascripts/monitoring/components/dashboard.vue
@@ -342,7 +342,7 @@ export default {
 </script>
 
 <template>
-  <div class="prometheus-graphs" data-qa-selector="prometheus_graphs">
+  <div class="prometheus-graphs">
     <div class="prometheus-graphs-header gl-p-3 pb-0 border-bottom bg-gray-light">
       <div class="row">
         <template v-if="environmentsEndpoint">
diff --git a/app/assets/javascripts/monitoring/components/panel_type.vue b/app/assets/javascripts/monitoring/components/panel_type.vue
index 5d4f3425ad0..ec6a41d0540 100644
--- a/app/assets/javascripts/monitoring/components/panel_type.vue
+++ b/app/assets/javascripts/monitoring/components/panel_type.vue
@@ -138,7 +138,6 @@ export default {
         v-gl-tooltip
         class="ml-auto mx-3"
         toggle-class="btn btn-transparent border-0"
-        data-qa-selector="prometheus_widgets_dropdown"
         :right="true"
         :no-caret="true"
         :title="__('More actions')"
@@ -162,11 +161,7 @@ export default {
         >
           {{ __('Generate link to chart') }}
         </gl-dropdown-item>
-        <gl-dropdown-item
-          v-if="alertWidgetAvailable"
-          v-gl-modal="`alert-modal-${index}`"
-          data-qa-selector="alert_widget_menu_item"
-        >
+        <gl-dropdown-item v-if="alertWidgetAvailable" v-gl-modal="`alert-modal-${index}`">
           {{ __('Alerts') }}
         </gl-dropdown-item>
       </gl-dropdown>
diff --git a/app/assets/javascripts/pipelines/components/pipelines_table_row.vue b/app/assets/javascripts/pipelines/components/pipelines_table_row.vue
index 33f5199aabe..afb8439511f 100644
--- a/app/assets/javascripts/pipelines/components/pipelines_table_row.vue
+++ b/app/assets/javascripts/pipelines/components/pipelines_table_row.vue
@@ -331,7 +331,6 @@ export default {
           :loading="isRetrying"
           :disabled="isRetrying"
           container-class="js-pipelines-retry-button btn btn-default btn-retry"
-          data-qa-selector="pipeline_retry_button"
           @click="handleRetryClick"
         >
           <icon name="repeat" />
diff --git a/app/views/layouts/nav/sidebar/_project.html.haml b/app/views/layouts/nav/sidebar/_project.html.haml
index d79568d9047..3464cc1ea07 100644
--- a/app/views/layouts/nav/sidebar/_project.html.haml
+++ b/app/views/layouts/nav/sidebar/_project.html.haml
@@ -232,7 +232,7 @@
 
             - if project_nav_tab? :environments
               = nav_link(controller: :environments, action: [:metrics, :metrics_redirect]) do
-                = link_to metrics_project_environments_path(@project), title: _('Metrics'), class: 'shortcuts-metrics', data: { qa_selector: 'operations_metrics_link' } do
+                = link_to metrics_project_environments_path(@project), title: _('Metrics'), class: 'shortcuts-metrics' do
                   %span
                     = _('Metrics')
 
diff --git a/ee/app/assets/javascripts/monitoring/components/alert_widget_form.vue b/ee/app/assets/javascripts/monitoring/components/alert_widget_form.vue
index d75dfb94376..361e6e4c523 100644
--- a/ee/app/assets/javascripts/monitoring/components/alert_widget_form.vue
+++ b/ee/app/assets/javascripts/monitoring/components/alert_widget_form.vue
@@ -237,12 +237,11 @@ export default {
         <gl-dropdown
           id="alert-query-dropdown"
           :text="queryDropdownLabel"
-          toggle-class="dropdown-menu-toggle qa-alert-query-dropdown"
+          toggle-class="dropdown-menu-toggle"
         >
           <gl-dropdown-item
             v-for="query in relevantQueries"
             :key="query.metricId"
-            data-qa-selector="alert_query_option"
             @click="selectQuery(query.metricId)"
           >
             {{ query.label }}
@@ -281,7 +280,6 @@ export default {
           v-model.number="threshold"
           :disabled="formDisabled"
           type="number"
-          data-qa-selector="alert_threshold_field"
         />
       </gl-form-group>
     </div>
diff --git a/qa/qa.rb b/qa/qa.rb
index 53e119b5ced..a0ce6caa3a9 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -289,8 +289,6 @@ module QA
           autoload :AddExisting, 'qa/page/project/operations/kubernetes/add_existing'
           autoload :Show, 'qa/page/project/operations/kubernetes/show'
         end
-
-        autoload :Metrics, 'qa/page/project/operations/metrics'
       end
 
       module Wiki
diff --git a/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml b/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml
deleted file mode 100644
index a65ae5aa1d9..00000000000
--- a/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml
+++ /dev/null
@@ -1,337 +0,0 @@
-# This is stripped down version of the .gitlab-ci.yml found
-# here: https://gitlab.com/joshlambert/autodevops-deploy.
-#
-# It performs only the deploy stage.
-
-image: alpine:latest
-
-variables:
-  # AUTO_DEVOPS_DOMAIN is the application deployment domain and should be set as a variable at the group or project level.
-  AUTO_DEVOPS_DOMAIN: my-fake-domain.com
-
-  POSTGRES_USER: user
-  POSTGRES_PASSWORD: testing-password
-  POSTGRES_ENABLED: 'false'
-  POSTGRES_DB: $CI_ENVIRONMENT_SLUG
-
-  KUBERNETES_VERSION: 1.11.6
-  HELM_VERSION: 2.12.2
-
-  DOCKER_DRIVER: overlay2
-
-stages:
-  - production
-
-# This job continuously deploys to production on every push to `master`.
-
-production:
-  stage: production
-  script:
-    - check_kube_domain
-    - install_dependencies
-    - download_chart
-    - ensure_namespace
-    - initialize_tiller
-    - create_secret
-    - deploy
-    - persist_environment_url
-  environment:
-    name: production
-    url: http://$CI_PROJECT_PATH_SLUG.$AUTO_DEVOPS_DOMAIN
-  artifacts:
-    paths: [environment_url.txt]
-  only:
-    refs:
-      - master
-    kubernetes: active
-
-# ---------------------------------------------------------------------------
-
-.auto_devops: &auto_devops |
-  # Auto DevOps variables and functions
-  [[ "$TRACE" ]] && set -x
-  auto_database_url=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${CI_ENVIRONMENT_SLUG}-postgres:5432/${POSTGRES_DB}
-  export DATABASE_URL=${DATABASE_URL-$auto_database_url}
-  export CI_APPLICATION_REPOSITORY=$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG
-  export CI_APPLICATION_TAG=$CI_COMMIT_SHA
-  export CI_CONTAINER_NAME=ci_job_build_${CI_JOB_ID}
-  export TILLER_NAMESPACE=$KUBE_NAMESPACE
-  # Extract "MAJOR.MINOR" from CI_SERVER_VERSION and generate "MAJOR-MINOR-stable" for Security Products
-  export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
-
-
-  function get_replicas() {
-    track="${1:-stable}"
-    percentage="${2:-100}"
-
-    env_track=$( echo $track | tr -s  '[:lower:]'  '[:upper:]' )
-    env_slug=$( echo ${CI_ENVIRONMENT_SLUG//-/_} | tr -s  '[:lower:]'  '[:upper:]' )
-
-    if [[ "$track" == "stable" ]] || [[ "$track" == "rollout" ]]; then
-      # for stable track get number of replicas from `PRODUCTION_REPLICAS`
-      eval new_replicas=\$${env_slug}_REPLICAS
-      if [[ -z "$new_replicas" ]]; then
-        new_replicas=$REPLICAS
-      fi
-    else
-      # for all tracks get number of replicas from `CANARY_PRODUCTION_REPLICAS`
-      eval new_replicas=\$${env_track}_${env_slug}_REPLICAS
-      if [[ -z "$new_replicas" ]]; then
-        eval new_replicas=\${env_track}_REPLICAS
-      fi
-    fi
-
-    replicas="${new_replicas:-1}"
-    replicas="$(($replicas * $percentage / 100))"
-
-    # always return at least one replicas
-    if [[ $replicas -gt 0 ]]; then
-      echo "$replicas"
-    else
-      echo 1
-    fi
-  }
-
-
-  # Extracts variables prefixed with K8S_SECRET_
-  # and creates a Kubernetes secret.
-  #
-  # e.g. If we have the following environment variables:
-  #   K8S_SECRET_A=value1
-  #   K8S_SECRET_B=multi\ word\ value
-  #
-  # Then we will create a secret with the following key-value pairs:
-  #   data:
-  #     A: dmFsdWUxCg==
-  #     B: bXVsdGkgd29yZCB2YWx1ZQo=
-  function create_application_secret() {
-    track="${1-stable}"
-    export APPLICATION_SECRET_NAME=$(application_secret_name "$track")
-
-    env | sed -n "s/^K8S_SECRET_\(.*\)$/\1/p" > k8s_prefixed_variables
-
-    kubectl create secret \
-      -n "$KUBE_NAMESPACE" generic "$APPLICATION_SECRET_NAME" \
-      --from-env-file k8s_prefixed_variables -o yaml --dry-run |
-      kubectl replace -n "$KUBE_NAMESPACE" --force -f -
-
-    export APPLICATION_SECRET_CHECKSUM=$(cat k8s_prefixed_variables | sha256sum | cut -d ' ' -f 1)
-
-    rm k8s_prefixed_variables
-  }
-
-  function deploy_name() {
-    name="$CI_ENVIRONMENT_SLUG"
-    track="${1-stable}"
-
-    if [[ "$track" != "stable" ]]; then
-      name="$name-$track"
-    fi
-
-    echo $name
-  }
-
-  function application_secret_name() {
-    track="${1-stable}"
-    name=$(deploy_name "$track")
-
-    echo "${name}-secret"
-  }
-
-
-  function deploy() {
-    track="${1-stable}"
-    percentage="${2:-100}"
-    name=$(deploy_name "$track")
-
-    replicas="1"
-    service_enabled="true"
-    postgres_enabled="$POSTGRES_ENABLED"
-
-    # if track is different than stable,
-    # re-use all attached resources
-    if [[ "$track" != "stable" ]]; then
-      service_enabled="false"
-      postgres_enabled="false"
-    fi
-
-    replicas=$(get_replicas "$track" "$percentage")
-
-    if [[ "$CI_PROJECT_VISIBILITY" != "public" ]]; then
-      secret_name='gitlab-registry'
-    else
-      secret_name=''
-    fi
-
-    create_application_secret "$track"
-
-    env_slug=$(echo ${CI_ENVIRONMENT_SLUG//-/_} | tr -s '[:lower:]' '[:upper:]')
-    eval env_ADDITIONAL_HOSTS=\$${env_slug}_ADDITIONAL_HOSTS
-    if [ -n "$env_ADDITIONAL_HOSTS" ]; then
-      additional_hosts="{$env_ADDITIONAL_HOSTS}"
-    elif [ -n "$ADDITIONAL_HOSTS" ]; then
-      additional_hosts="{$ADDITIONAL_HOSTS}"
-    fi
-
-    if [[ -n "$DB_INITIALIZE" && -z "$(helm ls -q "^$name$")" ]]; then
-      echo "Deploying first release with database initialization..."
-      helm upgrade --install \
-        --wait \
-        --set service.enabled="$service_enabled" \
-        --set releaseOverride="$CI_ENVIRONMENT_SLUG" \
-        --set image.repository="registry.gitlab.com/joshlambert/ruby-gke/master" \
-        --set image.tag="63492726c2264a0277141d6a6573c3d22ecd7de3" \
-        --set image.pullPolicy=IfNotPresent \
-        --set image.secrets[0].name="$secret_name" \
-        --set application.track="$track" \
-        --set application.database_url="$DATABASE_URL" \
-        --set application.secretName="$APPLICATION_SECRET_NAME" \
-        --set application.secretChecksum="$APPLICATION_SECRET_CHECKSUM" \
-        --set service.url="$CI_ENVIRONMENT_URL" \
-        --set service.additionalHosts="$additional_hosts" \
-        --set replicaCount="$replicas" \
-        --set postgresql.enabled="$postgres_enabled" \
-        --set postgresql.nameOverride="postgres" \
-        --set postgresql.postgresUser="$POSTGRES_USER" \
-        --set postgresql.postgresPassword="$POSTGRES_PASSWORD" \
-        --set postgresql.postgresDatabase="$POSTGRES_DB" \
-        --set application.initializeCommand="$DB_INITIALIZE" \
-        --set gitlab.app="$CI_PROJECT_PATH_SLUG" \
-        --set gitlab.env="$CI_ENVIRONMENT_SLUG" \
-        --namespace="$KUBE_NAMESPACE" \
-        "$name" \
-        chart/
-
-      echo "Deploying second release..."
-      helm upgrade --reuse-values \
-        --wait \
-        --set application.initializeCommand="" \
-        --set application.migrateCommand="$DB_MIGRATE" \
-        --namespace="$KUBE_NAMESPACE" \
-        "$name" \
-        chart/
-    else
-      echo "Deploying new release..."
-      helm upgrade --install \
-        --wait \
-        --set service.enabled="$service_enabled" \
-        --set releaseOverride="$CI_ENVIRONMENT_SLUG" \
-        --set image.repository="registry.gitlab.com/joshlambert/ruby-gke/master" \
-        --set image.tag="63492726c2264a0277141d6a6573c3d22ecd7de3" \
-        --set image.pullPolicy=IfNotPresent \
-        --set image.secrets[0].name="$secret_name" \
-        --set application.track="$track" \
-        --set application.database_url="$DATABASE_URL" \
-        --set application.secretName="$APPLICATION_SECRET_NAME" \
-        --set application.secretChecksum="$APPLICATION_SECRET_CHECKSUM" \
-        --set service.url="$CI_ENVIRONMENT_URL" \
-        --set service.additionalHosts="$additional_hosts" \
-        --set replicaCount="$replicas" \
-        --set postgresql.enabled="$postgres_enabled" \
-        --set postgresql.nameOverride="postgres" \
-        --set postgresql.postgresUser="$POSTGRES_USER" \
-        --set postgresql.postgresPassword="$POSTGRES_PASSWORD" \
-        --set postgresql.postgresDatabase="$POSTGRES_DB" \
-        --set application.migrateCommand="$DB_MIGRATE" \
-        --set gitlab.app="$CI_PROJECT_PATH_SLUG" \
-        --set gitlab.env="$CI_ENVIRONMENT_SLUG" \
-        --namespace="$KUBE_NAMESPACE" \
-        "$name" \
-        chart/
-    fi
-
-    kubectl rollout status -n "$KUBE_NAMESPACE" -w "deployment/$name"
-  }
-
-
-  function install_dependencies() {
-    apk add -U openssl curl tar gzip bash ca-certificates git
-    wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
-    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.23-r3/glibc-2.23-r3.apk
-    apk add glibc-2.23-r3.apk
-    rm glibc-2.23-r3.apk
-
-    curl "https://kubernetes-helm.storage.googleapis.com/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | tar zx
-    mv linux-amd64/helm /usr/bin/
-    mv linux-amd64/tiller /usr/bin/
-    helm version --client
-    tiller -version
-
-    curl -L -o /usr/bin/kubectl "https://storage.googleapis.com/kubernetes-release/release/v${KUBERNETES_VERSION}/bin/linux/amd64/kubectl"
-    chmod +x /usr/bin/kubectl
-    kubectl version --client
-  }
-
-  function download_chart() {
-    if [[ ! -d chart ]]; then
-      auto_chart=${AUTO_DEVOPS_CHART:-gitlab/auto-deploy-app}
-      auto_chart_name=$(basename $auto_chart)
-      auto_chart_name=${auto_chart_name%.tgz}
-    else
-      auto_chart="chart"
-      auto_chart_name="chart"
-    fi
-
-    helm init --client-only
-    helm repo add gitlab https://charts.gitlab.io
-    if [[ ! -d "$auto_chart" ]]; then
-      helm fetch ${auto_chart} --untar
-    fi
-    if [ "$auto_chart_name" != "chart" ]; then
-      mv ${auto_chart_name} chart
-    fi
-
-    helm dependency update chart/
-    helm dependency build chart/
-  }
-
-  function ensure_namespace() {
-    kubectl describe namespace "$KUBE_NAMESPACE" || kubectl create namespace "$KUBE_NAMESPACE"
-  }
-
-  function check_kube_domain() {
-    if [ -z ${AUTO_DEVOPS_DOMAIN+x} ]; then
-      echo "In order to deploy or use Review Apps, AUTO_DEVOPS_DOMAIN variable must be set"
-      echo "You can do it in Auto DevOps project settings or defining a secret variable at group or project level"
-      echo "You can also manually add it in .gitlab-ci.yml"
-      false
-    else
-      true
-    fi
-  }
-
-  function initialize_tiller() {
-    echo "Checking Tiller..."
-
-    export HELM_HOST="localhost:44134"
-    tiller -listen ${HELM_HOST} -alsologtostderr > /dev/null 2>&1 &
-    echo "Tiller is listening on ${HELM_HOST}"
-
-    if ! helm version --debug; then
-     echo "Failed to init Tiller."
-     return 1
-    fi
-    echo ""
-  }
-
-  function create_secret() {
-    echo "Create secret..."
-    if [[ "$CI_PROJECT_VISIBILITY" == "public" ]]; then
-      return
-    fi
-
-    kubectl create secret -n "$KUBE_NAMESPACE" \
-      docker-registry gitlab-registry \
-      --docker-server="$CI_REGISTRY" \
-      --docker-username="$CI_REGISTRY_USER" \
-      --docker-password="$CI_REGISTRY_PASSWORD" \
-      --docker-email="$GITLAB_USER_EMAIL" \
-      -o yaml --dry-run | kubectl replace -n "$KUBE_NAMESPACE" --force -f -
-  }
-
-  function persist_environment_url() {
-      echo $CI_ENVIRONMENT_URL > environment_url.txt
-  }
-
-before_script:
-  - *auto_devops
diff --git a/qa/qa/page/project/operations/metrics.rb b/qa/qa/page/project/operations/metrics.rb
deleted file mode 100644
index cf5578ef26b..00000000000
--- a/qa/qa/page/project/operations/metrics.rb
+++ /dev/null
@@ -1,87 +0,0 @@
-# frozen_string_literal: true
-
-module QA
-  module Page
-    module Project
-      module Operations
-        class Metrics < Page::Base
-          EXPECTED_TITLE = 'Memory Usage (Total)'
-          EXPECTED_LABEL = 'Total (GB)'
-          LOADING_MESSAGE = 'Waiting for performance data'
-
-          view 'app/assets/javascripts/monitoring/components/dashboard.vue' do
-            element :prometheus_graphs
-          end
-
-          view 'app/assets/javascripts/monitoring/components/charts/time_series.vue' do
-            element :prometheus_graph_widgets
-          end
-
-          view 'app/assets/javascripts/monitoring/components/panel_type.vue' do
-            element :prometheus_widgets_dropdown
-            element :alert_widget_menu_item
-          end
-
-          view 'ee/app/assets/javascripts/monitoring/components/alert_widget_form.vue' do
-            element :alert_query_dropdown
-            element :alert_query_option
-            element :alert_threshold_field
-          end
-
-          def wait_for_metrics
-            wait_for_data
-            return if has_metrics?
-
-            wait_until(max_duration: 180) do
-              wait_for_data
-              has_metrics?
-            end
-          end
-
-          def wait_for_data
-            wait_until(reload: false) { !has_text?(LOADING_MESSAGE) } if has_text?(LOADING_MESSAGE)
-          end
-
-          def has_metrics?
-            within_element :prometheus_graphs do
-              has_text?(EXPECTED_TITLE)
-            end
-          end
-
-          def wait_for_alert(operator = '>', threshold = 0)
-            wait_until(reload: false) { has_alert?(operator, threshold) }
-          end
-
-          def has_alert?(operator = '>', threshold = 0)
-            within_element :prometheus_graphs do
-              has_text?([EXPECTED_LABEL, operator, threshold].join(' '))
-            end
-          end
-
-          def write_first_alert(operator = '>', threshold = 0)
-            open_first_alert_modal
-            click_on operator
-            fill_element :alert_threshold_field, threshold
-
-            within('.modal-content') { click_button(class: 'btn-success') }
-          end
-
-          def delete_first_alert
-            open_first_alert_modal
-
-            within('.modal-content') { click_button(class: 'btn-danger') }
-            wait_for_requests
-          end
-
-          def open_first_alert_modal
-            all_elements(:prometheus_widgets_dropdown, minimum: 1).first.click
-            click_element :alert_widget_menu_item
-
-            click_element :alert_query_dropdown unless has_element?(:alert_query_option, wait: 3)
-            all_elements(:alert_query_option, minimum: 1).first.click
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/qa/qa/page/project/pipeline/index.rb b/qa/qa/page/project/pipeline/index.rb
index f018e4bf018..684ad4a59d5 100644
--- a/qa/qa/page/project/pipeline/index.rb
+++ b/qa/qa/page/project/pipeline/index.rb
@@ -9,7 +9,6 @@ module QA::Page
 
       view 'app/assets/javascripts/pipelines/components/pipelines_table_row.vue' do
         element :pipeline_commit_status
-        element :pipeline_retry_button
       end
 
       def click_on_latest_pipeline
@@ -19,25 +18,10 @@ module QA::Page
       end
 
       def wait_for_latest_pipeline_success
-        wait_for_latest_pipeline_status { has_text?('passed') }
-      end
-
-      def wait_for_latest_pipeline_completion
-        wait_for_latest_pipeline_status { has_text?('passed') || has_text?('failed') }
-      end
-
-      def wait_for_latest_pipeline_status
         wait_until(reload: false, max_duration: 300) do
-          within_element_by_index(:pipeline_commit_status, 0) { yield }
-        end
-      end
-
-      def wait_for_latest_pipeline_success_or_retry
-        wait_for_latest_pipeline_completion
-
-        if has_text?('failed')
-          click_element :pipeline_retry_button
-          wait_for_latest_pipeline_success
+          within_element_by_index(:pipeline_commit_status, 0) do
+            has_text?('passed')
+          end
         end
       end
     end
diff --git a/qa/qa/page/project/sub_menus/operations.rb b/qa/qa/page/project/sub_menus/operations.rb
index bcbc1dc16d3..d266cb21417 100644
--- a/qa/qa/page/project/sub_menus/operations.rb
+++ b/qa/qa/page/project/sub_menus/operations.rb
@@ -12,7 +12,6 @@ module QA
               view 'app/views/layouts/nav/sidebar/_project.html.haml' do
                 element :link_operations
                 element :operations_environments_link
-                element :operations_metrics_link
               end
             end
           end
@@ -25,14 +24,6 @@ module QA
             end
           end
 
-          def go_to_operations_metrics
-            hover_operations do
-              within_submenu do
-                click_element(:operations_metrics_link)
-              end
-            end
-          end
-
           def go_to_operations_kubernetes
             hover_operations do
               within_submenu do
diff --git a/qa/qa/specs/features/ee/browser_ui/8_monitor/health/alerting_spec.rb b/qa/qa/specs/features/ee/browser_ui/8_monitor/health/alerting_spec.rb
deleted file mode 100644
index 232d8898084..00000000000
--- a/qa/qa/specs/features/ee/browser_ui/8_monitor/health/alerting_spec.rb
+++ /dev/null
@@ -1,99 +0,0 @@
-# frozen_string_literal: true
-
-module QA
-  context 'Monitor' do
-    describe 'Alerts', :orchestrated, :kubernetes do
-      before do
-        @cluster = Service::KubernetesCluster.new.create!
-      end
-
-      after do
-        @cluster&.remove!
-      end
-
-      it 'allows configuration of alerts' do
-        Flow::Login.sign_in
-        project = create_project
-        create_kubernetes_cluster(project, @cluster)
-        push_repository(project)
-        wait_for_deployment
-
-        Page::Project::Operations::Metrics.perform do |metrics|
-          verify_metrics(metrics)
-          verify_add_alert(metrics)
-          verify_edit_alert(metrics)
-          verify_persist_alert(metrics)
-          verify_delete_alert(metrics)
-        end
-      end
-
-      private
-
-      def create_project
-        Resource::Project.fabricate_via_api! do |p|
-          p.name = 'alerts'
-          p.description = 'Project with alerting configured'
-        end
-      end
-
-      def create_kubernetes_cluster(project, cluster)
-        Resource::KubernetesCluster.fabricate_via_browser_ui! do |c|
-          c.project = project
-          c.cluster = cluster
-          c.install_helm_tiller = true
-          c.install_prometheus = true
-          c.install_runner = true
-        end
-      end
-
-      def push_repository(project)
-        Resource::Repository::ProjectPush.fabricate! do |push|
-          push.project = project
-          push.directory = Pathname
-            .new(__dir__)
-            .join('../../../../../../fixtures/monitored_auto_devops')
-          push.commit_message = 'Create Auto DevOps compatible gitlab-ci.yml'
-        end
-      end
-
-      def wait_for_deployment
-        Page::Project::Menu.perform(&:click_ci_cd_pipelines)
-        Page::Project::Pipeline::Index.perform(&:wait_for_latest_pipeline_success_or_retry)
-        Page::Project::Menu.perform(&:go_to_operations_metrics)
-      end
-
-      def verify_metrics(metrics)
-        metrics.wait_for_metrics
-
-        expect(metrics).to have_metrics
-        expect(metrics).not_to have_alert
-      end
-
-      def verify_add_alert(metrics)
-        metrics.write_first_alert('>', 0)
-
-        expect(metrics).to have_alert
-      end
-
-      def verify_edit_alert(metrics)
-        metrics.write_first_alert('<', 0)
-
-        expect(metrics).to have_alert('<')
-      end
-
-      def verify_persist_alert(metrics)
-        metrics.refresh
-        metrics.wait_for_metrics
-        metrics.wait_for_alert('<')
-
-        expect(metrics).to have_alert('<')
-      end
-
-      def verify_delete_alert(metrics)
-        metrics.delete_first_alert
-
-        expect(metrics).not_to have_alert('<')
-      end
-    end
-  end
-end
-- 
2.30.9