@@ -17,6 +17,8 @@ limitations under the License.
1717package e2e
1818
1919import (
20+ "bytes"
21+ "os/exec"
2022 "testing"
2123
2224 . "github.com/onsi/gomega"
@@ -51,8 +53,6 @@ func TestMNISTRayClusterSDK(t *testing.T) {
5153 "requirements.txt" : ReadFile (test , "mnist_pip_requirements.txt" ),
5254 // MNIST training script
5355 "mnist.py" : ReadFile (test , "mnist.py" ),
54- // SDK Wheel File
55- "codeflare_sdk-0.0.0.dev0-py3-none-any.whl" : ReadWhlFile (test , "codeflare_sdk-0.0.0.dev0-py3-none-any.whl" ),
5656 // codeflare-sdk installation script
5757 "install-codeflare-sdk.sh" : ReadFile (test , "install-codeflare-sdk.sh" ),
5858 })
@@ -113,6 +113,30 @@ func TestMNISTRayClusterSDK(t *testing.T) {
113113 BackoffLimit : Ptr (int32 (0 )),
114114 Template : corev1.PodTemplateSpec {
115115 Spec : corev1.PodSpec {
116+ Volumes : []corev1.Volume {
117+ {
118+ Name : "test" ,
119+ VolumeSource : corev1.VolumeSource {
120+ ConfigMap : & corev1.ConfigMapVolumeSource {
121+ LocalObjectReference : corev1.LocalObjectReference {
122+ Name : config .Name ,
123+ },
124+ },
125+ },
126+ },
127+ {
128+ Name : "codeflare-sdk" ,
129+ VolumeSource : corev1.VolumeSource {
130+ EmptyDir : & corev1.EmptyDirVolumeSource {},
131+ },
132+ },
133+ {
134+ Name : "workdir" ,
135+ VolumeSource : corev1.VolumeSource {
136+ EmptyDir : & corev1.EmptyDirVolumeSource {},
137+ },
138+ },
139+ },
116140 Containers : []corev1.Container {
117141 {
118142 Name : "test" ,
@@ -123,13 +147,20 @@ func TestMNISTRayClusterSDK(t *testing.T) {
123147 {Name : "PYTHONUSERBASE" , Value : "/workdir" },
124148 {Name : "RAY_IMAGE" , Value : GetRayImage ()},
125149 },
126- Command : []string {"/bin/sh" , "-c" , "cp /test/* . && chmod +x install-codeflare-sdk.sh && ./install-codeflare-sdk.sh && python mnist_raycluster_sdk.py" + " " + namespace .Name },
127- // Command: []string{"/bin/sh", "-c", "pip install /test/codeflare_sdk-0.0.0.dev0-py3-none-any.whl && cp /test/* . && python mnist_raycluster_sdk.py" + " " + namespace.Name},
150+ Command : []string {
151+ "/bin/sh" , "-c" ,
152+ "while [ ! -f /codeflare-sdk/pyproject.toml ]; do sleep 1; done; " +
153+ "cp /test/* . && chmod +x install-codeflare-sdk.sh && ./install-codeflare-sdk.sh && python mnist_raycluster_sdk.py " + namespace .Name ,
154+ },
128155 VolumeMounts : []corev1.VolumeMount {
129156 {
130157 Name : "test" ,
131158 MountPath : "/test" ,
132159 },
160+ {
161+ Name : "codeflare-sdk" ,
162+ MountPath : "/codeflare-sdk" ,
163+ },
133164 {
134165 Name : "workdir" ,
135166 MountPath : "/workdir" ,
@@ -148,24 +179,6 @@ func TestMNISTRayClusterSDK(t *testing.T) {
148179 },
149180 },
150181 },
151- Volumes : []corev1.Volume {
152- {
153- Name : "test" ,
154- VolumeSource : corev1.VolumeSource {
155- ConfigMap : & corev1.ConfigMapVolumeSource {
156- LocalObjectReference : corev1.LocalObjectReference {
157- Name : config .Name ,
158- },
159- },
160- },
161- },
162- {
163- Name : "workdir" ,
164- VolumeSource : corev1.VolumeSource {
165- EmptyDir : & corev1.EmptyDirVolumeSource {},
166- },
167- },
168- },
169182 RestartPolicy : corev1 .RestartPolicyNever ,
170183 ServiceAccountName : sa .Name ,
171184 },
@@ -194,6 +207,22 @@ func TestMNISTRayClusterSDK(t *testing.T) {
194207 test .Expect (err ).NotTo (HaveOccurred ())
195208 test .T ().Logf ("Created Job %s/%s successfully" , job .Namespace , job .Name )
196209
210+ go func () {
211+ scriptName := "../.././copyscript.sh"
212+ cmd := exec .Command (scriptName , namespace .Name )
213+
214+ var stdoutBuf , stderrBuf bytes.Buffer
215+ cmd .Stdout = & stdoutBuf
216+ cmd .Stderr = & stderrBuf
217+
218+ // Run the script
219+ if err := cmd .Run (); err != nil {
220+ t .Logf ("STDOUT: %s" , stdoutBuf .String ())
221+ t .Logf ("STDERR: %s" , stderrBuf .String ())
222+ t .Logf ("Failed to run the script: %v" , err )
223+ }
224+ }()
225+
197226 test .T ().Logf ("Waiting for Job %s/%s to complete" , job .Namespace , job .Name )
198227 test .Eventually (Job (test , job .Namespace , job .Name ), TestTimeoutLong ).Should (
199228 Or (
0 commit comments