Closed donpenney closed 3 months ago
@donpenney: This pull request references CNF-12403 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.16.0" version, but no target version was set.
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please ask for approval from donpenney. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.
/cc @jc-rh
/retest
/hold for discussion on "update available" scenario
@donpenney: This pull request references CNF-12403 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.17.0" version, but no target version was set.
/lgtm
/lgtm
/lgtm
/hold again, what will it affect? when will the customers be blocked? why not to verify it only upon seed creation?
/hold again, what will it affect? when will the customers be blocked? why not to verify it only upon seed creation?
@romfreiman as noted, this PR has been revised to only look for failure conditions. It no longer checks the conditions relating to available updates. It now just checks to ensure that the subscriptions are healthy - ie. catalog sources are healthy, no failed conditions.
PR needs rebase.
Background / Context
LCA runs system health checks during SeedGen and IBU to ensure that the cluster is healthy and stable before proceeding.
Issue / Requirement / Reason for change
An unhealthy subscription means there may not be a corresponding CSV. The existing health checks validate the CSV status, but if the CSV doesn't exist, that health check passes. As a result, the user may generate a seed image, for example, without realizing that the desired operators have not actually been installed.
Solution / Feature Overview
Introducing a Subscription health check gives added protection by ensuring all subscriptions are in a healthy state.
Implementation Details
This update adds a Subscription check to the set of system health checks. The Subscription check ensures that each subscription CR has no Failed conditions set to true and CatalogSourcesUnhealthy is false, indicating the subscription is healthy.
This check is skipped in the postpivot Upgrade stage handler, as it is expected that the catalog sources will not have been updated at this point, and each subscription would therefore be reported as unhealthy.