Skip to content

Conversation

@alebedev87
Copy link
Contributor

@alebedev87 alebedev87 commented Jul 29, 2025

This PR introduces initial upgrade logic for the OSSM Operator.

The implemented logic supports automatic approval of the next install plan from the upgrade graph, progressing sequentially toward the desired version. If the next available install plan version is semantically greater than the desired version, the upgrade stops.

Status handling updates

  • The Progressing condition is set to True during an upgrade (i.e., when the installed version does not match the desired version), and remains so until the desired version is successfully installed.
  • The Degraded condition is set to True if any install plan in the upgrade path fails.

Notes

  • This PR does not include any logic for upgrading Istio CR. A temporary safeguard is already in place: the Istio CRD contains a list of supported OSSM versions. Therefore, until the desired OSSM version is installed, any Istio update will fail due to the CRD validation.

Manual test

$ oc get co ingress -w
NAME      VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      24m
# GatewayClass creation: 3.0.0 version is hard coded
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0"
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.0")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
# 3.0.0 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      25m
# Desired OSSM version changed to 3.0.2
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.2")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.2")
# 3.0.2 installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      26m
# Desired OSSM version changed to 3.0.3
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.3")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.3",next:"servicemeshoperator3.v3.0.3")
# 3.0.3 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      27m 

Result:

$ oc -n openshift-operators get csv
NAME                          DISPLAY                            VERSION   REPLACES                      PHASE
servicemeshoperator3.v3.0.3   Red Hat OpenShift Service Mesh 3   3.0.3     servicemeshoperator3.v3.0.2   Succeeded
$ oc -n openshift-operators get pods
NAME                                     READY   STATUS    RESTARTS   AGE
servicemesh-operator3-6d89d477dc-k4q99   1/1     Running   0          59s

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 29, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jul 29, 2025

@alebedev87: This pull request references NE-2097 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 29, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 29, 2025
@alebedev87
Copy link
Contributor Author

/test all

@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 0ede81e to 5804199 Compare July 29, 2025 22:48
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jul 29, 2025

@alebedev87: This pull request references NE-2097 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

In response to this:

Test of the upgrade logic and progressing status:

$ oc get co ingress -w
NAME      VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      24m
# GatewayClass creation: 3.0.0 version is hard coded
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0"
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.0")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
# 3.0.0 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      25m
# Desired OSSM version changed to 3.0.2
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.2")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.2")
# 3.0.2 installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      26m
# Desired OSSM version changed to 3.0.3
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.3")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.3",next:"servicemeshoperator3.v3.0.3")
# 3.0.3 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      27m 

Result:

$ oc -n openshift-operators get csv
NAME                          DISPLAY                            VERSION   REPLACES                      PHASE
servicemeshoperator3.v3.0.3   Red Hat OpenShift Service Mesh 3   3.0.3     servicemeshoperator3.v3.0.2   Succeeded
12:57:48 alebedev@alebedev-thinkpadp16vgen1:cio$ oc -n openshift-operators get pods
NAME                                     READY   STATUS    RESTARTS   AGE
servicemesh-operator3-6d89d477dc-k4q99   1/1     Running   0          59s

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Comment on lines +781 to +922
// Note that the progressing state remains "true" if the desired version is
// beyond the latest available in the upgrade graph.
// There is no reliable way of knowing that the end of the upgrade graph
// is reached and no next version is available. None of OLM resources
// can provide such information.
progressing = true
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joelanford : If you can help me here. I'm having hard times trying to find the right way to programmatically determine whether the OLM operator I manage reached its final version available in the upgrade graph. This PR modifies the logic of the cluster ingress operator to approve every next installplan (subscription.status.currentCSV) which is created by OLM until the desired version is reached. Before it was not possible to do upgrades to version greater than N+1. The desired version is coming from the code and is recorded in subscription.spec.startingCSV.
I didn't find any status in OLM's Subscription, InstallPlan or ClusterServiceVersion which would point me to the fact that there are no more versions in the upgrade graph. I tried many variants with the subscription's current, installed versions and CSV statuses. The problem is that the situation when the latest version is installed is not different from when any intermediate CSV is installed. For example, when the cluster ingress operator wants the OSSM operator (==managed one) to be in version v3.0.5 while the latest available is v3.0.3 and the currently installed is v3.0.0 the upgrade flow ends in this state: Desired: v3.0.5, Installed: v3.0.3, Current: v3.0.3, InstalledCVS: Succeeded. Which is not different from the state when an intermediate v3.0.1 is installed: Desired: v3.0.5, Installed: v3.0.1, Current: v3.0.1, InstalledCVS: Succeeded.
I start to think that this may be impossible and we should make sure we never set the desired version which doesn't exist.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is atLatestVersion := sub.Status.InstalledCSV == sub.Status.CurrentCSV

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Problem is that, depending on the upgrade graph, you may skip right past your desired version with no way of installing it other than uninstalling and reinstalling using startingCSV.

