openwhisk
openwhisk copied to clipboard
Enable the scheduler by default
Description
This is to enable the scheduler by default. It is necessary to release the next version of OpenWhisk Core.
Related issue and scope
- [ ] I opened an issue to propose and discuss this change (#????)
My changes affect the following components
- [ ] API
- [ ] Controller
- [ ] Message Bus (e.g., Kafka)
- [ ] Loadbalancer
- [x] Scheduler
- [ ] Invoker
- [ ] Intrinsic actions (e.g., sequences, conductors)
- [ ] Data stores (e.g., CouchDB)
- [ ] Tests
- [ ] Deployment
- [ ] CLI
- [ ] General tooling
- [ ] Documentation
Types of changes
- [ ] Bug fix (generally a non-breaking change which closes an issue).
- [ ] Enhancement or new feature (adds new functionality).
- [x] Breaking change (a bug fix or enhancement which changes existing behavior).
Checklist:
- [x] I signed an Apache CLA.
- [x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
- [ ] I added tests to cover my changes.
- [ ] My changes require further changes to the documentation.
- [ ] I updated the documentation where necessary.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 77.75%. Comparing base (
5529cc4
) to head (e257423
).
:exclamation: Current head e257423 differs from pull request most recent head bcf8d2f. Consider uploading reports for the commit bcf8d2f to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## master #5463 +/- ##
==========================================
+ Coverage 76.26% 77.75% +1.48%
==========================================
Files 234 241 +7
Lines 14386 14650 +264
Branches 640 644 +4
==========================================
+ Hits 10972 11391 +419
+ Misses 3414 3259 -155
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I realized that it is necessary to split scheduler tests into unit tests and system tests to run successfully. Some tests in the scheduler tests workflow manipulate ETCD data and it interferes other tests.
Strangely, unit tests only failed int the github action runner.
Now only two workflows are remaining..
LGTM. I think if we're going to continue working on this scheduler, the next major needed architectural improvement is to distribute function traffic across schedulers. As it is right now since a queue to handle activations for a specific action is assigned to a single scheduler, the max throughput of an action is limited to the max cpu / network throughput / kafka consumer reads of that scheduler node.
are there docs explaining how the scheduler works?
@dubee You can refer to this document: https://cwiki.apache.org/confluence/display/OPENWHISK/New+architecture+proposal It might be slightly outdated, but it explains most of the major things.
LGTM. I think if we're going to continue working on this scheduler, the next major needed architectural improvement is to distribute function traffic across schedulers. As it is right now since a queue to handle activations for a specific action is assigned to a single scheduler, the max throughput of an action is limited to the max cpu / network throughput / kafka consumer reads of that scheduler node.
Exactly, merging this PR should be a starting point. I think there is still room for improvement in many directions.
Thank you all for the reviews. I will merge this at the end of this week. Please share any concerns, or comments at any time. After merging this, I will look into the openwhisk-deploy-kube repo part.