-
Notifications
You must be signed in to change notification settings - Fork 385
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
feat: Support trigger a recommendation manually #714
Conversation
🎉 Successfully Build Images. Docker RegistryOverview: https://hub.docker.com/u/gocrane
Quick Deploy - Helm helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
--set craned.image.repository=gocrane/craned \
--set craned.image.tag=pr-714-69a7c13 \
--set metricAdapter.image.repository=gocrane/metric-adapter \
--set metricAdapter.image.tag=pr-714-69a7c13 \
--set craneAgent.image.repository=gocrane/crane-agent \
--set craneAgent.image.tag=pr-714-69a7c13 \
--set cranedDashboard.image.repository=gocrane/dashboard \
--set cranedDashboard.image.tag=pr-714-69a7c13 crane/crane Coding RegistryOverview: https://finops.coding.net/public-artifacts/gocrane/crane/packages
Quick Deploy - Helm helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
--set craned.image.repository=finops-docker.pkg.coding.net/gocrane/crane/craned \
--set craned.image.tag=pr-714-69a7c13 \
--set metricAdapter.image.repository=finops-docker.pkg.coding.net/gocrane/crane/metric-adapter \
--set metricAdapter.image.tag=pr-714-69a7c13 \
--set craneAgent.image.repository=finops-docker.pkg.coding.net/gocrane/crane/crane-agent \
--set craneAgent.image.tag=pr-714-69a7c13 \
--set cranedDashboard.image.repository=finops-docker.pkg.coding.net/gocrane/crane/dashboard \
--set cranedDashboard.image.tag=pr-714-69a7c13 crane/crane Ghcr RegistryOverview: https://github.com/orgs/gocrane/packages?repo_name=crane
Quick Deploy - Helm helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
--set craned.image.repository=ghcr.io/gocrane/crane/craned \
--set craned.image.tag=pr-714-69a7c13 \
--set metricAdapter.image.repository=ghcr.io/gocrane/crane/metric-adapter \
--set metricAdapter.image.tag=pr-714-69a7c13 \
--set craneAgent.image.repository=ghcr.io/gocrane/crane/crane-agent \
--set craneAgent.image.tag=pr-714-69a7c13 \
--set cranedDashboard.image.repository=ghcr.io/gocrane/crane/dashboard \
--set cranedDashboard.image.tag=pr-714-69a7c13 crane/crane |
pkg/controller/recommendation/recommendation_rule_controller.go
Outdated
Show resolved
Hide resolved
pkg/controller/recommendation/recommendation_rule_controller.go
Outdated
Show resolved
Hide resolved
It seems that only a single recommendation can be manually executed. Is it necessary to support manual execution of the recommendationrule? |
Last implement has a limitation: if the recommendation rule controller is reconciling, the manual trigger will wait, this is unexpectable. So we use a trigger controller to watch the decrease event. How to trigger a recommendationRule is trick work. We can't modify the spec, but recommendationRule controller only watch spec changes... |
@whitebear009 PTAL |
klog.V(6).Infof("recommendation %s OnUpdate", klog.KObj(newRecommendation)) | ||
|
||
oldRunNumber, _ := utils.GetRunNumber(oldRecommendation) | ||
newRunNumber, _ := utils.GetRunNumber(newRecommendation) |
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.
the error is not handled
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.
if get run number failed , we treat it as a empty number which by default is 0.
/lgtm |
What type of PR is this?
Feature
What this PR does / why we need it:
Manually triggering a recommendation can be done through the following steps:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer: