openwhisk icon indicating copy to clipboard operation
openwhisk copied to clipboard

Enable the scheduler by default

Open style95 opened this issue 1 year ago • 3 comments

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.

style95 avatar Feb 11 '24 01:02 style95

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.

codecov-commenter avatar Feb 11 '24 01:02 codecov-commenter

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.

style95 avatar Feb 14 '24 22:02 style95

Strangely, unit tests only failed int the github action runner.

style95 avatar Feb 19 '24 09:02 style95

Now only two workflows are remaining..

style95 avatar Feb 23 '24 00:02 style95

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.

bdoyle0182 avatar Feb 26 '24 21:02 bdoyle0182

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.

style95 avatar Feb 27 '24 00:02 style95

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.

style95 avatar Feb 27 '24 00:02 style95

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.

style95 avatar Feb 28 '24 01:02 style95