Skip to content

Conversation

@uwe-mayer
Copy link
Contributor

Description

This changes printed columns in kubectl get commands of Greenhouse resources to include the message of the ReadyCondition. Intention is to get a quick understanding of why resources are failing in the list commands.

What type of PR is this? (check all applicable)

  • 🍕 Feature
  • 🐛 Bug Fix
  • 📝 Documentation Update
  • 🎨 Style
  • 🧑‍💻 Code Refactor
  • 🔥 Performance Improvements
  • ✅ Test
  • 🤖 Build
  • 🔁 CI
  • 📦 Chore (Release)
  • ⏩ Revert

@uwe-mayer uwe-mayer requested a review from a team as a code owner December 18, 2025 07:46
@IvoGoman
Copy link
Contributor

IvoGoman commented Dec 18, 2025

Had a quick look how this would look like in our environments. In most cases the message is pointing to the failing condition or replicates other status fields.
I am not sure this is what we want. This does not bring much more information and requires to look in the status nevertheless.

In the case of the majority where the resource is ready, the Ready and Message printer columns are redundant. ( Ready=true, Message=ready )

I believe we should tackle this resource by resource. Update the Status reconciliation to bring better messages about the error condition and then add the new PrinterColumn.

Production

for p in "plugin" "pluginpreset" "catalog" "clusterplugindefinition" "plugindefinition" "teamrole" "teamrolebinding" "organization" "team"; do echo "==> $p"; kg $p  -oyaml | yq '.items[] | .status.statusConditions.conditions[] | select(.type == "Ready" and .status != "True") | .message'; done
==> plugin
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
==> pluginpreset
0 of 10 plugins are ready
0 of 1 plugins are ready
No cluster matches ClusterSelector
==> catalog
==> clusterplugindefinition
==> plugindefinition
==> teamrole
==> teamrolebinding
Team RBAC reconciliation failed
==> organization
==> team

Playground

for p in "plugin" "pluginpreset" "catalog" "clusterplugindefinition" "plugindefinition" "teamrole" "teamrolebinding" "organization" "team"; do echo "==> $p"; kg $p  -oyaml | yq '.items[] | .status.statusConditions.conditions[] | select(.type == "Ready" and .status != "True") | .message'; done
==> plugin
cluster access not ready
cluster access not ready
cluster access not ready
cluster access not ready
cluster access not ready
Helm reconcile failed
cluster access not ready
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
Helm reconcile failed
==> pluginpreset
0 of 1 plugins are ready
No cluster matches ClusterSelector
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
Plugin reconciliation failed
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
0 of 1 plugins are ready
==> catalog
not all catalog objects are ready
==> clusterplugindefinition
==> plugindefinition
==> teamrole
==> teamrolebinding
==> organization
null
null
==> team

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants