-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increase or Decrease polling rate for instance in a final state ready or failed. #53
Increase or Decrease polling rate for instance in a final state ready or failed. #53
Conversation
…about the service binding controller.
Co-authored-by: RalfHammer <119853077+RalfHammer@users.noreply.github.com>
|
||
func TestReconcilerHelpers(t *testing.T) { | ||
RegisterFailHandler(Fail) | ||
// RunSpecs(t, "Reconciler Helpers Suite") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to activate this test?
Hi @TheBigElmo, please review the PR. |
Why would you set this on a CRO level, but not in general on startup of the controller, so you can override the default values? Do you have numbers for end users, when to adjust it (e.g. number of resources)? Are the CF rate limits maybe too low? |
Hi @TheBigElmo I understand your question about why not set these time durations for general use on the controller's startup. In our use case, we might want different timeout values depending on which instance we're creating and its purpose. So, by making it configurable per instance, we can always set it when we create the resource. We can differentiate it, so we took this approach because of the ability to decouple it per resource. |
That's completely fine to do this on a CRO level, but it should have a possibility on startup too. |
|
@TheBigElmo, you are right; it is possible to have both options. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe mentioning the default values/behavior is helpful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made some changes to the document.
This includes information about the default values and behavior under Default Requeue After Interval.
ok, let's do it with another PR next.
|
Hi @TheBigElmo Here is the number we have managed so far without reconciling the limit. It reconciles every 10 min at least; we would have with caching six requests per instance per hour. Keep in mind that Spaces are much more wasteful, taking 240 requests per hour. So, in theory, we would have problems at around 10k instances per user, assuming no other workload. If you add keys, it becomes more like 5k. In practice, we have problems around 200 spaces, which makes sense given that it's 200*240 > 40k requests. We currently have a backlog item for testing how many requests the operator will execute with 10.000 CRs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, please create an additional pr for the controller flags.
Hi @TheBigElmo Yes, our product owner will create a backlog item for the controller flags. |
In order to prevent the Operator hits the CF rates limits, we have introduced two new annotations,
service-operator.cf.cs.sap.com/polling-interval-ready
andservice-operator.cf.cs.sap.com/polling-interval-fail
to facilitate the increase or decrease of the re-queue time duration when a Custom Resources is in a State final Ready or Failed.