From 178987e55371acb7496f8b363509637fa1a92ea3 Mon Sep 17 00:00:00 2001 From: Frikky Date: Fri, 31 May 2024 14:50:51 +0200 Subject: [PATCH] Orborus updates --- functions/onprem/orborus/go.mod | 2 ++ functions/onprem/orborus/orborus.go | 53 +++-------------------------- 2 files changed, 6 insertions(+), 49 deletions(-) diff --git a/functions/onprem/orborus/go.mod b/functions/onprem/orborus/go.mod index 6de48847..ac5f5875 100644 --- a/functions/onprem/orborus/go.mod +++ b/functions/onprem/orborus/go.mod @@ -4,6 +4,8 @@ go 1.22.0 toolchain go1.22.2 +replace github.com/shuffle/shuffle-shared => ../../../../shuffle-shared + require ( github.com/docker/docker v26.1.0+incompatible github.com/docker/go-connections v0.5.0 diff --git a/functions/onprem/orborus/orborus.go b/functions/onprem/orborus/orborus.go index 25fc4f27..f5c06267 100755 --- a/functions/onprem/orborus/orborus.go +++ b/functions/onprem/orborus/orborus.go @@ -48,13 +48,6 @@ import ( //"github.com/mackerelio/go-osstat/memory" //"github.com/shirou/gopsutil/cpu" - //k8s deps - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - "k8s.io/client-go/util/homedir" - "path/filepath" - corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -685,13 +678,13 @@ func deployWorker(image string, identifier string, env []string, executionReques } - clientset, config, err := getKubernetesClient() + clientset, config, err := shuffle.GetKubernetesClient() if err != nil { log.Printf("[ERROR] Error getting kubernetes client:", err) return err } - env = append(env, fmt.Sprintf("KUBERNETES_CONFIG=%s", config.String())) + //env = append(env, fmt.Sprintf("KUBERNETES_CONFIG=%s", config.String())) // FIXME: When a service account is used, the account is also mounted in the pod // The volume mount location is: @@ -1289,46 +1282,8 @@ func getOrborusStats(ctx context.Context) shuffle.OrborusStats { return newStats } -func isRunningInCluster() bool { - _, existsHost := os.LookupEnv("KUBERNETES_SERVICE_HOST") - _, existsPort := os.LookupEnv("KUBERNETES_SERVICE_PORT") - return existsHost && existsPort -} -func getKubernetesClient() (*kubernetes.Clientset, *rest.Config, error) { - config := &rest.Config{} - var err error - - if isRunningInCluster() { - config, err := rest.InClusterConfig() - if err != nil { - return nil, config, err - } - - clientset, err := kubernetes.NewForConfig(config) - if err != nil { - return nil, config, err - } - - return clientset, config, nil - - } - - home := homedir.HomeDir() - kubeconfigPath := filepath.Join(home, ".kube", "config") - config, err = clientcmd.BuildConfigFromFlags("", kubeconfigPath) - if err != nil { - return nil, config, err - } - - clientset, err := kubernetes.NewForConfig(config) - if err != nil { - return nil, config, err - } - - return clientset, config, nil -} func sendRemoveRequest(client *http.Client, toBeRemoved shuffle.ExecutionRequestWrapper, baseUrl, environment, auth, org string, sleepTime int) error { @@ -1404,7 +1359,7 @@ func main() { //defer cleanup() // Block until a signal is received - if isRunningInCluster() { + if shuffle.IsRunningInCluster() { log.Printf("[INFO] Running inside k8s cluster") } @@ -2615,7 +2570,7 @@ func getRunningWorkers(ctx context.Context, workerTimeout int) int { thresholdTime := time.Now().Add(time.Duration(-workerTimeout) * time.Second) - clientset, _, err := getKubernetesClient() + clientset, _, err := shuffle.GetKubernetesClient() if err != nil { log.Printf("[ERROR] Failed getting kubernetes client: %s", err) return 0