mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-12 05:21:58 +00:00
Use nvidia driver installer from external repo.
That installer decouples itself from COS image version (as long as the image version is newer than cos-stable-59-9460-60-0). A separate commit in the test-infra repo will update the cos version used for this test to cos-stable-59-9460-60-0.
This commit is contained in:
parent
7560142e27
commit
9fed768732
@ -17,6 +17,8 @@ limitations under the License.
|
|||||||
package e2e
|
package e2e
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -29,7 +31,6 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
"k8s.io/kubernetes/test/e2e/generated"
|
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
@ -42,7 +43,7 @@ const (
|
|||||||
// Nvidia driver installation can take upwards of 5 minutes.
|
// Nvidia driver installation can take upwards of 5 minutes.
|
||||||
driverInstallTimeout = 10 * time.Minute
|
driverInstallTimeout = 10 * time.Minute
|
||||||
// Nvidia COS driver installer daemonset.
|
// Nvidia COS driver installer daemonset.
|
||||||
cosNvidiaDriverInstallerPath = "cluster/gce/gci/nvidia-gpus/cos-installer-daemonset.yaml"
|
cosNvidiaDriverInstallerUrl = "https://raw.githubusercontent.com/ContainerEngine/accelerators/stable/cos-nvidia-gpu-installer/daemonset.yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeCudaAdditionTestPod() *v1.Pod {
|
func makeCudaAdditionTestPod() *v1.Pod {
|
||||||
@ -135,7 +136,7 @@ func testNvidiaGPUsOnCOS(f *framework.Framework) {
|
|||||||
// GPU drivers might have already been installed.
|
// GPU drivers might have already been installed.
|
||||||
if !areGPUsAvailableOnAllSchedulableNodes(f) {
|
if !areGPUsAvailableOnAllSchedulableNodes(f) {
|
||||||
// Install Nvidia Drivers.
|
// Install Nvidia Drivers.
|
||||||
ds := dsFromManifest(cosNvidiaDriverInstallerPath)
|
ds := dsFromManifest(cosNvidiaDriverInstallerUrl)
|
||||||
ds.Namespace = f.Namespace.Name
|
ds.Namespace = f.Namespace.Name
|
||||||
_, err := f.ClientSet.Extensions().DaemonSets(f.Namespace.Name).Create(ds)
|
_, err := f.ClientSet.Extensions().DaemonSets(f.Namespace.Name).Create(ds)
|
||||||
framework.ExpectNoError(err, "failed to create daemonset")
|
framework.ExpectNoError(err, "failed to create daemonset")
|
||||||
@ -158,10 +159,16 @@ func testNvidiaGPUsOnCOS(f *framework.Framework) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// dsFromManifest reads a .json/yaml file and returns the daemonset in it.
|
// dsFromManifest reads a .json/yaml file and returns the daemonset in it.
|
||||||
func dsFromManifest(fileName string) *extensions.DaemonSet {
|
func dsFromManifest(url string) *extensions.DaemonSet {
|
||||||
var controller extensions.DaemonSet
|
var controller extensions.DaemonSet
|
||||||
framework.Logf("Parsing ds from %v", fileName)
|
framework.Logf("Parsing ds from %v", url)
|
||||||
data := generated.ReadOrDie(fileName)
|
|
||||||
|
response, err := http.Get(url)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
defer response.Body.Close()
|
||||||
|
|
||||||
|
data, err := ioutil.ReadAll(response.Body)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
json, err := utilyaml.ToJSON(data)
|
json, err := utilyaml.ToJSON(data)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
Loading…
Reference in New Issue
Block a user