kube-scheduler-simulator is started as a project of Google Summer of Code 2021.
Even after GSoC finished, we went through 2 years of development with wonderful contributors,
and now I'm really pleased to announce its first release here.
Big shout out to all contributors; and especially the most powerful contributor @196Ikuchil.
This is not a goal, but just a starting line; keep growing up this project further!
What's Changed
- add: kube-scheduler-simulator by @sanposhiho in #1
- Fix: typo on SECURITY_CONTACTS by @sanposhiho in #2
- docs: add more docs on package di by @sanposhiho in #3
- Fix: typo serve→start by @sanposhiho in #14
- GitHub Actions for backend (test and lint) by @sanposhiho in #6
- Add sanposhiho on reviewers by @sanposhiho in #24
- Update README.md about memory allocation to Docker by @riita10069 in #30
- Add sanposhiho to approvers by @sanposhiho in #39
- Set environment variable HOST=0.0.0.0 to simulator-frontend in docker-compse.yaml by @p1ass in #25
- Updated restart scheduler for restore old setting by @tamboliasir1 in #36
- add pull request template by @sanposhiho in #43
- pin node image to Node.js v16 by @tk3fftk in #45
- Fix: file name .dockerignore has blank by @sanposhiho in #9
- use https instead of ssh for submodule by @sanposhiho in #40
- Support build with cloudbuild for gcr by @sanposhiho in #21
- Move PULL_REQUEST_TEMPLATE.md to a valid place by @sanposhiho in #51
- add reset scheduler configuration by @sivchari in #54
- fix error message by @sivchari in #57
- add prealloc linter and fix detected target by @sivchari in #59
- Fix syntax error on cloudbuild.yaml by @sanposhiho in #50
- support PriorityClass on backend by @khalilswdp in #49
- improve lint setting on frontend by @sanposhiho in #7
- Fix the lint issue on
NewSimulatorServer
with nolint directive by @sanposhiho in #63 - change context for frontend build by @sanposhiho in #62
- extend timeout for cloud build by @sanposhiho in #65
- fix klog format by @sivchari in #66
- Feature add frontend ci by @sivchari in #58
- support PriorityClass on frontend by @khalilswdp in #53
- Update makefile for go-mod downloads by @pravarag in #76
- Update README.md to reflect the addition of PriorityClass by @khalilswdp in #78
- override configuration correctly, even if passed PluginConfig has args data on PluginConfig.Args.Raw by @sanposhiho in #13
- support initial scheduler configuration option via an environment variable by @momom-i in #80
- Workaround: v-data-table cannot scroll when the bar cannot be scrolled vertically by @sanposhiho in #18
- add initial config description on README by @momom-i in #83
- add resources "delete all" method in each service by @sivchari in #68
- Fix lint error of ResourceBar by @sivchari in #86
- Implement import/export API by @196Ikuchil in #64
- fix(frontend): react on nuxt telemetry user input during
yarn start
by @skuethe in #88 - Run NormalizeScore correctly by @sanposhiho in #90
- Fix missing links on doc by @196Ikuchil in #93
- add configuration to change the URL of kube-apiserver by @matthewygf in #94
- Disable the delete button when the selected
priorityclass
is the system one by @196Ikuchil in #104 - Add
EXTERNAL_IMPORT_ENABLED
environment variables by @196Ikuchil in #102 - Support to
WithIgnoreErr
option in theExportService
by @196Ikuchil in #103 - Fix race condition in store result map by @Ezetowers in #107
- Add reset service by @sivchari in #105
- Add filtering logic for a
PriorityClass
that the name is prefixed withsystem-
by @196Ikuchil in #108 - Remove
IgnoreErr
options from theImport/Export
function called via web API by @196Ikuchil in #112 - Import
PriorityClassList
component onindex.vue
explicitly by @196Ikuchil in #117 - Remove line feeds at the end of files by @196Ikuchil in #118
- Implement Import/export button on frontend by @196Ikuchil in #81
- Import from existing cluster by @196Ikuchil in #111
- support reset feature on web ui by @sivchari in #114
- Rename simulatorPlugin to wrappedPlugin by @196Ikuchil in #126
- Implement table view on Web UI by @196Ikuchil in #119
- Display the kind/apiVersion in the scheduler configuration yaml by @markstur in #129
- Request kube apiserver directly from frontend by @momom-i in #115
- Add deprecate description by @momom-i in #127
- Remove package-lock.json by @sanposhiho in #143
- Delete GitHub Actions by @sanposhiho in #100
- Enable to check if etcd is on path in start_simulator.sh by @sanposhiho in #15
- Replace k8sapiserver startAPIServer to use Kubernetes createServerChain by @matthewygf in #121
- add check if Node has Pods or not before deleting scheduled Pods on Node by @sanposhiho in #146
- support namespace in each service by @196Ikuchil in #137
- Overwrite user agent to prevent panic in kube-apiserver by @sanposhiho in #148
- Rename the environment variable FRONTEND_URL to CORS_ALLOWED_ORIGIN_LIST and accept list by @sanposhiho in #157
- Cleanup deprecated handler by @sanposhiho in #158
- Expand simulator plugin to allow arbitrary processing before/after execution of
Filter
,Score
andNormalizeScore
by @196Ikuchil in #128 - Fixed how to specify the namespace in
Reset
function for resources with a namespace by @196Ikuchil in #162 - Fix error handling on calling of reset function on the web UI. by @196Ikuchil in #163
- fix: add docker-compose.yml to .dockerignore by @jonyhy96 in #169
- change the
Reset
API to be called directly by @196Ikuchil in #164 - [Frontend]Implement to
publicRuntimeConfig
for that BASE_URL and KUBE_API_SERVER_URL can be set in env for frontend image by @196Ikuchil in #153 - Introduce internal kep to the project by @sanposhiho in #174
- [Frontend] Use GenerateName instead of Name in resource templates by @aibarbetta in #168
- Support custom plugins in the simulator by @sanposhiho in #177
- Add KEP-140 'Scenario-based simulation' by @sanposhiho in #186
- Add KEP-159 'scheduler simulator operator' by @sanposhiho in #185
- Add KEP-184 'scheduler simulation' by @sanposhiho in #187
- Move all the codes for simulator into new directory by @sanposhiho in #193
- Fix wrong path to copy in Dockerfile by @sanposhiho in #195
- Update Makefile to add PHONY
openapi
by @196Ikuchil in #200 - Re-initialize submodule by @sanposhiho in #202
- Make go.mod reproducible with go1.16 by @sanposhiho in #204
- Rename module to sigs.k8s.io/kube-scheduler-simulator/simulator by @sanposhiho in #199
- Add "Go v1.17 or more" as prerequisite for contributers and upgrade golangci-lint to v1.46.2 for that by @sanposhiho in #205
- Add --build_flags=--mod=mod flag to handle vendor in mockgen reflect mode by @sanposhiho in #207
- Fix to case-insensitive file name collision error of mock by @196Ikuchil in #208
- Add release guide by @sanposhiho in #122
- Update README to be up-to-date by @sanposhiho in #197
- Initialize the scenario controller by kubebuilder by @sanposhiho in #196
- Add 196Ikuchil to reviewers by @196Ikuchil in #209
- Implement listwatchresources API on the simulator by @196Ikuchil in #165
- fix(util): handle semaphore internally by @sanposhiho in #213
- support external IP in docker-compose.yaml by @amewayne in #217
- fix(PULL_REQUEST_TEMPLATE): Add area tags by @sanposhiho in #225
- Update kubernetes submodule, generated files, and vendored files to v1.24.3 with required fixes to tests and code by @markstur in #222
- update(simulator): golang v1.19 by @sanposhiho in #226
- update(kubernetes): update kubernetes to v1.25.1 by @sanposhiho in #228
- feature(simulator): support an external scheduler by @sanposhiho in #227
- Implement to update all resources periodically on Frontend by @196Ikuchil in #211
- Improve documentation about environment variables being used by @pravarag in #138
- Changed the design to allow Scenario to be used with more kind of controllers by @sanposhiho in #194
- fix(doc): fix the references in how-to-use-custom-plugins by @panli889 in #237
- Fix custom plugin example of nodenumber by @panli889 in #239
- fix a typo by @Thearas in #241
- Fix several typos in readme by @kerthcet in #244
- Add install link in README.md by @yanghesong in #248
- Add node version in README.md of web. by @yanghesong in #250
- Support PostFilter Plugin of Scheduling Framework by @196Ikuchil in #220
- Update WatchEvent URL. by @yanghesong in #254
- Add prettier directory for web. by @yanghesong in #255
- Format web code. by @yanghesong in #256
- feature(reset): refactor the reset service to reset the cluster state completely by @sanposhiho in #229
- Configure kube-apiserver to allow privileged containers. by @enisoc in #260
- Add Deployment&ReplicaSet Controller by @196Ikuchil in #190
- Fix some error messages to avoid
TypeError
occurring. by @196Ikuchil in #232 - feature(simulator): support all extension points in the simulator by @sanposhiho in #266
- Documentation for existing cluster importing by @196Ikuchil in #131
- Redescribe documents about environment variables on the frontend to README under the web directory by @196Ikuchil in #263
- Fix crash due to concurrent Pod mutation by @enisoc in #272
- Fixes around the tables of Pod the scheduling results by @196Ikuchil in #240
- Support Extenders on the simulator by @196Ikuchil in #212
- Support Namespace resource by @196Ikuchil in #236
- Upgrade kubernetes v1.26.2 by @196Ikuchil in #275
- Replace k8s.gcr.io with registry.k8s.io by @xmudrii in #277
- storeAllResultToPodFunc: Retry on version conflict by @enisoc in #278
- Create the component config for simulator.(#245) by @yanghesong in #249
- Fix a bug that finalscore in pod anno does not comply with weight in sche-config by @wsq704252212 in #242
- BugFix: some wrappedPlugin returns non suit status by @196Ikuchil in #282
- fix: pass the configuration file from build-env by @sanposhiho in #281
- Support v1 KubeSchedulerConfiguration by @196Ikuchil in #276
- feature(simulator): store previous scheduling result as a result history by @sanposhiho in #274
- extend cloudbuild timeout by @sanposhiho in #283
- Fix broken links and missing details in README by @shahparth123 in #284
- implement the external scheduler integration by @sanposhiho in #288
- add missing docs (external scheduler and plugin extender) by @sanposhiho in #287
New Contributors
- @sanposhiho made their first contribution in #1
- @riita10069 made their first contribution in #30
- @p1ass made their first contribution in #25
- @tamboliasir1 made their first contribution in #36
- @tk3fftk made their first contribution in #45
- @sivchari made their first contribution in #54
- @khalilswdp made their first contribution in #49
- @pravarag made their first contribution in #76
- @momom-i made their first contribution in #80
- @196Ikuchil made their first contribution in #64
- @skuethe made their first contribution in #88
- @matthewygf made their first contribution in #94
- @Ezetowers made their first contribution in #107
- @markstur made their first contribution in #129
- @jonyhy96 made their first contribution in #169
- @aibarbetta made their first contribution in #168
- @amewayne made their first contribution in #217
- @panli889 made their first contribution in #237
- @Thearas made their first contribution in #241
- @kerthcet made their first contribution in #244
- @yanghesong made their first contribution in #248
- @enisoc made their first contribution in #260
- @xmudrii made their first contribution in #277
- @wsq704252212 made their first contribution in #242
- @shahparth123 made their first contribution in #284
Full Changelog: https://github.com/kubernetes-sigs/kube-scheduler-simulator/commits/simulator/v0.1.0