Copy link
Contributor Author

@alebedev87 alebedev87 Aug 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Problem is that, depending on the upgrade graph, you may skip right past your desired version with no way of installing it other than uninstalling and reinstalling using startingCSV.

Addressed in 31eeb0d.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jul 29, 2025

@alebedev87: This pull request references NE-2097 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

In response to this:

Test of the upgrade logic and the progressing status:

$ oc get co ingress -w
NAME      VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      24m
# GatewayClass creation: 3.0.0 version is hard coded
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0"
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.0")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
# 3.0.0 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      25m
# Desired OSSM version changed to 3.0.2
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.2")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.2")
# 3.0.2 installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      26m
# Desired OSSM version changed to 3.0.3
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.3")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.3",next:"servicemeshoperator3.v3.0.3")
# 3.0.3 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      27m 

Result:

$ oc -n openshift-operators get csv
NAME                          DISPLAY                            VERSION   REPLACES                      PHASE
servicemeshoperator3.v3.0.3   Red Hat OpenShift Service Mesh 3   3.0.3     servicemeshoperator3.v3.0.2   Succeeded
12:57:48 alebedev@alebedev-thinkpadp16vgen1:cio$ oc -n openshift-operators get pods
NAME                                     READY   STATUS    RESTARTS   AGE
servicemesh-operator3-6d89d477dc-k4q99   1/1     Running   0          59s

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@alebedev87
Copy link
Contributor Author

/test all

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jul 30, 2025

@alebedev87: This pull request references NE-2097 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

In response to this:

Test of the upgrade logic and the progressing status:

$ oc get co ingress -w
NAME      VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      24m
# GatewayClass creation: 3.0.0 version is hard coded
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0"
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.0")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
# 3.0.0 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      25m
# Desired OSSM version changed to 3.0.2
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.2")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.2")
# 3.0.2 installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      26m
# Desired OSSM version changed to 3.0.3
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.3")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.3",next:"servicemeshoperator3.v3.0.3")
# 3.0.3 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      27m 

Result:

$ oc -n openshift-operators get csv
NAME                          DISPLAY                            VERSION   REPLACES                      PHASE
servicemeshoperator3.v3.0.3   Red Hat OpenShift Service Mesh 3   3.0.3     servicemeshoperator3.v3.0.2   Succeeded
$ oc -n openshift-operators get pods
NAME                                     READY   STATUS    RESTARTS   AGE
servicemesh-operator3-6d89d477dc-k4q99   1/1     Running   0          59s

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 1, 2025
@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 922b728 to 35e6699 Compare August 1, 2025 14:58
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 1, 2025
@alebedev87
Copy link
Contributor Author

/test all

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 3, 2025
@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 35e6699 to 8bb6826 Compare August 5, 2025 10:38
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 5, 2025
@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 8bb6826 to eb88926 Compare August 7, 2025 20:47
@alebedev87 alebedev87 marked this pull request as ready for review August 7, 2025 20:48
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 7, 2025
@openshift-ci openshift-ci bot requested review from candita and frobware August 7, 2025 20:49
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Aug 7, 2025

@alebedev87: This pull request references NE-2097 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

In response to this:

This PR introduces initial upgrade logic for the OSSM Operator.

The implemented logic supports automatic approval of the next install plan from the upgrade graph, progressing sequentially toward the desired version. If the next available install plan version is semantically greater than the desired version, the upgrade stops.

Status handling updates

  • The Progressing condition is set to True during an upgrade (i.e., when the installed version does not match the desired version), and remains so until the desired version is successfully installed.
  • The Degraded condition is set to True if any install plan in the upgrade path fails.

Notes

  • The new e2e test is not added to the common AllTests suite. Instead, it will be run in a dedicated CI job to avoid conflicts with existing Gateway API e2e tests, which install the latest supported OSSM Operator version.
  • This PR does not include any logic for upgrading Istio CR. A temporary safeguard is already in place: the Istio CRD contains a list of supported OSSM versions. Therefore, until the desired OSSM version is installed, any Istio update will fail due to the CRD validation.

Manual test

$ oc get co ingress -w
NAME      VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      24m
# GatewayClass creation: 3.0.0 version is hard coded
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0"
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.0")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
# 3.0.0 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      25m
# Desired OSSM version changed to 3.0.2
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.2")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.2")
# 3.0.2 installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      26m
# Desired OSSM version changed to 3.0.3
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.3")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.3",next:"servicemeshoperator3.v3.0.3")
# 3.0.3 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      27m 

Result:

$ oc -n openshift-operators get csv
NAME                          DISPLAY                            VERSION   REPLACES                      PHASE
servicemeshoperator3.v3.0.3   Red Hat OpenShift Service Mesh 3   3.0.3     servicemeshoperator3.v3.0.2   Succeeded
$ oc -n openshift-operators get pods
NAME                                     READY   STATUS    RESTARTS   AGE
servicemesh-operator3-6d89d477dc-k4q99   1/1     Running   0          59s

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from eb88926 to b0bfd36 Compare August 7, 2025 21:19
@alebedev87
Copy link
Contributor Author

Manual run of the e2e test:

$ TEST=TestOSSMOperatorUpgradeViaIntermediateVersions make test-e2e
go generate ./pkg/manifests
CGO_ENABLED=1 GO111MODULE=on GOFLAGS=-mod=vendor go test -timeout 1.5h -count 1 -v -tags e2e -run "TestOSSMOperatorUpgradeViaIntermediateVersions" ./test/e2e
=== RUN   TestOSSMOperatorUpgradeViaIntermediateVersions
    gateway_api_upgrade_test.go:46: Creating GatewayClass with OSSMversion "servicemeshoperator3.v3.0.0" ans Istio version "v1.24.3"...
    gateway_api_upgrade_test.go:55: Checking for the Subscription...
    util_gatewayapi_test.go:447: found subscription servicemeshoperator3 at installed version 
    gateway_api_upgrade_test.go:59: Checking for the CatalogSource...
    util_gatewayapi_test.go:960: Found CatalogSource redhat-operators with last observed state: READY
    gateway_api_upgrade_test.go:63: Checking for the OSSM operator deployment...
    util_gatewayapi_test.go:515: failed to get deployment openshift-operators/servicemesh-operator3, retrying...
    util_gatewayapi_test.go:515: failed to get deployment openshift-operators/servicemesh-operator3, retrying...
    util_gatewayapi_test.go:515: failed to get deployment openshift-operators/servicemesh-operator3, retrying...
    util_gatewayapi_test.go:515: failed to get deployment openshift-operators/servicemesh-operator3, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:529: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have 1 available replica(s) but got 0, retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.0.0"
    util_gatewayapi_test.go:532: found OSSM operator deployment "openshift-operators/servicemesh-operator3" with 1 available replica(s)
    gateway_api_upgrade_test.go:67: Checking for the Istio CR...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.24.3"
    util_gatewayapi_test.go:997: Found Istio /openshift-gateway, and it reports ready
    gateway_api_upgrade_test.go:71: Checking for the GatewayClass readiness...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    util_gatewayapi_test.go:599: Found gatewayclass openshift-default, but it is not yet accepted; retrying...
    gateway_api_upgrade_test.go:72: Observed that gatewayclass openshift-default has been accepted: {Conditions:[{Type:Accepted Status:True ObservedGeneration:1 LastTransitionTime:2025-08-12 17:17:15 +0200 CEST Reason:Accepted Message:Handled by Istio controller}] SupportedFeatures:[]}
    gateway_api_upgrade_test.go:77: Upgrading GatewayClass to version "servicemeshoperator3.v3.1.0" and Istio version "v1.26.2"...
    gateway_api_upgrade_test.go:92: GatewayClass "openshift-default" has been updated to version "servicemeshoperator3.v3.1.0"
    gateway_api_upgrade_test.go:97: Checking for the status...
    gateway_api_upgrade_test.go:113: Checking for the OSSM operator deployment...
    util_gatewayapi_test.go:523: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have version "servicemeshoperator3.v3.1.0" but got "servicemeshoperator3.v3.0.0", retrying...
    util_gatewayapi_test.go:523: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have version "servicemeshoperator3.v3.1.0" but got "servicemeshoperator3.v3.0.0", retrying...
    util_gatewayapi_test.go:523: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have version "servicemeshoperator3.v3.1.0" but got "servicemeshoperator3.v3.0.0", retrying...
    util_gatewayapi_test.go:523: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have version "servicemeshoperator3.v3.1.0" but got "servicemeshoperator3.v3.0.0", retrying...
    util_gatewayapi_test.go:523: OSSM deployment "openshift-operators/servicemesh-operator3" expected to have version "servicemeshoperator3.v3.1.0" but got "servicemeshoperator3.v3.0.0", retrying...
    util_gatewayapi_test.go:521: Found OSSM deployment "openshift-operators/servicemesh-operator3" with expected version "servicemeshoperator3.v3.1.0"
    util_gatewayapi_test.go:532: found OSSM operator deployment "openshift-operators/servicemesh-operator3" with 1 available replica(s)
    gateway_api_upgrade_test.go:117: Re-checking for the status...
    gateway_api_upgrade_test.go:133: Checking for the GatewayClass readiness...
    gateway_api_upgrade_test.go:134: Observed that gatewayclass openshift-default has been accepted: {Conditions:[{Type:Accepted Status:True ObservedGeneration:1 LastTransitionTime:2025-08-12 17:17:15 +0200 CEST Reason:Accepted Message:Handled by Istio controller}] SupportedFeatures:[]}
    gateway_api_upgrade_test.go:137: Checking for the Istio CR...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:1000: Found Istio /openshift-gateway, but it isn't ready.  Retrying...
    util_gatewayapi_test.go:990: Found Istio /openshift-gateway with expected version "v1.26.2"
    util_gatewayapi_test.go:997: Found Istio /openshift-gateway, and it reports ready
