should log error when error in parsing device plugin image
This commit is contained in:
@@ -21,6 +21,7 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/uuid"
|
"k8s.io/apimachinery/pkg/util/uuid"
|
||||||
|
|
||||||
|
"fmt"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -67,10 +68,16 @@ func NVIDIADevicePlugin(ns string) *v1.Pod {
|
|||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetGPUDevicePluginImage() string {
|
func GetGPUDevicePluginImage() (string, error) {
|
||||||
ds, err := DsFromManifest(GPUDevicePluginDSYAML)
|
ds, err := DsFromManifest(GPUDevicePluginDSYAML)
|
||||||
if err != nil || ds == nil || len(ds.Spec.Template.Spec.Containers) < 1 {
|
if err != nil {
|
||||||
return ""
|
return "", err
|
||||||
}
|
}
|
||||||
return ds.Spec.Template.Spec.Containers[0].Image
|
if ds == nil {
|
||||||
|
return "", fmt.Errorf("empty DaemonSet from DSYAML")
|
||||||
|
}
|
||||||
|
if len(ds.Spec.Template.Spec.Containers) < 1 {
|
||||||
|
return "", fmt.Errorf("no container specified in the DSYAML")
|
||||||
|
}
|
||||||
|
return ds.Spec.Template.Spec.Containers[0].Image, nil
|
||||||
}
|
}
|
||||||
|
@@ -52,12 +52,18 @@ var NodeImageWhiteList = sets.NewString(
|
|||||||
imageutils.GetE2EImage(imageutils.Netexec),
|
imageutils.GetE2EImage(imageutils.Netexec),
|
||||||
imageutils.GetE2EImage(imageutils.Nonewprivs),
|
imageutils.GetE2EImage(imageutils.Nonewprivs),
|
||||||
imageutils.GetPauseImageNameForHostArch(),
|
imageutils.GetPauseImageNameForHostArch(),
|
||||||
framework.GetGPUDevicePluginImage(),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// Union NodeImageWhiteList and CommonImageWhiteList into the framework image white list.
|
// Union NodeImageWhiteList and CommonImageWhiteList into the framework image white list.
|
||||||
framework.ImageWhiteList = NodeImageWhiteList.Union(commontest.CommonImageWhiteList)
|
framework.ImageWhiteList = NodeImageWhiteList.Union(commontest.CommonImageWhiteList)
|
||||||
|
|
||||||
|
// parse the device plugin image from url
|
||||||
|
if image, err := framework.GetGPUDevicePluginImage(); err != nil {
|
||||||
|
glog.Errorf("Failed to parse the device plugin image: %v", err)
|
||||||
|
} else {
|
||||||
|
framework.ImageWhiteList.Insert(image)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// puller represents a generic image puller
|
// puller represents a generic image puller
|
||||||
|
Reference in New Issue
Block a user