你想添加什么内容?
理想情况下,将验证逻辑放在staging中,这样JobTemplate的用户就可以检查验证错误并记录错误。
我认为我们只需要一个返回fieldErrors的函数,这样我们就可以重用相同的验证逻辑,同时在使用JobTemplate时也可以进行一些验证。
为什么需要这个?
在JobSet项目中,我们在JobSet规范中组合JobTemplate。这工作得很好,但我们在验证JobTemplate方面遇到了麻烦。基本上创建它后,模板可能会失败。
我们希望有一种方法可以使用pkg/validation中的相同规则来验证JobTemplate。如果我们有一个可以在API中调用的函数,那就太好了。
查看kubernetes-sigs/jobset#422。
8条答案
按热度按时间kulphzqa1#
这个问题目前正在等待分类。
如果SIG或子项目确定这是一个相关的问题,他们将通过应用
triage/accepted
标签并提供进一步的指导来接受它。组织成员可以通过在评论中写入
/triage accepted
来添加triage/accepted
标签。有关使用PR评论与我互动的说明,请查看here。如果您对我的行为有任何问题或建议,请针对kubernetes/test-infra仓库提出一个问题。
uajslkp62#
/sig apps
/wg batch
kxe2p93d3#
我们想要重用的主要功能是:https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/batch/validation/validation.go#L626。如果其他人有使用这些模板的需求,我也愿意将其他验证模板移动到staging。
vhmi4jdf4#
cc @thockin@ahg-g@danielvegamyhre@alculquicondor
fcg9iug35#
尽管如此,验证逻辑使用了内部类型,而在作业集控制器中并不存在这些类型。
bweufnob6#
是的,不幸的是,开放编码验证逻辑没有版本控制,这使得它不适用。正确的做法是尝试将所有内容都转换为声明式验证,这样类型就可以携带自己的验证信息。
8ehkhllq7#
Kubernetes项目目前缺乏足够的贡献者来充分应对所有问题。
此机器人根据以下规则对未分类的问题进行分级处理:
lifecycle/stale
应用后的90天不活动后,将应用lifecycle/stale
lifecycle/stale
应用后的30天不活动后,将应用lifecycle/rotten
lifecycle/rotten
应用后的30天不活动后,该问题将被关闭您可以:
/remove-lifecycle stale
/close
关闭此问题请将反馈发送至sig-contributor-experience@kubernetes/community。
/lifecycle stale
sg2wtvxw8#
Kubernetes项目目前缺乏足够的活跃贡献者来充分应对所有问题。
此机器人根据以下规则对未分类的问题进行分级处理:
lifecycle/stale
应用后的90天内无活动,将应用lifecycle/stale
lifecycle/stale
应用后的30天内无活动,将应用lifecycle/rotten
lifecycle/rotten
应用后的30天内无活动,将关闭该问题您可以:
/remove-lifecycle rotten
标记此问题为新鲜/close
关闭此问题请将反馈发送至sig-contributor-experience@kubernetes/community。
/lifecycle rotten