15467: Added tests for KeepServices
[arvados.git] / services / crunch-dispatch-slurm / crunch-dispatch-slurm.go
index 300e923640bdd0d4cb2e6bb8ecf7a5c83cfa0024..982141ad81a51269f6d7f110d728d2327227dc71 100644 (file)
@@ -13,6 +13,7 @@ import (
        "fmt"
        "log"
        "math"
+       "net/url"
        "os"
        "regexp"
        "strings"
@@ -133,15 +134,16 @@ func (disp *Dispatcher) configure(prog string, args []string) error {
                        os.Setenv("ARVADOS_API_HOST_INSECURE", "1")
                }
                ks := ""
-               if length(disp.cluster.Containers.SLURM.KeepServices) > 0 {
+               if len(disp.cluster.Containers.SLURM.KeepServices) > 0 {
                        for _, svc := range disp.cluster.Containers.SLURM.KeepServices {
                                for k, _ := range svc.InternalURLs {
-                                       ks += k
+                                       u := url.URL(k)
+                                       ks += u.String()
                                        ks += " "
                                }
                        }
                }
-               os.Setenv("ARVADOS_KEEP_SERVICES", ks)
+               os.Setenv("ARVADOS_KEEP_SERVICES", strings.TrimSuffix(ks, " "))
                os.Setenv("ARVADOS_EXTERNAL_CLIENT", "")
        } else {
                disp.logger.Warnf("Client credentials missing from config, so falling back on environment variables (deprecated).")