这是一个需要在API流实现后进行清理的工作跟踪问题([KEP]: kubernetes/enhancements#3157)
TODO:
- apiserver:一旦
WatchList
功能门始终打开,就在方案中注册SetListOptionsDefaults
函数(xref) - apiserver:当
SetListOptionsDefaults
在方案中注册时,删除此方法的所有调用者。 - reflector/watchlist:使用增加的超时重试
- reflector/watchlist:统一错误处理
- reflector:为新功能添加e2e/集成测试
- cacher:当
lastProcessedResourceVersion==0
(xref)时,更有效地删除已关闭的观察者。 - 为了将WatchList功能晋升为beta版本,etcd3实现也必须/应该支持它。(xref)(已在Add support for API streaming to the etcd store implementation #119557中修复)
- 使用e2e/apimachinery/watchlist重新设计
verifyStore
方法(xref: integration/apimachinery: add TestReflectorWatchListFallback integration test #120971) - 考虑将
reflector.UseWatchList
设为私有字段。由于我们在etcd存储层上实现了“api流”,因此它应该可以工作。(
kubernetes/staging/src/k8s.io/client-go/tools/cache/reflector.go
第110行 in 4b39150
| |UseWatchListbool|
)
- 清理
kubernetes-e2e-gce-cos-alpha-features
作业,从https://github.com/kubernetes/test-infra/pull/29271/files中删除WatchList
- 考虑验证rest.WatchList方法的请求参数(例如sendInitialEvents)
- 将
NoopTicker
移动到k8s.io/utils
client-go/reflector:在未收到初始事件的书签事件时发出警告 #124614 (review)
4条答案
按热度按时间dw1jzc5e1#
/assign @p0lyn0mial
ttvkxqim2#
/sig api-machinery
yiytaume3#
/triage accepted
z6psavjg4#
/cc