Skip to content

[Flake e2e (0)] Fail Forward Upgrades when a CSV resource is in a failed state [It] eventually reports a successful state when using skip ranges #3090

@tmshort

Description

@tmshort

Flaky Test Report

Failure Log Link
Failure Log

Relevant Failure Log

------------------------------
• [FAILED] [398.692 seconds]
Fail Forward Upgrades when a CSV resource is in a failed state [It] eventually reports a successful state when using skip ranges
/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/fail_forward_e2e_test.go:389

  Captured StdOut/StdErr Output >>
  waiting 103.714261ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - NO_CONNECTION
  waiting 1.705552809s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - IDLE
  waiting 203.34317ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - TRANSIENT_FAILURE
  waiting 594.885807ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - CONNECTING
  waiting 200.681952ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - TRANSIENT_FAILURE
  waiting 12.99946988s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - READY
  probing catalog mc-csv-failed-7h6c9 pod with address mc-csv-failed-7h6c9.fail-forward-e2e-w6cdz.svc:50051
  skipping health check
  waiting 103.496755ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - NO_CONNECTION
  waiting 2.26095134s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - IDLE
  waiting 1.188746873s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - CONNECTING
  waiting 18.594727433s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - TRANSIENT_FAILURE
  waiting 999.441847ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - READY
  probing catalog mc-csv-failed-7h6c9 pod with address mc-csv-failed-7h6c9.fail-forward-e2e-w6cdz.svc:50051
  skipping health check
  waiting 106.62133ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - NO_CONNECTION
  waiting 3.604420787s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - IDLE
  waiting 810.787389ms for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - CONNECTING
  waiting 18.387474948s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - TRANSIENT_FAILURE
  waiting 1.000335935s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - CONNECTING
  waiting 19.999753332s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - TRANSIENT_FAILURE
  waiting 1.646247834s for catalog pod fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9 to be available (for sync) - READY
  probing catalog mc-csv-failed-7h6c9 pod with address mc-csv-failed-7h6c9.fail-forward-e2e-w6cdz.svc:50051
  skipping health check
  Using the kubectl kubectl binary
  Using the artifacts/fail-forward-e2e-w6cdz output directory
  Storing the test artifact output in the artifacts/fail-forward-e2e-w6cdz directory
  Collecting get catalogsources -o yaml output...
  Collecting get subscriptions -o yaml output...
  Collecting get operatorgroups -o yaml output...
  Collecting get clusterserviceversions -o yaml output...
  Collecting get installplans -o yaml output...
  Collecting get pods -o wide output...
  Collecting get events --sort-by .lastTimestamp output...
  << Captured StdOut/StdErr Output

  Timeline >>
  STEP: creating the testing namespace with an OG that enabled fail forward behavior @ 11/06/23 13:55:52.872
  created the fail-forward-e2e-w6cdz testing namespace
  STEP: deploying the testing catalog @ 11/06/23 13:55:52.949
  Creating catalog source mc-csv-failed-7h6c9 in namespace fail-forward-e2e-w6cdz...
  Catalog source mc-csv-failed-7h6c9 created
  STEP: creating the testing subscription @ 11/06/23 13:56:08.797
  STEP: waiting until the subscription has an IP reference @ 11/06/23 13:56:08.805
  13:56:13.0237: subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub state: UpgradePending (csv example-operator.v0.1.0): installPlanRef: &v1.ObjectReference{Kind:"InstallPlan", Namespace:"fail-forward-e2e-w6cdz", Name:"install-gcpf4", UID:"e0a9e18b-3acd-4551-8b2c-a2fd84f44f8e", APIVersion:"operators.coreos.com/v1alpha1", ResourceVersion:"2373", FieldPath:""}
  waiting 4.21[780](https://github.com/operator-framework/operator-lifecycle-manager/actions/runs/6771572912/job/18402234628#step:5:781)5022s for subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub to have installplan ref: has ref &v1.ObjectReference{Kind:"InstallPlan", Namespace:"fail-forward-e2e-w6cdz", Name:"install-gcpf4", UID:"e0a9e18b-3acd-4551-8b2c-a2fd84f44f8e", APIVersion:"operators.coreos.com/v1alpha1", ResourceVersion:"2373", FieldPath:""}
  STEP: waiting for the v0.1.0 CSV to report a succeeded phase @ 11/06/23 13:56:13.023
  waiting for CSV fail-forward-e2e-w6cdz/example-operator.v0.1.0 to reach condition
  waited 196.299543ms for csv fail-forward-e2e-w6cdz/example-operator.v0.1.0 - Installing (InstallSucceeded): waiting for install components to report healthy
  waited 196.310643ms for CSV fail-forward-e2e-w6cdz/example-operator.v0.1.0: to be in phases [Succeeded], in phase Installing (InstallSucceeded): waiting for install components to report healthy
  waited 189.081397ms for csv fail-forward-e2e-w6cdz/example-operator.v0.1.0 - Installing (InstallWaiting): installing: waiting for deployment example-operator-controller-manager to become ready: waiting for spec update of deployment "example-operator-controller-manager" to be observed...
  waited 189.085397ms for CSV fail-forward-e2e-w6cdz/example-operator.v0.1.0: to be in phases [Succeeded], in phase Installing (InstallWaiting): installing: waiting for deployment example-operator-controller-manager to become ready: waiting for spec update of deployment "example-operator-controller-manager" to be observed...
  waited 189.807402ms for csv fail-forward-e2e-w6cdz/example-operator.v0.1.0 - Installing (InstallWaiting): installing: waiting for deployment example-operator-controller-manager to become ready: deployment "example-operator-controller-manager" not available: Deployment does not have minimum availability.
  waited 189.812302ms for CSV fail-forward-e2e-w6cdz/example-operator.v0.1.0: to be in phases [Succeeded], in phase Installing (InstallWaiting): installing: waiting for deployment example-operator-controller-manager to become ready: deployment "example-operator-controller-manager" not available: Deployment does not have minimum availability.
  waited 1.598454321s for csv fail-forward-e2e-w6cdz/example-operator.v0.1.0 - Succeeded (InstallSucceeded): install strategy completed with no errors
  waited 1.598455722s for CSV fail-forward-e2e-w6cdz/example-operator.v0.1.0: to be in phases [Succeeded], in phase Succeeded (InstallSucceeded): install strategy completed with no errors
  STEP: updating the catalog with a broken v0.2.0 csv @ 11/06/23 13:56:15.197
  STEP: removing the existing catalog source @ 11/06/23 13:56:15.197
  STEP: removing the previous catalog source pod(s) @ 11/06/23 13:56:15.399
  waiting for the catalog source mc-csv-failed-7h6c9-z2w6v pod to be deleted...
  STEP: updating the catalog with a new bundle images @ 11/06/23 13:56:16.421
  Creating catalog source mc-csv-failed-7h6c9 in namespace fail-forward-e2e-w6cdz...
  Catalog source mc-csv-failed-7h6c9 created
  STEP: verifying the subscription has installed the current csv @ 11/06/23 13:56:39.597
  13:56:39.7981: subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub state: AtLatestKnown (csv example-operator.v0.1.0): installPlanRef: &v1.ObjectReference{Kind:"InstallPlan", Namespace:"fail-forward-e2e-w6cdz", Name:"install-gcpf4", UID:"e0a9e18b-3acd-4551-8b2c-a2fd84f44f8e", APIVersion:"operators.coreos.com/v1alpha1", ResourceVersion:"2373", FieldPath:""}
  13:56:40.7982: subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub state: UpgradePending (csv example-operator.v0.2.0): installPlanRef: &v1.ObjectReference{Kind:"InstallPlan", Namespace:"fail-forward-e2e-w6cdz", Name:"install-jx7xj", UID:"ae2c98d5-214a-4697-8fc0-2c3be4758933", APIVersion:"operators.coreos.com/v1alpha1", ResourceVersion:"2590", FieldPath:""}
  STEP: waiting for the bad CSV to report a failed state @ 11/06/23 13:56:40.798
  waiting for CSV fail-forward-e2e-w6cdz/example-operator.v0.2.0 to reach condition
  waited 208.0[791](https://github.com/operator-framework/operator-lifecycle-manager/actions/runs/6771572912/job/18402234628#step:5:792)72ms for csv fail-forward-e2e-w6cdz/example-operator.v0.2.0 - Failed (InstallComponentFailed): install strategy failed: Deployment.apps "example-operator-controller-manager&invalid" is invalid: metadata.name: Invalid value: "example-operator-controller-manager&invalid": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
  waited 8m43.288344407s for CSV fail-forward-e2e-w6cdz/example-operator.v0.2.0: to be in phases [Failed], in phase Failed (InstallComponentFailed): install strategy failed: Deployment.apps "example-operator-controller-manager&invalid" is invalid: metadata.name: Invalid value: "example-operator-controller-manager&invalid": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
  STEP: patching the catalog with a fixed version @ 11/06/23 13:56:41.006
  STEP: removing the existing catalog source @ 11/06/23 13:56:41.006
  STEP: removing the previous catalog source pod(s) @ 11/06/23 13:56:41.21
  waiting for the catalog source mc-csv-failed-7h6c9-rdgd7 pod to be deleted...
  STEP: updating the catalog with a new bundle images @ 11/06/23 13:56:42.271
  Creating catalog source mc-csv-failed-7h6c9 in namespace fail-forward-e2e-w6cdz...
  Catalog source mc-csv-failed-7h6c9 created
  STEP: waiting for the subscription to have the example-operator.v0.3.0 status.currentCSV @ 11/06/23 13:57:27.845
  13:57:28.046: subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub state: AtLatestKnown (csv example-operator.v0.2.0): installPlanRef: &v1.ObjectReference{Kind:"InstallPlan", Namespace:"fail-forward-e2e-w6cdz", Name:"install-jx7xj", UID:"ae2c98d5-214a-4697-8fc0-2c3be4758933", APIVersion:"operators.coreos.com/v1alpha1", ResourceVersion:"2590", FieldPath:""}
  14:02:28.1992: subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub never got correct status: v1alpha1.SubscriptionStatus{CurrentCSV:"example-operator.v0.2.0", InstalledCSV:"example-operator.v0.2.0", Install:(*v1alpha1.InstallPlanReference)(0xc000033700), State:"AtLatestKnown", Reason:"", InstallPlanGeneration:2, InstallPlanRef:(*v1.ObjectReference)(0xc000913730), CatalogHealth:[]v1alpha1.SubscriptionCatalogHealth{v1alpha1.SubscriptionCatalogHealth{CatalogSourceRef:(*v1.ObjectReference)(0xc000913650), LastUpdated:time.Date(2023, time.November, 6, 13, 56, 44, 0, time.Local), Healthy:true}, v1alpha1.SubscriptionCatalogHealth{CatalogSourceRef:(*v1.ObjectReference)(0xc0009136c0), LastUpdated:time.Date(2023, time.November, 6, 13, 56, 44, 0, time.Local), Healthy:true}}, Conditions:[]v1alpha1.SubscriptionCondition{v1alpha1.SubscriptionCondition{Type:"CatalogSourcesUnhealthy", Status:"False", Reason:"AllCatalogSourcesHealthy", Message:"all available catalogsources are healthy", LastHeartbeatTime:<nil>, LastTransitionTime:time.Date(2023, time.November, 6, 13, 56, 44, 0, time.Local)}, v1alpha1.SubscriptionCondition{Type:"BundleUnpacking", Status:"False", Reason:"", Message:"", LastHeartbeatTime:<nil>, LastTransitionTime:<nil>}, v1alpha1.SubscriptionCondition{Type:"ResolutionFailed", Status:"True", Reason:"ConstraintsNotSatisfiable", Message:"constraints not satisfiable: clusterserviceversion example-operator.v0.1.0 exists and is not referenced by a subscription, @existing/fail-forward-e2e-w6cdz//example-operator.v0.2.0, @existing/fail-forward-e2e-w6cdz//example-operator.v0.1.0 and mc-csv-failed-7h6c9/fail-forward-e2e-w6cdz/stable/example-operator.v0.3.0 originate from package packageA, subscription mc-csv-failed-7h6c9-sub exists, subscription mc-csv-failed-7h6c9-sub requires at least one of mc-csv-failed-7h6c9/fail-forward-e2e-w6cdz/stable/example-operator.v0.3.0 or @existing/fail-forward-e2e-w6cdz//example-operator.v0.2.0", LastHeartbeatTime:<nil>, LastTransitionTime:<nil>}}, LastUpdated:time.Date(2023, time.November, 6, 13, 57, 27, 0, time.Local)}
  14:02:28.1993: subscription fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub spec: &v1alpha1.SubscriptionSpec{CatalogSource:"mc-csv-failed-7h6c9", CatalogSourceNamespace:"fail-forward-e2e-w6cdz", Package:"packageA", Channel:"stable", StartingCSV:"", InstallPlanApproval:"", Config:(*v1alpha1.SubscriptionConfig)(nil)}
  [FAILED] in [It] - /home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/fail_forward_e2e_test.go:399 @ 11/06/23 14:02:28.204
  STEP: removing the testing catalog resources @ 11/06/23 14:02:28.204
  Deleting config map mc-csv-failed-7h6c9-configmap...
  Deleting catalog source mc-csv-failed-7h6c9...
  waiting for the catalog source mc-csv-failed-7h6c9-7mnhz pod to be deleted...
  Deleting config map mc-csv-failed-7h6c9-configmap...
  Deleting catalog source mc-csv-failed-7h6c9...
  Deleting config map mc-csv-failed-7h6c9-configmap...
  Deleting catalog source mc-csv-failed-7h6c9...
  STEP: deleting the testing namespace @ 11/06/23 14:02:29.488
  collecting the fail-forward-e2e-w6cdz namespace artifacts as the 'eventually reports a successful state when using skip ranges' test case failed
  collecting logs in the ./artifacts/ artifacts directory
  tearing down the fail-forward-e2e-w6cdz namespace
  resetting e2e kube client
  deleting fail-forward-e2e-w6cdz/mc-csv-failed-7h6c9-sub
  deleting fail-forward-e2e-w6cdz/fail-forward-e2e-w6cdz-operatorgroup
  deleting <global>/fail-forward-e2e-w6cdz
  garbage collecting CRDs
  << Timeline

  [FAILED] Expected
      <wait.errInterrupted>: 
      timed out waiting for the condition
      {
          cause: <*errors.errorString | 0xc0001ae110>{
              s: "timed out waiting for the condition",
          },
      }
  to be nil
  In [It] at: /home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/fail_forward_e2e_test.go:399 @ 11/06/23 14:02:28.204

  Full Stack Trace
    github.com/operator-framework/operator-lifecycle-manager/test/e2e.glob..func14.4.3()
    	/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/fail_forward_e2e_test.go:399 +0x2a3
------------------------------

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/flakeCategorizes issue or PR as related to a flaky test.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions