Switched originalScale storage
This commit is contained in:
@@ -8,7 +8,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -23,7 +22,6 @@ import (
|
|||||||
|
|
||||||
// Add mutex.
|
// Add mutex.
|
||||||
var ApiClient *client.Client;
|
var ApiClient *client.Client;
|
||||||
var scale sync.Map;
|
|
||||||
var token string = "12345";
|
var token string = "12345";
|
||||||
var theConfig cfg.Config;
|
var theConfig cfg.Config;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ package docker
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"io"
|
"io"
|
||||||
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
@@ -53,8 +55,7 @@ func scaleDown(w http.ResponseWriter, r *http.Request){
|
|||||||
newScale := uint64(0);
|
newScale := uint64(0);
|
||||||
updatedSpec.Mode.Replicated.Replicas = &newScale;
|
updatedSpec.Mode.Replicated.Replicas = &newScale;
|
||||||
updatedSpec.Labels["blazena.scaledDown"] = "true";
|
updatedSpec.Labels["blazena.scaledDown"] = "true";
|
||||||
|
updatedSpec.Labels["blazena.originalScale"] = strconv.FormatUint(*originalScale, 10);
|
||||||
scale.Store(serviceId, *originalScale);
|
|
||||||
|
|
||||||
_, err = ApiClient.ServiceUpdate(context.Background(), serviceId, inspectresoult.Version, updatedSpec, swarm.ServiceUpdateOptions{});
|
_, err = ApiClient.ServiceUpdate(context.Background(), serviceId, inspectresoult.Version, updatedSpec, swarm.ServiceUpdateOptions{});
|
||||||
if(err != nil){
|
if(err != nil){
|
||||||
@@ -99,19 +100,21 @@ func scaleUp(w http.ResponseWriter, r *http.Request){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
originalScale, ok := scale.Load(serviceId);
|
originalScale := inspectresoult.Spec.Labels["blazena.originalScale"];
|
||||||
if(!ok){
|
|
||||||
|
if(originalScale == ""){
|
||||||
panic("Its not okay!");
|
panic("Its not okay!");
|
||||||
}
|
}
|
||||||
|
|
||||||
originalScaleChecked, ok := originalScale.(uint64);
|
originalScaleChecked, err := strconv.ParseUint(originalScale, 10, 64);
|
||||||
if(!ok){
|
if(err != nil){
|
||||||
panic("Its very not okay!")
|
panic("Its very not okay!"+ err.Error())
|
||||||
}
|
}
|
||||||
updatedSpec := inspectresoult.Spec;
|
updatedSpec := inspectresoult.Spec;
|
||||||
|
|
||||||
updatedSpec.Mode.Replicated.Replicas = &originalScaleChecked;
|
updatedSpec.Mode.Replicated.Replicas = &originalScaleChecked;
|
||||||
delete(updatedSpec.Labels, "blazena.scaledDown");
|
delete(updatedSpec.Labels, "blazena.scaledDown");
|
||||||
|
delete(updatedSpec.Labels, "blazena.originalScale");
|
||||||
|
|
||||||
ApiClient.ServiceUpdate(context.Background(), serviceId, inspectresoult.Version, updatedSpec, swarm.ServiceUpdateOptions{});
|
ApiClient.ServiceUpdate(context.Background(), serviceId, inspectresoult.Version, updatedSpec, swarm.ServiceUpdateOptions{});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user