2022 年第 31 周,以下是本周的开源周报。
本周主要 focus 在 databend cloud 新版本的功能实现上,并且由于对系统和代码实现缺少深入的了解,在对一些 corner case 的处理上欠考虑,导致了一些本不该出现的 bug,浪费了一些时间。警示自己在考虑问题的时候要全面,同时也要尽快地熟悉 databend cloud 的代码细节。
这里只记录一个小的问题,使用 lister 从 k8s 集群 get 资源的时候,需要对返回的 err 做 NotFoundErr 和其他 Error 的判断,尤其是在获取其他资源的时候,不能因为 NotFoundErr 的子资源就返回报错。
1 | r, err := lister.Resources(ns).Get(name) |
要做这样的处理:1
2
3
4
5if err != nil && errors.IsNotFound(err) {
// something
}else if err != nil {
// return err
}
开源方面,kubectl-kruise 插件收到了开发者一个 bug report ,主要是说 kubectl-kruise rollout status clone/sample
在原地升级的场景下会卡主,即使所有 Pod 都已经更新完成程序也不会退出。这个问题是由于 rollout status 中缺少对原地升级完成的判断条件,于是就提了一个 PR 解决这个问题。
另外一个支持 Openkruise SidecarSet 根据 namespace selector 注入 Pod 的 PR 正在 review 中,还需要根据 reviewer 的 comment 进行修改。
绿树浓荫夏日长,不知不觉七月已近尾声,下个周报就八月份见了,夏天大概要过去了吧。