This is an automated email from the ASF dual-hosted git repository.

jiwq pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git


The following commit(s) were added to refs/heads/master by this push:
     new f48e9fe  SUBMARINE-534. Set env_vars to optional in ExperimentMeta
f48e9fe is described below

commit f48e9fe97a79bd4b91c7b79ddc8c362858ef8132
Author: pingsutw <[email protected]>
AuthorDate: Sat Jun 20 13:23:18 2020 +0800

    SUBMARINE-534. Set env_vars to optional in ExperimentMeta
    
    ### What is this PR for?
    Fix create experiment fails when the users don't specify `env_vars` in 
ExperimentMeta
    
    ### What type of PR is it?
    [Bug Fix]
    
    ### Todos
    * [ ] - Task
    
    ### What is the Jira issue?
    https://issues.apache.org/jira/browse/SUBMARINE-534?
    
    ### How should this be tested?
    https://travis-ci.org/github/pingsutw/hadoop-submarine/builds/700290775
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Does the licenses files need update? No
    * Is there breaking changes for older versions? No
    * Does this needs documentation? No
    
    Author: pingsutw <[email protected]>
    
    Closes #318 from pingsutw/SUBMARINE-534 and squashes the following commits:
    
    663b9f1 [pingsutw] Add testing
    5d52255 [pingsutw] Fix checkstyle
    a5c1768 [pingsutw] SUBMARINE-534. Set env_vars to optional in ExperimentMeta
---
 .../submarine/experiment/api/experiment_client.py            |  2 +-
 .../server/submitter/k8s/parser/ExperimentSpecParser.java    |  2 ++
 .../server/submitter/k8s/ExperimentSpecParserTest.java       | 12 ++++++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/submarine-sdk/pysubmarine/submarine/experiment/api/experiment_client.py 
b/submarine-sdk/pysubmarine/submarine/experiment/api/experiment_client.py
index 0a176cf..e8272a9 100644
--- a/submarine-sdk/pysubmarine/submarine/experiment/api/experiment_client.py
+++ b/submarine-sdk/pysubmarine/submarine/experiment/api/experiment_client.py
@@ -92,7 +92,7 @@ class ExperimentClient:
         response = self.experiment_api.get_experiment(id=id)
         return response.result
 
-    def list_experiments(self, status):
+    def list_experiments(self, status=None):
         """
         List all experiment for the user
         :param status: Accepted, Created, Running, Succeeded, Deleted
diff --git 
a/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/parser/ExperimentSpecParser.java
 
b/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/parser/ExperimentSpecParser.java
index c6fa2f5..0c6c6f9 100644
--- 
a/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/parser/ExperimentSpecParser.java
+++ 
b/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/parser/ExperimentSpecParser.java
@@ -171,6 +171,8 @@ public class ExperimentSpecParser {
   }
 
   private static List<V1EnvVar> parseEnvVars(Map<String, String> envMap) {
+    if (envMap == null)
+      return null;
     List<V1EnvVar> envVars = new ArrayList<>();
     for (Map.Entry<String, String> entry : envMap.entrySet()) {
       V1EnvVar env = new V1EnvVar();
diff --git 
a/submarine-server/server-submitter/submitter-k8s/src/test/java/org/apache/submarine/server/submitter/k8s/ExperimentSpecParserTest.java
 
b/submarine-server/server-submitter/submitter-k8s/src/test/java/org/apache/submarine/server/submitter/k8s/ExperimentSpecParserTest.java
index 5ce100a..cff8223 100644
--- 
a/submarine-server/server-submitter/submitter-k8s/src/test/java/org/apache/submarine/server/submitter/k8s/ExperimentSpecParserTest.java
+++ 
b/submarine-server/server-submitter/submitter-k8s/src/test/java/org/apache/submarine/server/submitter/k8s/ExperimentSpecParserTest.java
@@ -47,6 +47,12 @@ public class ExperimentSpecParserTest extends SpecBuilder {
     validateMetadata(experimentSpec.getMeta(), tfJob.getMetadata(),
         ExperimentMeta.SupportedMLFramework.TENSORFLOW.getName().toLowerCase()
     );
+    // Validate ExperimentMeta without envVars. Related to SUBMARINE-534.
+    experimentSpec.getMeta().setEnvVars(null);
+    validateMetadata(experimentSpec.getMeta(), tfJob.getMetadata(),
+            
ExperimentMeta.SupportedMLFramework.TENSORFLOW.getName().toLowerCase()
+    );
+
     validateReplicaSpec(experimentSpec, tfJob, TFJobReplicaType.Ps);
     validateReplicaSpec(experimentSpec, tfJob, TFJobReplicaType.Worker);
   }
@@ -84,6 +90,12 @@ public class ExperimentSpecParserTest extends SpecBuilder {
     validateMetadata(experimentSpec.getMeta(), pyTorchJob.getMetadata(),
         ExperimentMeta.SupportedMLFramework.PYTORCH.getName().toLowerCase()
     );
+    // Validate ExperimentMeta without envVars. Related to SUBMARINE-534.
+    experimentSpec.getMeta().setEnvVars(null);
+    validateMetadata(experimentSpec.getMeta(), pyTorchJob.getMetadata(),
+            ExperimentMeta.SupportedMLFramework.PYTORCH.getName().toLowerCase()
+    );
+
     validateReplicaSpec(experimentSpec, pyTorchJob, 
PyTorchJobReplicaType.Master);
     validateReplicaSpec(experimentSpec, pyTorchJob, 
PyTorchJobReplicaType.Worker);
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to