{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":120642119,"defaultBranch":"master","name":"kubernetes","ownerLogin":"pohly","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2018-02-07T16:39:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/22076?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1727081958.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"e5aa609513d9576dda824fe9b54c2c1bb07cd05b","ref":"refs/heads/e2e-framework-docs","pushedAt":"2024-09-23T08:59:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"e2e framework: better documentation of ExpectNoError\n\nIt wasn't clear from the comments what \"explain\" does, leading to calls like\nthis:\n\n framework.ExpectNoError(fmt.Errorf(\"additional info ....: %v\", ..., err))","shortMessageHtmlLink":"e2e framework: better documentation of ExpectNoError"}},{"before":"0ff91183d72f24f9192285633f927cabe1a170ec","after":"da0011a0ddfac3065e23480062009f151ac8a9f0","ref":"refs/heads/dra-scheduler-queueing-hints-fix","pushedAt":"2024-09-23T08:16:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: add special ActionType for ResourceClaim changes\n\nHaving a dedicated ActionType which only gets used when the scheduler itself\nalready detects some change in the list of generated ResourceClaims of a pod\navoids calling the DRA plugin for unrelated Pod changes.","shortMessageHtmlLink":"DRA scheduler: add special ActionType for ResourceClaim changes"}},{"before":"5386e148879141468757943c0819ca351f24648c","after":"ed85d8edefc8493388132b951aed07cec30466d3","ref":"refs/heads/scheduler-perf-updates","pushedAt":"2024-09-23T08:08:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"scheduler_perf: track and visualize progress over time\n\nThis is useful to see whether pod scheduling happens in bursts and how it\nbehaves over time, which is relevant in particular for dynamic resource\nallocation where it may become harder at the end to find the node which still\nhas resources available.\n\nBesides \"pods scheduled\" it's also useful to know how many attempts were\nneeded, so schedule_attempts_total also gets sampled and stored.\n\nTo visualize the result of one or more test runs, use:\n\n gnuplot.sh *.dat","shortMessageHtmlLink":"scheduler_perf: track and visualize progress over time"}},{"before":"274c63e4f800d6f30a3181579928d79d67a6cdf4","after":"5386e148879141468757943c0819ca351f24648c","ref":"refs/heads/scheduler-perf-updates","pushedAt":"2024-09-23T08:00:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"scheduler_perf: track and visualize progress over time\n\nThis is useful to see whether pod scheduling happens in bursts and how it\nbehaves over time, which is relevant in particular for dynamic resource\nallocation where it may become harder at the end to find the node which still\nhas resources available.\n\nBesides \"pods scheduled\" it's also useful to know how many attempts were\nneeded, so schedule_attempts_total also gets sampled and stored.\n\nTo visualize the result of one or more test runs, use:\n\n gnuplot.sh *.dat","shortMessageHtmlLink":"scheduler_perf: track and visualize progress over time"}},{"before":"e664177c955f491d23092b92840c2e0fbd5c9c26","after":"0ff91183d72f24f9192285633f927cabe1a170ec","ref":"refs/heads/dra-scheduler-queueing-hints-fix","pushedAt":"2024-09-23T06:46:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: add special ActionType for ResourceClaim changes\n\nHaving a dedicated ActionType which only gets used when the scheduler itself\nalready detects some change in the list of generated ResourceClaims of a pod\navoids calling the DRA plugin for unrelated Pod changes.","shortMessageHtmlLink":"DRA scheduler: add special ActionType for ResourceClaim changes"}},{"before":"abadeb439c09a99a3a765adc93dbe2ae7a4f1a2d","after":"da7eef82d0af4c7c16c9001fd78129efc3560f6d","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-23T06:03:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"63a1462bdd9d179ed5fba05cafe8819a943a265e","after":"e664177c955f491d23092b92840c2e0fbd5c9c26","ref":"refs/heads/dra-scheduler-queueing-hints-fix","pushedAt":"2024-09-20T18:56:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: add special ActionType for ResourceClaim changes\n\nHaving a dedicated ActionType which only gets used when the scheduler itself\nalready detects some change in the list of generated ResourceClaims of a pod\navoids calling the DRA plugin for unrelated Pod changes.","shortMessageHtmlLink":"DRA scheduler: add special ActionType for ResourceClaim changes"}},{"before":null,"after":"cb78a384d63d973cda53b88f982ab1b890ec17cf","ref":"refs/heads/dra-1.32-api","pushedAt":"2024-09-20T18:41:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA kubelet: add v1beta1 gRPC API\n\nThe v1beta1 API is identical to the previous v1alpha4, which erroneously was\nstill called \"v1alpha3\" in a few places, including the gRPC interface\ndefinition itself.\n\nThe only reason for v1beta1 is to document the increased maturity of this API.\n\nTo simplify the transition, kubelet supports both v1alpha4 and v1beta1, picking\nthe more recent automatically. All that DRA driver authors need to do to\nimplement v1beta1 is to update to the latest\nk8s.io/dynamic-resource-allocation/kubeletplugin: it will automatically\nregister both API versions unless explicitly configured otherwise.\n\nDRA driver authors may replace their package import of v1alpha4 with v1beta1,\nbut they don't have to because the types in both packages are the same.","shortMessageHtmlLink":"DRA kubelet: add v1beta1 gRPC API"}},{"before":"0ee483204f6f7dfe5d59e8ac17e8024f486ca814","after":"63a1462bdd9d179ed5fba05cafe8819a943a265e","ref":"refs/heads/dra-scheduler-queueing-hints-fix","pushedAt":"2024-09-20T12:58:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: add special ActionType for ResourceClaim changes\n\nHaving a dedicated ActionType which only gets used when the scheduler itself\nalready detects some change in the list of generated ResourceClaims of a pod\navoids calling the DRA plugin for unrelated Pod changes.","shortMessageHtmlLink":"DRA scheduler: add special ActionType for ResourceClaim changes"}},{"before":"829071124985045dbeee84b4b03feac89b024968","after":"abadeb439c09a99a3a765adc93dbe2ae7a4f1a2d","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-20T12:28:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":null,"after":"274c63e4f800d6f30a3181579928d79d67a6cdf4","ref":"refs/heads/scheduler-perf-updates","pushedAt":"2024-09-20T07:31:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"scheduler_perf: track and visualize progress over time\n\nThis is useful to see whether pod scheduling happens in bursts and how it\nbehaves over time, which is relevant in particular for dynamic resource\nallocation where it may become harder at the end to find the node which still\nhas resources available.\n\nBesides \"pods scheduled\" it's also useful to know how many attempts were\nneeded, so schedule_attempts_total also gets sampled and stored.\n\nTo visualize the result of one or more test runs, use:\n\n gnuplot.sh *.dat","shortMessageHtmlLink":"scheduler_perf: track and visualize progress over time"}},{"before":null,"after":"0ee483204f6f7dfe5d59e8ac17e8024f486ca814","ref":"refs/heads/dra-scheduler-queueing-hints-fix","pushedAt":"2024-09-20T07:23:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: fix queuing hint support\n\nd66f8f9 added that \"plugins have to implement a QueueingHint for Pod/Update\nevent if the rejection from them could be resolved by updating unscheduled\nPods itself\".\n\nThis applies to DRA because the name of a generated ResourceClaim must be\nrecorded in the pod status before the pod can be scheduled.","shortMessageHtmlLink":"DRA scheduler: fix queuing hint support"}},{"before":"88f8eb35dace02314007ee33e4cd73130f75e5ab","after":"829071124985045dbeee84b4b03feac89b024968","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-20T07:15:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"cc01ec208eb19415814bdaa5af1cb6c514e38023","after":"7a14942f3fac94769f3debbdc4551e103cccbcba","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-19T15:51:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: maintain a set of allocated device IDs\n\nReacting to events from the informer cache (indirectly, through the assume\ncache) is more efficient than repeatedly listing it's content and then\nconverting to IDs with unique strings.\n\n goos: linux\n goarch: amd64\n pkg: k8s.io/kubernetes/test/integration/scheduler_perf\n cpu: Intel(R) Core(TM) i9-7980XE CPU @ 2.60GHz\n │ before │ after │\n │ SchedulingThroughput/Average │ SchedulingThroughput/Average vs base │\n PerfScheduling/SchedulingWithResourceClaimTemplateStructured/5000pods_500nodes-36 54.70 ± 6% 76.81 ± 6% +40.42% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/empty_100nodes-36 106.4 ± 4% 105.6 ± 2% ~ (p=0.413 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/empty_500nodes-36 120.0 ± 4% 118.9 ± 7% ~ (p=0.117 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/half_100nodes-36 112.5 ± 4% 105.9 ± 4% -5.87% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/half_500nodes-36 87.13 ± 4% 123.55 ± 4% +41.80% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/full_100nodes-36 113.4 ± 2% 103.3 ± 2% -8.95% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/full_500nodes-36 65.55 ± 3% 121.30 ± 3% +85.05% (p=0.002 n=6)\n geomean 90.81 106.8 +17.57%","shortMessageHtmlLink":"DRA scheduler: maintain a set of allocated device IDs"}},{"before":"d29ed2e4e08822bc6aaf30152a8b12dce9ef8769","after":"cc01ec208eb19415814bdaa5af1cb6c514e38023","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-19T15:21:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: maintain a set of allocated device IDs\n\nReacting to events from the informer cache (indirectly, through the assume\ncache) is more efficient than repeatedly listing it's content and then\nconverting to IDs with unique strings.\n\n goos: linux\n goarch: amd64\n pkg: k8s.io/kubernetes/test/integration/scheduler_perf\n cpu: Intel(R) Core(TM) i9-7980XE CPU @ 2.60GHz\n │ before │ after │\n │ SchedulingThroughput/Average │ SchedulingThroughput/Average vs base │\n PerfScheduling/SchedulingWithResourceClaimTemplateStructured/5000pods_500nodes-36 54.70 ± 6% 76.81 ± 6% +40.42% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/empty_100nodes-36 106.4 ± 4% 105.6 ± 2% ~ (p=0.413 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/empty_500nodes-36 120.0 ± 4% 118.9 ± 7% ~ (p=0.117 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/half_100nodes-36 112.5 ± 4% 105.9 ± 4% -5.87% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/half_500nodes-36 87.13 ± 4% 123.55 ± 4% +41.80% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/full_100nodes-36 113.4 ± 2% 103.3 ± 2% -8.95% (p=0.002 n=6)\n PerfScheduling/SteadyStateClusterResourceClaimTemplateStructured/full_500nodes-36 65.55 ± 3% 121.30 ± 3% +85.05% (p=0.002 n=6)\n geomean 90.81 106.8 +17.57%","shortMessageHtmlLink":"DRA scheduler: maintain a set of allocated device IDs"}},{"before":null,"after":"d29ed2e4e08822bc6aaf30152a8b12dce9ef8769","ref":"refs/heads/dra-structured-performance-full","pushedAt":"2024-09-19T07:11:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: implement CEL attribute proxies\n\nThe main advantage for the simple scenario without any attribute checks in CEL\nis that it reduces memory allocations. Once a CEL expression really accesses\nattributes, pre-computing the map lookup might be faster, too.","shortMessageHtmlLink":"DRA scheduler: implement CEL attribute proxies"}},{"before":"3aad2892e3ce821fa844252d4a035b57509dc700","after":"d29ed2e4e08822bc6aaf30152a8b12dce9ef8769","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-19T07:11:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: implement CEL attribute proxies\n\nThe main advantage for the simple scenario without any attribute checks in CEL\nis that it reduces memory allocations. Once a CEL expression really accesses\nattributes, pre-computing the map lookup might be faster, too.","shortMessageHtmlLink":"DRA scheduler: implement CEL attribute proxies"}},{"before":"fbc0c00bd2b132b434f63c613a8e1f4c4c4ab57e","after":"3aad2892e3ce821fa844252d4a035b57509dc700","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-18T17:11:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: implement CEL attribute proxies\n\nThe main advantage for the simple scenario without any attribute checks in CEL\nis that it reduces memory allocations. Once a CEL expression really accesses\nattributes, pre-computing the map lookup might be faster, too.\n\n │ before │ after │\n │ SchedulingThroughput/Average │ SchedulingThroughput/Average vs base │\n 88.42 ± 7% 93.07 ± 14% ~ (p=0.310 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc50 │ SchedulingThroughput/Perc50 vs base │\n 16.01 ± 6% 17.01 ± 18% ~ (p=0.069 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc90 │ SchedulingThroughput/Perc90 vs base │\n 380.1 ± 3% 377.0 ± 5% ~ (p=0.485 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc95 │ SchedulingThroughput/Perc95 vs base │\n 389.8 ± 2% 379.5 ± 5% ~ (p=0.084 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc99 │ SchedulingThroughput/Perc99 vs base │\n 405.5 ± 5% 387.5 ± 3% -4.44% (p=0.041 n=6)\n\n │ before │ after │\n │ runtime_seconds │ runtime_seconds vs base │\n 63.36 ± 5% 60.78 ± 7% ~ (p=0.093 n=6)","shortMessageHtmlLink":"DRA scheduler: implement CEL attribute proxies"}},{"before":"025fd5a78cff49a4ddca4b889935b76a63169796","after":"fbc0c00bd2b132b434f63c613a8e1f4c4c4ab57e","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-13T16:01:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: implement CEL attribute proxies\n\nThe main advantage for the simple scenario without any attribute checks in CEL\nis that it reduces memory allocations. Once a CEL expression really accesses\nattributes, pre-computing the map lookup might be faster, too.\n\n │ before │ after │\n │ SchedulingThroughput/Average │ SchedulingThroughput/Average vs base │\n 88.42 ± 7% 93.07 ± 14% ~ (p=0.310 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc50 │ SchedulingThroughput/Perc50 vs base │\n 16.01 ± 6% 17.01 ± 18% ~ (p=0.069 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc90 │ SchedulingThroughput/Perc90 vs base │\n 380.1 ± 3% 377.0 ± 5% ~ (p=0.485 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc95 │ SchedulingThroughput/Perc95 vs base │\n 389.8 ± 2% 379.5 ± 5% ~ (p=0.084 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc99 │ SchedulingThroughput/Perc99 vs base │\n 405.5 ± 5% 387.5 ± 3% -4.44% (p=0.041 n=6)\n\n │ before │ after │\n │ runtime_seconds │ runtime_seconds vs base │\n 63.36 ± 5% 60.78 ± 7% ~ (p=0.093 n=6)","shortMessageHtmlLink":"DRA scheduler: implement CEL attribute proxies"}},{"before":"215861c4752400d0ccd73eb9e0531d41aa69e318","after":"2df3c1238a7ccdbae642f177c61b3f75a50b4306","ref":"refs/heads/log-client-go-tools-cache-apis","pushedAt":"2024-09-13T14:26:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"client-go/tools/cache: add APIs with context parameter\n\nThe context is used for cancellation and to support contextual logging.\n\nIn most cases, alternative *WithContext APIs get added, except for\nNewIntegerResourceVersionMutationCache where code searches indicate that the\nAPI is not used downstream.\n\nConverting Kubernetes to use the other new alternatives will follow. In the\nmeantime, usage of the new alternatives cannot be enforced via logcheck\nyet (see https://github.com/kubernetes/kubernetes/issues/126379 for the\nprocess).","shortMessageHtmlLink":"client-go/tools/cache: add APIs with context parameter"}},{"before":"733fc7aab70519abc02609987828bc45af26f909","after":"025fd5a78cff49a4ddca4b889935b76a63169796","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-13T11:17:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: implement CEL attribute proxies\n\nThe main advantage for the simple scenario without any attribute checks in CEL\nis that it reduces memory allocations. Once a CEL expression really accesses\nattributes, pre-computing the map lookup might be faster, too.\n\n │ before │ after │\n │ SchedulingThroughput/Average │ SchedulingThroughput/Average vs base │\n 88.42 ± 7% 93.07 ± 14% ~ (p=0.310 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc50 │ SchedulingThroughput/Perc50 vs base │\n 16.01 ± 6% 17.01 ± 18% ~ (p=0.069 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc90 │ SchedulingThroughput/Perc90 vs base │\n 380.1 ± 3% 377.0 ± 5% ~ (p=0.485 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc95 │ SchedulingThroughput/Perc95 vs base │\n 389.8 ± 2% 379.5 ± 5% ~ (p=0.084 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc99 │ SchedulingThroughput/Perc99 vs base │\n 405.5 ± 5% 387.5 ± 3% -4.44% (p=0.041 n=6)\n\n │ before │ after │\n │ runtime_seconds │ runtime_seconds vs base │\n 63.36 ± 5% 60.78 ± 7% ~ (p=0.093 n=6)","shortMessageHtmlLink":"DRA scheduler: implement CEL attribute proxies"}},{"before":"37f4fc074e74fc3ec3a6ee98185914c447ed45f0","after":"733fc7aab70519abc02609987828bc45af26f909","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-12T17:48:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"5fcc6f5eda131b50fb538f86de2211642cb5a373","after":"88f8eb35dace02314007ee33e4cd73130f75e5ab","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-11T15:23:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"811d4497060f62bcd1ee1c6c71d86134ee6648a8","after":"5fcc6f5eda131b50fb538f86de2211642cb5a373","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-11T13:57:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"21768a911271b6bac2992501dcdcc4d03c7242a2","after":"811d4497060f62bcd1ee1c6c71d86134ee6648a8","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-11T13:53:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"f48526807ab72b4ea4ab428fc89a8a6fb900dce0","after":"37f4fc074e74fc3ec3a6ee98185914c447ed45f0","ref":"refs/heads/dra-structured-performance","pushedAt":"2024-09-10T19:41:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA scheduler: implement CEL attribute proxies\n\nThe main advantage for the simple scenario without any attribute checks in CEL\nis that it reduces memory allocations. Once a CEL expression really accesses\nattributes, pre-computing the map lookup might be faster, too.\n\n │ before │ after │\n │ SchedulingThroughput/Average │ SchedulingThroughput/Average vs base │\n 88.42 ± 7% 93.07 ± 14% ~ (p=0.310 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc50 │ SchedulingThroughput/Perc50 vs base │\n 16.01 ± 6% 17.01 ± 18% ~ (p=0.069 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc90 │ SchedulingThroughput/Perc90 vs base │\n 380.1 ± 3% 377.0 ± 5% ~ (p=0.485 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc95 │ SchedulingThroughput/Perc95 vs base │\n 389.8 ± 2% 379.5 ± 5% ~ (p=0.084 n=6)\n\n │ before │ after │\n │ SchedulingThroughput/Perc99 │ SchedulingThroughput/Perc99 vs base │\n 405.5 ± 5% 387.5 ± 3% -4.44% (p=0.041 n=6)\n\n │ before │ after │\n │ runtime_seconds │ runtime_seconds vs base │\n 63.36 ± 5% 60.78 ± 7% ~ (p=0.093 n=6)","shortMessageHtmlLink":"DRA scheduler: implement CEL attribute proxies"}},{"before":"309c9857f57348a14aaff9c1e512ed349e1ee7b3","after":"21768a911271b6bac2992501dcdcc4d03c7242a2","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-10T10:55:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"c665acd66440957c651397a1122a584d0de86d96","after":"309c9857f57348a14aaff9c1e512ed349e1ee7b3","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-10T10:13:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":null,"after":"c665acd66440957c651397a1122a584d0de86d96","ref":"refs/heads/dra-admin-access-in-status","pushedAt":"2024-09-10T10:12:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"DRA API: AdminAccess in DeviceRequestAllocationResult\n\nDrivers need to know that because admin access may also grant additional\npermissions. The allocator needs to ignore such results when determining which\ndevices are considered as allocated.\n\nIn both cases it is conceptually cleaner to not rely on the content of the\nClaimSpec.","shortMessageHtmlLink":"DRA API: AdminAccess in DeviceRequestAllocationResult"}},{"before":"ecd97887cd6e8c8ffa869cdbcbdda4b2602e8845","after":"b1d95eb8fe58a80aa17fbafaabf95bc221d6d30c","ref":"refs/heads/test-normalization","pushedAt":"2024-09-08T09:15:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pohly","name":"Patrick Ohly","path":"/pohly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22076?s=80&v=4"},"commit":{"message":"test: optionally skip normalizing `go test` targets\n\nNormalizing them takes ~3 minutes on a fast desktop with a populated build\ncache because Go gets invoked multiple times to list packages. The output of\n`go test` and `gotestsum` is the same without normalization, so it seems safe\nto skip it.\n\nHowever, skipping normalization has to be optional because \"make test\nWHAT=pkg/kubelet\" (relative path without leading dot) is valid and wouldn't\nwork when passed to `go test` directly.","shortMessageHtmlLink":"test: optionally skip normalizing go test targets"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwODo1OToxOC4wMDAwMDBazwAAAAS9vG2O","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwODo1OToxOC4wMDAwMDBazwAAAAS9vG2O","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wOFQwOToxNToxMy4wMDAwMDBazwAAAASwBPan"}},"title":"Activity · pohly/kubernetes"}