-
Notifications
You must be signed in to change notification settings - Fork 917
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
Add the Ability to Specify the Namespace Used for Discovering Scheduler Estimator Services #5478
Add the Ability to Specify the Namespace Used for Discovering Scheduler Estimator Services #5478
Conversation
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #5478 +/- ##
==========================================
- Coverage 31.71% 31.70% -0.01%
==========================================
Files 643 643
Lines 44429 44469 +40
==========================================
+ Hits 14089 14100 +11
- Misses 29310 29339 +29
Partials 1030 1030
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
/retest |
@whitewindmills @zhzhuang-zju Do you want to take a look? |
/assign |
@jabellard Great job~ Generally LGTM, and ask @whitewindmills for another look. Once this PR is merged, the Karmada operator will need to be adapted. The templates for the components |
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.
thanks.
/lgtm
to add helm, karmadactl, etc. could you create a task list to track this? |
ask approval from @RainbowMango |
pkg/scheduler/scheduler.go
Outdated
@@ -776,7 +787,7 @@ func (s *Scheduler) reconcileEstimatorConnection(key util.QueueKey) error { | |||
return nil | |||
} | |||
|
|||
return estimatorclient.EstablishConnection(s.KubeClient, name, s.schedulerEstimatorCache, s.schedulerEstimatorServicePrefix, s.schedulerEstimatorClientConfig) | |||
return estimatorclient.EstablishConnection(s.KubeClient, name, s.schedulerEstimatorCache, s.schedulerEstimatorServiceNamespace, s.schedulerEstimatorServicePrefix, s.schedulerEstimatorClientConfig) |
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.
With this parameter, the number of parameters exceeds 5, I remember some tools might check this and would bring a warning for this.
This is not a blocker, do you have any idea how to improve it?
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.
Good point. Will push PR to address in a few.
1a33436
to
07f3d31
Compare
…uler estimator services Signed-off-by: Joe Nathan Abellard <[email protected]> Address comments Signed-off-by: Joe Nathan Abellard <[email protected]> Address comments Signed-off-by: Joe Nathan Abellard <[email protected]>
07f3d31
to
b6fbcb4
Compare
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.
Perfect, thanks!
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: RainbowMango The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
What type of PR is this?
/kind feature
What this PR does / why we need it:
When the scheduler estimator feature is enabled for the Karmada scheduler component, we can then provision scheduler estimator instances for member clusters that will provide the scheduler with more accurate information regarding resources for those member clusters.
To gain that information, given some member cluster, the scheduler needs to contact the service for that member cluster's scheduler estimator deployment. As of today, it uses a naming convention for discovering those services. By default, given some member cluster
m1
, it will look for a service namedkarmada-scheduler-estimator-m1
in thekarmada-system
namespace.The service name prefix is configurable, but the namespace is not. This feature request is for providing the ability to configure the namespace in which the scheduler should try to discover the service.
At Bloomberg, we're currently building a managed Karmada platform and want to use the Karmada operator to manage the entire lifecycle of managed Karmada instances. Each tenant's control plane will live in a namespace in our host/management cluster. As such, we would also like to keep scheduler estimator instances scoped to their respective tenancy's namespace to avoid polluting the
karmada-system
namespace with instances across all managed tenancies.Which issue(s) this PR fixes:
Fixes #5448
Special notes for your reviewer:
Does this PR introduce a user-facing change?: