You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@submarine.apache.org by ka...@apache.org on 2021/05/24 06:18:10 UTC

[submarine] branch master updated: SUBMARINE-826. Tensorboard and mlflow can't be connected in custom namespace

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

kaihsun 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 654598b  SUBMARINE-826. Tensorboard and mlflow can't be connected in custom namespace
654598b is described below

commit 654598bdfdab6f63496a02e00cc45f9e5575fc39
Author: Kenchu123 <k8...@gmail.com>
AuthorDate: Thu May 20 01:36:16 2021 +0800

    SUBMARINE-826. Tensorboard and mlflow can't be connected in custom namespace
    
    ### What is this PR for?
    Can't connect tensorboard and mlflow from workbench in custom namespace created by operator.
    K8sSubmitter have set namespace to "default" on tensorboard and mlflow
    
    Reference:
    https://github.com/apache/submarine/blob/master/submarine-server/server-submitter/[…]ava/org/apache/submarine/server/submitter/k8s/K8sSubmitter.java
    
    ### What type of PR is it?
    [Bug Fix]
    
    ### Todos
    
    ### What is the Jira issue?
    https://issues.apache.org/jira/browse/SUBMARINE-826
    
    ### How should this be tested?
    
    https://user-images.githubusercontent.com/17617373/118857684-e7850c80-b90a-11eb-8a3c-cd256cd33a6b.mov
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Do the license files need updating? No
    * Are there breaking changes for older versions? No
    * Does this need new documentation? No
    
    Author: Kenchu123 <k8...@gmail.com>
    
    Signed-off-by: Kai-Hsun Chen <ka...@apache.org>
    
    Closes #589 from Kenchu123/SUBMARINE-826 and squashes the following commits:
    
    78c834cc [Kenchu123] SUBMARINE-826. Modify K8sSubmitter to set read namespace from environment
    3280d11e [Kenchu123] SUBMARINE-826. Add environment to submarine-server container, and read by K8sSubmitter
    771b6934 [Kenchu123] SUBMARINE-826. Change K8sSumitter getTensorBoardInfo namespace to submarine-operator-test
---
 submarine-cloud-v2/controller.go                             |  4 ++++
 .../apache/submarine/server/submitter/k8s/K8sSubmitter.java  | 12 ++++++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/submarine-cloud-v2/controller.go b/submarine-cloud-v2/controller.go
index d90e0f5..b6f5e94 100644
--- a/submarine-cloud-v2/controller.go
+++ b/submarine-cloud-v2/controller.go
@@ -359,6 +359,10 @@ func (c *Controller) newSubmarineServer(namespace string, serverImage string, se
 											Name:  "K8S_APISERVER_URL",
 											Value: "kubernetes.default.svc",
 										},
+										{
+											Name: "ENV_NAMESPACE",
+											Value: namespace,
+										},
 									},
 									Ports: []corev1.ContainerPort{
 										{
diff --git a/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/K8sSubmitter.java b/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/K8sSubmitter.java
index 5165173..b139087 100644
--- a/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/K8sSubmitter.java
+++ b/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/K8sSubmitter.java
@@ -83,6 +83,8 @@ public class K8sSubmitter implements Submitter {
 
   private static final String TF_JOB_SELECTOR_KEY = "tf-job-name=";
   private static final String PYTORCH_JOB_SELECTOR_KEY = "pytorch-job-name=";
+  
+  private static final String ENV_NAMESPACE = "ENV_NAMESPACE";
 
   // K8s API client for CRD
   private CustomObjectsApi api;
@@ -264,8 +266,11 @@ public class K8sSubmitter implements Submitter {
   @Override
   public TensorboardInfo getTensorboardInfo() throws SubmarineRuntimeException {
     final String name = "submarine-tensorboard";
-    final String namespace = "default";
     final String ingressRouteName = "submarine-tensorboard-ingressroute";
+    String namespace = "default";
+    if (System.getenv(ENV_NAMESPACE) != null) {
+      namespace = System.getenv(ENV_NAMESPACE);
+    }
 
     try {
       V1Deployment deploy =  appsV1Api.readNamespacedDeploymentStatus(name, namespace, "true");
@@ -303,8 +308,11 @@ public class K8sSubmitter implements Submitter {
   @Override
   public MlflowInfo getMlflowInfo() throws SubmarineRuntimeException {
     final String name = "submarine-mlflow";
-    final String namespace = "default";
     final String ingressRouteName = "submarine-mlflow-ingressroute";
+    String namespace = "default";
+    if (System.getenv(ENV_NAMESPACE) != null) {
+      namespace = System.getenv(ENV_NAMESPACE);
+    }
 
     try {
       V1Deployment deploy =  appsV1Api.readNamespacedDeploymentStatus(name, namespace, "true");

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@submarine.apache.org
For additional commands, e-mail: dev-help@submarine.apache.org