Probes configuration and override support#610
Probes configuration and override support#610openshift-merge-bot[bot] merged 4 commits intoopenstack-k8s-operators:mainfrom
Conversation
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/2813b48c394243ce9a2e8ef372592913 ❌ openstack-k8s-operators-content-provider FAILURE in 9m 19s |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/2896e982a2c54980ac9db89bd06ae45a ❌ openstack-k8s-operators-content-provider FAILURE in 11m 52s |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/fcdd543dbfb848aab77b2a7d913569b8 ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 03m 39s |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/b2cd3b0a467e469493dfd89037ba89ad ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 01m 18s |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/28e584974ac74471995b2d48929d570d ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 14m 03s |
|
recheck |
b368ecf to
6d648b3
Compare
|
Here's a quick comparison between what we had before this patch (in terms of defaults) and what we have now (regardless they are used or not): |
|
recheck |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 21m 04s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 19m 34s |
|
recheck |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 11m 20s |
| InitialDelaySeconds: 5, | ||
|
|
||
| // Note that by default we create probes with the same URIScheme and port | ||
| apiProbes, err := probes.CreateProbeSet( |
There was a problem hiding this comment.
@abays this is exactly the same patch we did in manila, can you take a look and see if we can land this as well?
| }) | ||
| }) | ||
|
|
||
| When("Cinder CR instance is built with custom probes", func() { |
There was a problem hiding this comment.
Is there any particular reason CinderBackup isn't covered here as well?
There was a problem hiding this comment.
The reason I think is that we currently do not test cinderBackup in envTests, and we should! Let me try to add cbak basic coverage for probes, and we can keep any refactoring for follow up patches.
tl;dr we don't test cinder-backup at all with envTest, but I'm going to enable it as part of an additional commit.
There was a problem hiding this comment.
Ok I added basic support for CinderBackup. I think it deserves a dedicated PR to go through the interfaces and make sure we are able to cover everything, but here the scope is to try probes override, so we should be good. Thanks @abays, this is a good catch and as a result of that I enabled a missing component in our envTests.
Add ProbeOverrides interface and CreateProbeSet() function from lib-common for unified probe management across Cinder services. Enable probe customization through CRD overrides and remove code duplication. Updates all services (API, Scheduler, Volume, Backup) to use the new pattern with proper scheme handling and consistent defaults. In addition, webhook validation for probes have been introduced. Signed-off-by: Francesco Pantano <fpantano@redhat.com>
Replace static probe timeouts with dynamic scaling based on APITimeout parameter. Creates separate probe configurations for API services (HTTP endpoints) and RPC workers (internal services) with appropriate scaling factors. API services use full APITimeout scaling while RPC workers get proportional timeouts, preventing premature pod kills during high load scenarios. Signed-off-by: Francesco Pantano <fpantano@redhat.com>
This patch introduces a document where the design decisions related to the probes settings are described. Signed-off-by: Francesco Pantano <fpantano@redhat.com>
This patch enables cinder-backup in envTests and extend the probes override test to this component. GetDefaultCinderSpec is now extended to return cinderBackup as part of the top-level CR and we can now test overrides for probes. Signed-off-by: Francesco Pantano <fpantano@redhat.com>
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abays, fmount The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
e0a83a3
into
openstack-k8s-operators:main
Add
ProbeOverridesinterface andCreateProbeSet()function from lib-common forunified probe managementacrossCinderservices. Enable probe customization throughCRDoverrides and remove code duplication. Updates all services (API,Scheduler,Volume,Backup) to use the new pattern with proper scheme handling and consistent defaults.In addition, webhook validation for probes have been introduced.
Depends-On: openstack-k8s-operators/lib-common#673