--- PASS: TestOSSMOperatorUpgradeViaIntermediateVersions (121.20s)
PASS
ok  	github.com/openshift/cluster-ingress-operator/test/e2e	122.623s

@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch 2 times, most recently from 3d079e1 to a7fa4c5 Compare August 13, 2025 14:15
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Aug 13, 2025

@alebedev87: This pull request references NE-2097 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

In response to this:

This PR introduces initial upgrade logic for the OSSM Operator.

The implemented logic supports automatic approval of the next install plan from the upgrade graph, progressing sequentially toward the desired version. If the next available install plan version is semantically greater than the desired version, the upgrade stops.

Status handling updates

  • The Progressing condition is set to True during an upgrade (i.e., when the installed version does not match the desired version), and remains so until the desired version is successfully installed.
  • The Degraded condition is set to True if any install plan in the upgrade path fails.

Notes

  • This PR does not include any logic for upgrading Istio CR. A temporary safeguard is already in place: the Istio CRD contains a list of supported OSSM versions. Therefore, until the desired OSSM version is installed, any Istio update will fail due to the CRD validation.

Manual test

$ oc get co ingress -w
NAME      VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      24m
# GatewayClass creation: 3.0.0 version is hard coded
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0"
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.0")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      24m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.0" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
# 3.0.0 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      25m
# Desired OSSM version changed to 3.0.2
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.0",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.1")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.1",next:"servicemeshoperator3.v3.0.2")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      25m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.2" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.2")
# 3.0.2 installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      26m
# Desired OSSM version changed to 3.0.3
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.2",next:"servicemeshoperator3.v3.0.3")
ingress   4.19.0-0.nightly-2025-07-29-065329   True        True          False      26m     OSSM operator is upgrading to version "servicemeshoperator3.v3.0.3" (installed(-ing):"servicemeshoperator3.v3.0.3",next:"servicemeshoperator3.v3.0.3")
# 3.0.3 is installed
ingress   4.19.0-0.nightly-2025-07-29-065329   True        False         False      27m 

Result:

$ oc -n openshift-operators get csv
NAME                          DISPLAY                            VERSION   REPLACES                      PHASE
servicemeshoperator3.v3.0.3   Red Hat OpenShift Service Mesh 3   3.0.3     servicemeshoperator3.v3.0.2   Succeeded
$ oc -n openshift-operators get pods
NAME                                     READY   STATUS    RESTARTS   AGE
servicemesh-operator3-6d89d477dc-k4q99   1/1     Running   0          59s

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@candita
Copy link
Contributor

candita commented Aug 13, 2025

/assign @Miciah
/assign @rfredette

@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 255163d to 0b5020f Compare September 4, 2025 07:32
@alebedev87
Copy link
Contributor Author

alebedev87 commented Sep 4, 2025

Increased the timeout to 2 minutes for assertSubscription to accommodate increased polling time. Made the new e2e run last in the serial suite.

@alebedev87
Copy link
Contributor Author

/retest

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 4, 2025
…ps upgrade graph

The implemented logic supports automatic approval of the next install plan
from the upgrade graph, progressing sequentially toward the desired version.
If the next available install plan version is semantically greater than
the desired version, the upgrade stops.
This commit introduces a sematic version check for the CSV of next
installplan. If the next installplan has a version which is sematically
past the desired it's not considered for the upgrade.
… helpers

This commit introduces the `assertOSSMOperatorWithConfig` helper function,
which extends the existing `assertOSSMOperator` by allowing parameterization
of polling interval, timeout, and expected OSSM version (new check).

Also, this commit adds the `assertIstioWithConfig` helper function,
which extends the existing `assertIstio` by allowing parameterization of
the expected Istio version (new check).
The `TestOSSMOperatorUpgradeViaIntermediateVersions` test verifies that the OSSM operator
correctly upgrades through intermediate versions. It ensures the upgrade logic automatically
approves each InstallPlan along the upgrade graph until the desired version is reached.

This test is not added to the suite of all tests because it will be run
in a dedicated CI job to avoid conflicts with existing GatewayAPI jobs
which install the latest supported version of OSSM operator and Istio.
This commit introduces helper functions to clean up Gateway, GatewayClass,
and OLM operator after e2e tests. These functions are integrated into
the GatewayAPI and GatewayAPI upgrade tests to prevent conflicts
and ensure a clean environment for subsequent runs.
CCM leader election can take several minutes, delaying LB provisioning.
In some clusters, leader election has been observed to take up to 8m.
To accommodate this, increase the timeout for `assertGatewaySuccessful` to 10m.
By OLM design, a subscription cannot be installed unless all catalog
sources are healthy, regardless of which catalog source the subscription
uses. This commit updates the `assertSubscription` helper to verify
catalog source health as part of its checks.

The timeout was increased to 2 minutes to accommodate the additional
polling time.
@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 0b5020f to d322094 Compare September 5, 2025 09:21
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 5, 2025
@alebedev87
Copy link
Contributor Author

Manual test of TestOSSMOperatorUpgradeViaIntermediateVersions didn't show any problems, it works alone (5 times in a row) and works after TestGatewayAPI. To be continued...

@alebedev87
Copy link
Contributor Author

/test e2e-gcp-operator

@rfredette
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Sep 16, 2025
Use assertInstallPlan helper function get more insights
about failed install plans for the upgrade e2e test.
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 12, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 12, 2025

New changes are detected. LGTM label has been removed.

@alebedev87
Copy link
Contributor Author

Added assertInstallPlan helper to dig into installation failures.

@alebedev87
Copy link
Contributor Author

/retest

@alebedev87 alebedev87 force-pushed the gwapi-upgrade-ossm-next-ip branch from 8b877cb to 1006dbe Compare November 13, 2025 14:03
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 13, 2025

