From 180b53410e85050c195f2c866b9f171bbbfe0745 Mon Sep 17 00:00:00 2001 From: yashsinghcodes Date: Thu, 10 Oct 2024 16:12:31 +0530 Subject: [PATCH] fix for auto swarm deployment --- functions/onprem/orborus/orborus.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/functions/onprem/orborus/orborus.go b/functions/onprem/orborus/orborus.go index 174fe2c6..a97f3279 100755 --- a/functions/onprem/orborus/orborus.go +++ b/functions/onprem/orborus/orborus.go @@ -1498,8 +1498,19 @@ func checkSwarmService(ctx context.Context) { // https://docs.docker.com/engine/reference/commandline/swarm_init/ ip := getLocalIP() log.Printf("[DEBUG] Attempting swarm setup on %s", ip) + + info, err := dockercli.Info(ctx) + if err != nil { + log.Printf("[WARNING] Failed to get Docker Info: %s", err) + } + + if info.Swarm.ControlAvailable { + log.Printf("[INFO] Already part of swarm as a manager") + return + } + req := swarm.InitRequest{ - ListenAddr: fmt.Sprintf("0.0.0.0:2377", ip), + ListenAddr: "0.0.0.0:2377", AdvertiseAddr: fmt.Sprintf("%s:2377", ip), } @@ -1511,6 +1522,7 @@ func checkSwarmService(ctx context.Context) { log.Printf("[DEBUG] Swarm info: %s\n\n", ret) } + func getContainerResourceUsage(ctx context.Context, cli *dockerclient.Client, containerID string) (float64, float64, error) { // Get container stats stats, err := cli.ContainerStats(ctx, containerID, false)