MON-4569: Add ResourceStateMetrics feature-gate#2841
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@rexagod: This pull request references MON-4569 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 task to target the "5.0.0" version, but no target version was set. DetailsIn 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. |
|
Hello @rexagod! Some important instructions when contributing to openshift/api: |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (10)
💤 Files with no reviewable changes (8)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis pull request introduces a new feature gate named ResourceStateMetrics. The gate is registered in features/features.go with kubernetes scope and enabled for inTechPreviewNoUpgrade() and inDevPreviewNoUpgrade(). features.md is updated to show ResourceStateMetrics as enabled. Payload FeatureGate YAMLs are updated to add ResourceStateMetrics to enabled lists for Dev/Tech preview variants and to disabled lists for Default and OKD variants across Hypershift and SelfManagedHA. 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.12.2)Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/test verify-client-go |
|
@rexagod What is the upstream status of this feature gate? How much downstream work is there for this? Which upstream components change behaviour when this gate is enabled? |
|
@JoelSpeed Thank you for the review!
This is pending BETA graduation: kubernetes/enhancements#4785.
The currently-estimated work is tracked in MON-4568. The overall expectations regarding downstream maintenance and onboarding are almost same as other CMO dependency mirror, for e.g., MON-3153.
None. RSM is a metrics exporter, and doesn't influence behaviors for any other components directly. The repository lives upstream as a sub-project under Please note that we aim to replace OSM in CMO with this in the near-future. |
Enables Resource State Metrics in TP only. This feature-gate will be used in cluster-monitoring-operator to deploy this component in TP clusters as opposed to the current OpenShift State Metrics component. Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
|
@rexagod: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
Friendly ping, @JoelSpeed @everettraven 🙇🏼 |
|
@rexagod It looks to me like you intending to implement openshift specific code behind this feature gate? This has historically been an issue as it means you tie the upstream and downstream promotions together, blocking rebases of o/k. Do we actually need to control/have an opinion on the upstream feature or do we just need to add some stuff downstream and gate that? Are you trying to move an upstream off-by-default feature to on-by-default in TPNU OCP? |
Correct. We'll use this feature-gate to surface RSM in the
Not sure I grasp this fully. Downstream fork of RSM will have its own release cadence, even if the upstream counterpart surpasses it. An OCP version can ship with a non-latest release of RSM, as we've seen with other CMO dependencies that originate upstream. The mechanism followed will be exactly the same as we've seen for all CMO dependencies, and between their upstream sources and downstream forks. Here's one such dependency repository for reference: https://github.com/openshift/kube-state-metrics.
We actually already have the former, as I am a SIG Instrumentation co-chair and currently overseeing that all stakeholder concerns, for upstream as well as downstream, are addressed before this goes GA. I also believe I'm the only person that will maintain this for the foreseeable near-future. Having said that, in the scope of this gate, the latter's true as well, since we'll allow this component to be configured through CMO.
Please note that this does not reflect a k/k in-tree feature. This is a sub-project upstream that's only deployed if the users do so explicitly, however, OCP will indeed have an option through CMO to facilitate this OOTB, just like |
|
FYI RSM's downstream fork lives in https://github.com/openshift/kubernetes-sigs-resource-state-metrics |
This is where my confusion lies. The The |
Enables Resource State Metrics in TP only. This feature-gate will be used in cluster-monitoring-operator to deploy this component in TP clusters as opposed to the current OpenShift State Metrics component.