blob: 6147c49911bed92d5f7a417d561efbf1e1113cf8 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
Release Notes - Apache YuniKorn - Version 1.0.0
** Sub-task
* [YUNIKORN-462] - Streamline core to shim update on allocation change
* [YUNIKORN-593] - Optimize the UT for ListApplications
* [YUNIKORN-638] - Make placeholder image configurable
* [YUNIKORN-717] - Refactor YuniKorn core's scheduler metrics for node number and sorting latency
* [YUNIKORN-721] - Improve YuniKorn core's queue-level and scheduler metrics
* [YUNIKORN-864] - update design documentation with new interface
* [YUNIKORN-935] - Refactor resourcemanagercallback mock class
* [YUNIKORN-955] - Move the web UI calls to the new REST API endpoints
* [YUNIKORN-956] - Remove old REST handlers: objects and code
* [YUNIKORN-957] - Move doStateDump to new internal REST objects
* [YUNIKORN-958] - Expose node utilisation info in new REST calls
* [YUNIKORN-960] - Expose cluster utilisation info in new REST calls
* [YUNIKORN-979] - Add e2e test for admission controller bypassNamespaces
* [YUNIKORN-989] - Update the copyright years in NOTICE file to 2022
* [YUNIKORN-992] - Update website for v1.0 release
* [YUNIKORN-993] - helm chart release v1.0
* [YUNIKORN-994] - update release procedure for release tagging
* [YUNIKORN-1006] - Address QU 30, 40, 50
* [YUNIKORN-1007] - LC20 For Docker Repo
* [YUNIKORN-1008] - Allow admission controller to bypass pods in certain namespaces
* [YUNIKORN-1020] - Update security issue report guidelines
* [YUNIKORN-1021] - Add committer/PPMC user list on the website
* [YUNIKORN-1031] - Add Chinese translation for homepage
* [YUNIKORN-1043] - Minor fix on the people page
* [YUNIKORN-1045] - Add maturity matrix to the website
* [YUNIKORN-1050] - Compare YARN metrics with Yunikorn
* [YUNIKORN-1051] - Collect Go runtime metrics
* [YUNIKORN-1052] - Add more cluster-wide metrics to Yunikorn
* [YUNIKORN-1054] - Add more queue metrics to Yunikorn
* [YUNIKORN-1064] - Doc changes for YUNIKORN-958 & YUNIKORN-960
* [YUNIKORN-1072] - Upgrade and sign-off status file
* [YUNIKORN-1104] - Add e2e test for configmap validator in admission controller
* [YUNIKORN-1114] - Document changes from YUNIKORN-961
* [YUNIKORN-1115] - document changes from YUNIKORN-1093
* [YUNIKORN-1130] - Documentation updates for units on resources
* [YUNIKORN-1131] - Document behaviour of resource in REST API
* [YUNIKORN-1132] - Document changes from YUNIKORN-165
* [YUNIKORN-1135] - document changes from YUNIKORN-1128
* [YUNIKORN-1145] - Update code in core repo to remove incubator references
* [YUNIKORN-1146] - Update code in SI repo to remove incubator references
* [YUNIKORN-1147] - Update code in shim repo to remove incubator references
* [YUNIKORN-1148] - Update code in release repo to remove incubator references
* [YUNIKORN-1149] - Update code in web repo to remove incubator references
* [YUNIKORN-1150] - Update website to remove incubator references
* [YUNIKORN-1155] - Placeholder timeout should not be initialized to the default value during recovery
* [YUNIKORN-1156] - Document changes from YUNIKORN-193
* [YUNIKORN-1158] - Document changes from YUNIKORN-1087
* [YUNIKORN-1160] - Fix codecov after migration
* [YUNIKORN-1161] - Pods not linked to placeholders are stuck in Running state if YK is restarted
* [YUNIKORN-1167] - Document changes from YUNIKORN-1163
* [YUNIKORN-1170] - Update timestamps to be consistently int64
* [YUNIKORN-1181] - Privacy policy update
* [YUNIKORN-1182] - Fix YUNIKORN-1161 and YUNIKORN-1155 properly
** Bug
* [YUNIKORN-384] - [webUI] UI doesn't parse partition info correctly with more than one partition
* [YUNIKORN-410] - Pod state change may cause incorrect update on SchedulerNode#occupied
* [YUNIKORN-583] - Codecov report is always failing
* [YUNIKORN-689] - Pods could be scheduled on nodes that don't have enough CPUs
* [YUNIKORN-953] - Investigate of kubeflow/training-operator
* [YUNIKORN-973] - Correct the link in master/deployments/examples
* [YUNIKORN-982] - Handle placeholders that are different from real allocations
* [YUNIKORN-988] - The YuniKorn logo doesn't render correctly on mobile
* [YUNIKORN-1019] - Fix broken links / outdated info on GH Pages
* [YUNIKORN-1037] - Update community conf links
* [YUNIKORN-1042] - "Why YuniKorn" is not rendered properly on mobile
* [YUNIKORN-1055] - Increase the web site build timeout in github action
* [YUNIKORN-1063] - Fix build issues on website
* [YUNIKORN-1076] - Emit K8s event for invalid Task Group annotation
* [YUNIKORN-1077] - Negative Container Count
* [YUNIKORN-1092] - IsReservedOnNode() can match wrong node
* [YUNIKORN-1095] - Periodic state dump REST call doesn't return anything
* [YUNIKORN-1097] - RMProxy DEBUG cannot log event with channel
* [YUNIKORN-1098] - E2E tests pull in wrong admission controller image
* [YUNIKORN-1099] - Deadlock in Application.notifyRMAllocationReleased()
* [YUNIKORN-1100] - Fix inconsistencies and leaks in shim caches
* [YUNIKORN-1108] - Fix race conditions in dispatcher_test.go
* [YUNIKORN-1109] - Fix data race in core event handling
* [YUNIKORN-1113] - Allow admission controller / scheduler to run in host network
* [YUNIKORN-1116] - Update SchedulerNode properties using proper locks
* [YUNIKORN-1121] - MockScheduler addTask ignores resource settings
* [YUNIKORN-1123] - UpdateNode may cause the scheduler to crash
* [YUNIKORN-1124] - Avoid passing empty nodeAttributes in UpdateNode request
* [YUNIKORN-1128] - absUsedCapacity is not exposed in the queue
* [YUNIKORN-1134] - Use new resource format in web app
* [YUNIKORN-1137] - Fix typo in placement related messages
* [YUNIKORN-1138] - rename the variables that end with infos and informations
* [YUNIKORN-1144] - Deadlock in context.getTask()
* [YUNIKORN-1152] - Make sure that --placeHolderImage switch is always properly set
* [YUNIKORN-1159] - Node occupied resources are not detected on YuniKorn startup
* [YUNIKORN-1162] - Recovery code does not update occupied resources on node
* [YUNIKORN-1164] - Fix inconsistent lock behavior in application.go
* [YUNIKORN-1165] - Yunikorn plugin inconsistent node assignment + scheduling
* [YUNIKORN-1166] - Fix release procedure documentation
* [YUNIKORN-1168] - E2e tests fail sometimes due to missing service account
* [YUNIKORN-1175] - Web UI should show node utilization as percentage
* [YUNIKORN-1178] - Nil pointer dereference during schedule recovery
* [YUNIKORN-1179] - Logs are spammed with health check status messages
* [YUNIKORN-1180] - JSON parse error when creating placeholders
* [YUNIKORN-1190] - Shim needs to account for usage of pods without app ID
** New Feature
* [YUNIKORN-138] - Redesign display of resources in web UI
* [YUNIKORN-629] - Add size specification to queue config
* [YUNIKORN-971] - Implement YuniKorn as a Kubernetes Scheduler Plugin
* [YUNIKORN-1005] - [Umbrella] Prepare graduation from ASF incubator
** Improvement
* [YUNIKORN-165] - API response fields can be returned as proper data structure rather than free text
* [YUNIKORN-183] - Logging clean up
* [YUNIKORN-371] - Document how to manage and update go mod dependencies
* [YUNIKORN-596] - Document pod labels and annotations
* [YUNIKORN-601] - KubeClient mock does not allow failure tests
* [YUNIKORN-720] - Add and improve queue metrics throughout the scheduling cycle
* [YUNIKORN-764] - Document how to verify a release
* [YUNIKORN-797] - testing `DAOString` with multiple resources is unstable
* [YUNIKORN-870] - Enhance application-related REST APIs
* [YUNIKORN-876] - Optimize scheduler memory consumption
* [YUNIKORN-937] - Update eventrecorder usage to new K8S API
* [YUNIKORN-949] - Location of the state dump file should be configurable
* [YUNIKORN-954] - [Umbrella] Remove old REST API
* [YUNIKORN-961] - Expose build and version information in a REST call
* [YUNIKORN-978] - Admission controller improvements
* [YUNIKORN-981] - Cleanup comments and logging in queue code
* [YUNIKORN-997] - Use K8s fine-grained access control for YuniKorn scheduler
* [YUNIKORN-998] - expose gang related info in application REST info
* [YUNIKORN-1009] - add git sha as label to admission controller image
* [YUNIKORN-1027] - Go: deprecation of io/ioutil
* [YUNIKORN-1028] - move master branches to pseudo versions in go.mod
* [YUNIKORN-1057] - Add helm setting to deploy scheduler in plugin mode
* [YUNIKORN-1062] - fix table layout in md files
* [YUNIKORN-1065] - panic in nodeUpdate when node disappears
* [YUNIKORN-1067] - standardise on formatMetricName() call
* [YUNIKORN-1078] - More configuration parameters in helm chart
* [YUNIKORN-1084] - Update namespace handling in admission controller
* [YUNIKORN-1087] - track scheduling time in the allocation
* [YUNIKORN-1088] - remove empty updates from nodes calls
* [YUNIKORN-1090] - remove common.Node from the shim
* [YUNIKORN-1093] - Track rejected applications
* [YUNIKORN-1102] - shim context getTask error is ignored
* [YUNIKORN-1103] - Support fetching queue name from pod annotation "yunikorn.apache.org/queue"
* [YUNIKORN-1105] - Rethink memory resource conversion to MB
* [YUNIKORN-1106] - Reduce core scheduler idle CPU usage
* [YUNIKORN-1110] - update REST API documentation
* [YUNIKORN-1111] - Run yunikorn as non-root user
* [YUNIKORN-1118] - Config validation should soft-succeed if yunikorn is not reachable
* [YUNIKORN-1119] - Rotate admission controller server and CA certificates
* [YUNIKORN-1120] - Allow unit specifiers in core configs
* [YUNIKORN-1133] - Upgrade angular framework to latest stable release
* [YUNIKORN-1141] - [Umbrella] Post graduation tasks
* [YUNIKORN-1163] - REST API - Return history of application state transitions
* [YUNIKORN-1172] - Make e2e tests cleanup pods faster
* [YUNIKORN-1189] - Release validation script should support plugin mode
** Test
* [YUNIKORN-522] - Smoke test for dynamic queue clean up
** Task
* [YUNIKORN-197] - update commit instructions in docs
* [YUNIKORN-364] - Add search support to yunikorn site
* [YUNIKORN-951] - Add perf-tool description into benchmarking tutorial page
* [YUNIKORN-983] - interface message complexity, phase 2
* [YUNIKORN-990] - DocSearch Migration
* [YUNIKORN-991] - [UMBRELLA] YuniKorn 1.0 release efforts
* [YUNIKORN-996] - update roadmap with v1.0 plan
* [YUNIKORN-1025] - Run github actions on push as well as pull request
* [YUNIKORN-1040] - add e2e test that re-starts the scheduler pod
* [YUNIKORN-1044] - Publish design doc for scheduler plugin to website.
* [YUNIKORN-1048] - Update how to contribute to documentation
* [YUNIKORN-1056] - Update website with info about how to use scheduler plugin
* [YUNIKORN-1058] - Update e2e tests to exercise plugin mode as well
* [YUNIKORN-1060] - Remove Kubernetes 1.19 from e2e tests
* [YUNIKORN-1061] - Remove 1.19 from supported K8s versions in helm charts
* [YUNIKORN-1066] - Fix typos in website
* [YUNIKORN-1068] - Doc changes for state dump file path
* [YUNIKORN-1073] - AllocationAskRelease field allocationkey should be allocationKey
* [YUNIKORN-1074] - Make e2e tests more resilient
* [YUNIKORN-1080] - remove travis build badges
* [YUNIKORN-1081] - Don't expose helm services externally by default
* [YUNIKORN-1083] - Doc step for deploying admission controller in manual process
* [YUNIKORN-1125] - remove unlimited node
* [YUNIKORN-1140] - Update e2e tests to work with new REST API changes
* [YUNIKORN-1142] - Document admission controller TLS certificate management