mirror of
https://github.com/kubernetes/sample-controller.git
synced 2026-04-12 00:00:26 +08:00
Merge pull request #55188 from mindprince/accelerator-monitoring
Automatic merge from submit-queue (batch tested with PRs 55798, 49579, 54862, 55188, 51990). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Add monitoring support for hardware accelerators Currently only NVIDIA GPU monitoring is implemented. Feature repo issue: https://github.com/kubernetes/features/issues/369 cAdvisor PR: https://github.com/google/cadvisor/pull/1762 /kind feature /sig node /sig instrumentation /area hw-accelerators **Release note**: ```release-note Kubelet now exposes metrics for NVIDIA GPUs attached to the containers. ``` Kubernetes-commit: 779105673ab2f00af9e02dc9ac3c6413588aeae4
This commit is contained in:
+15
-1
@@ -139,6 +139,7 @@ func NewParameterCodec(scheme *Scheme) ParameterCodec {
|
||||
typer: scheme,
|
||||
convertor: scheme,
|
||||
creator: scheme,
|
||||
defaulter: scheme,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,6 +148,7 @@ type parameterCodec struct {
|
||||
typer ObjectTyper
|
||||
convertor ObjectConvertor
|
||||
creator ObjectCreater
|
||||
defaulter ObjectDefaulter
|
||||
}
|
||||
|
||||
var _ ParameterCodec = ¶meterCodec{}
|
||||
@@ -163,9 +165,17 @@ func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.Gro
|
||||
}
|
||||
for i := range targetGVKs {
|
||||
if targetGVKs[i].GroupVersion() == from {
|
||||
return c.convertor.Convert(¶meters, into, nil)
|
||||
if err := c.convertor.Convert(¶meters, into, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
// in the case where we going into the same object we're receiving, default on the outbound object
|
||||
if c.defaulter != nil {
|
||||
c.defaulter.Default(into)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
input, err := c.creator.New(from.WithKind(targetGVKs[0].Kind))
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -173,6 +183,10 @@ func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.Gro
|
||||
if err := c.convertor.Convert(¶meters, input, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
// if we have defaulter, default the input before converting to output
|
||||
if c.defaulter != nil {
|
||||
c.defaulter.Default(input)
|
||||
}
|
||||
return c.convertor.Convert(input, into, nil)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user