@alebedev87: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-single-node d322094 link false /test e2e-aws-ovn-single-node
ci/prow/e2e-aws-ovn-serial d322094 link true /test e2e-aws-ovn-serial
ci/prow/e2e-gcp-operator 1006dbe link true /test e2e-gcp-operator
ci/prow/hypershift-e2e-aks 1006dbe link true /test hypershift-e2e-aks
ci/prow/e2e-azure-operator 1006dbe link true /test e2e-azure-operator

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@alebedev87
Copy link
Contributor Author

GCP job failure:

 util_gatewayapi_test.go:745: failed to get deployment openshift-operators/servicemesh-operator3, retrying...
    util_gatewayapi_test.go:723: Found cluster service version "servicemeshoperator3.v3.0.0":
        phase: Pending
        message: one or more requirements couldn't be found
        reason: RequirementsNotMet
        lastupdatetime: "2025-11-13T16:09:39Z"
        lasttransitiontime: "2025-11-13T16:09:38Z"
        . . .
        - group: ""
          version: v1
          kind: ServiceAccount
          name: servicemesh-operator3
          status: NotPresent
          message: Service account does not exist
          uuid: ""
          dependents: []

The service account was removed by the cleanup of the previous gatewayAPI test:

=== NAME  TestAll/serial/TestGatewayAPI
    gateway_api_test.go:86: Cleaning Gateway, GatewayClass and OSSM operator...
    gateway_api_test.go:87: Deleted gateway "openshift-ingress/test-gateway"
    gateway_api_test.go:87: Deleted deployment "openshift-ingress/test-gateway-openshift-default"
    gateway_api_test.go:90: Deleted gatewayclass "openshift-default"
    gateway_api_test.go:90: Deleted deployment "openshift-ingress/istiod-openshift-default"
    util_gatewayapi_test.go:276: Deleted operator component "rbac.authorization.k8s.io/v1/ClusterRole//servicemeshoperator3.v3.-6QgItG1Dfb6pQvhQ6qYvXsEYDfT5RdBfb1RPzl"
    util_gatewayapi_test.go:276: Deleted operator component "rbac.authorization.k8s.io/v1/ClusterRole//servicemeshoperator3.v3.1-li4kRPh6QxEeWqyDFVpmbF3QNV3Zl0JDeNoxu"
    util_gatewayapi_test.go:276: Deleted operator component "rbac.authorization.k8s.io/v1/ClusterRoleBinding//servicemeshoperator3.v3.-6QgItG1Dfb6pQvhQ6qYvXsEYDfT5RdBfb1RPzl"
    util_gatewayapi_test.go:276: Deleted operator component "rbac.authorization.k8s.io/v1/ClusterRoleBinding//servicemeshoperator3.v3.1-li4kRPh6QxEeWqyDFVpmbF3QNV3Zl0JDeNoxu"
    util_gatewayapi_test.go:276: Deleted operator component "operators.coreos.com/v1alpha1/ClusterServiceVersion/openshift-operators/servicemeshoperator3.v3.1.0"
    util_gatewayapi_test.go:276: Deleted operator component "apps/v1/Deployment/openshift-operators/servicemesh-operator3"
    util_gatewayapi_test.go:276: Deleted operator component "operators.coreos.com/v2/OperatorCondition/openshift-operators/servicemeshoperator3.v3.1.0"
    util_gatewayapi_test.go:276: Deleted operator component "rbac.authorization.k8s.io/v1/Role/openshift-operators/servicemeshoperator3.v3.1-li4kRPh6QxEeWqyDFVpmbF3QNV3Zl0JDeNoxu"
    util_gatewayapi_test.go:276: Deleted operator component "rbac.authorization.k8s.io/v1/RoleBinding/openshift-operators/servicemeshoperator3.v3.1-li4kRPh6QxEeWqyDFVpmbF3QNV3Zl0JDeNoxu"
    util_gatewayapi_test.go:276: Deleted operator component "v1/Service/openshift-operators/servicemesh-operator3-metrics-service"
    util_gatewayapi_test.go:276: Deleted operator component "v1/ServiceAccount/openshift-operators/servicemesh-operator3"
    util_gatewayapi_test.go:276: Deleted operator component "operators.coreos.com/v1alpha1/Subscription/openshift-operators/servicemeshoperator3"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants