Closed kazukousen closed 6 months ago
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: kazukousen Once this PR has been reviewed and has the lgtm label, please assign sanposhiho for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.
Welcome @kazukousen!
It looks like this is your first PR to kubernetes-sigs/kube-scheduler-wasm-extension 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.
You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.
You can also check if kubernetes-sigs/kube-scheduler-wasm-extension has its own contribution guidelines.
You may want to refer to our testing guide if you run into trouble with your tests not passing.
If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!
Thank you, and welcome to Kubernetes. :smiley:
/ok-to-test
@Gekko0114: No presubmit jobs available for kubernetes-sigs/kube-scheduler-wasm-extension@main
/assign
/test
@Gekko0114: No presubmit jobs available for kubernetes-sigs/kube-scheduler-wasm-extension@main
Overall it looks good! Thank you. I will add approve label after passing CI checks.
@sanposhiho, Seems that without your approval, this PR can't run CI checks. Could you take a look?
Thank you for your kind review. Fixed it 1aa0020. PTAL when you have time.
Please fix ci failures.
@Gekko0114 Sorry, Forced push and then fixed examples/advanced/main.wasm only at 976939b . The change should not affect examples/nodenumber/main.wasm .
I guess that main.wasm is not synchronized with main.go in examples/nodenumber because the test expects FilterPlugin
and ScorePlugin
interfaces, but the main.go implementation lacks the FilterPlugin
interface.
https://github.com/kubernetes-sigs/kube-scheduler-wasm-extension/actions/runs/7450036829/job/20343211771
I'm not familiar with this codebase, So please point out any mistakes! Thanks,
Through conversations with @Gekko0114 in Slack, I've got a handle on what's going on.
It seems we should have updated our wasm build and the mask test when ReservePlugin and BindPlugin were added.
This can be confirmed by comparing exportFunctions before and after executing make testdata
on the main branch.
Addressed it in be83292 .
I suppose the permanent solution is to ensure that the CI fails when there's a discrepancy.
/label tide/merge-method-squash
@Gekko0114 thanks, Fixed it c0fefd0. PTAL
PR needs rebase.
Sorry for the delay. I will work on it this weekend.
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.
This bot triages PRs according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the PR is closedYou can:
/remove-lifecycle stale
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
Sorry for the delay. Unfortunately, I'm currently unable to commit the necessary time to complete this task. With respect to the community and to prevent any further delays on the project, I think it's best to withdraw the PR and unassign myself from the task. I sincerely apologize for any inconvenience this may have caused and appreciate your understanding. Thanks,
No worries, appreciate for your work so far. I'll take over the remaining part 👍
What type of PR is this?
/kind feature /kind api-change
What this PR does / why we need it:
Support Permit Plugin
Which issue(s) this PR fixes:
Part of #72
Special notes for your reviewer:
permit
must returntimeout
in addition to thestatusCode
. The Wasm (specification 1) allows only one return value to be defined, and the maximum size is limited to i64. But the statusCode has already consumed i32. Packing the remaining i32, as in the implementation of score, is difficult because timeout cannot be reduced to a size smaller than i64.Therefore, the one of remaining solutions is to add a host callback for the timeout, Guest passes a timeout to an imported Host function. This will only add hostcall overhead.
So the suggestion would add
set_timeout
to the ABI.Does this PR introduce a user-facing change?
What are the benchmark results of this change?