+
diff --git a/src/configapi/patch.go b/src/configapi/patch.go
index cf1c1e0..91303df 100644
--- a/src/configapi/patch.go
+++ b/src/configapi/patch.go
@@ -106,7 +106,7 @@ func ConfigApiPatch(w http.ResponseWriter, req *http.Request) {
utils.RestartHTTPServer()
- if updateReq.NewRoute.Mode == "SERVAPP" {
+ if updateReq.NewRoute != nil && updateReq.NewRoute.Mode == "SERVAPP" {
utils.Log("RouteSettingsUpdate: Service needs update: "+updateReq.NewRoute.Target)
target := updateReq.NewRoute.Target
diff --git a/src/docker/api_blueprint.go b/src/docker/api_blueprint.go
index d669e10..b255dda 100644
--- a/src/docker/api_blueprint.go
+++ b/src/docker/api_blueprint.go
@@ -414,7 +414,7 @@ func CreateService(serviceRequest DockerServiceCreateRequest, OnLog func(string)
utils.Log(fmt.Sprintf("Forcing secure %s...", serviceName))
OnLog(fmt.Sprintf("Forcing secure %s...\n", serviceName))
- newNetwork, errNC := CreateCosmosNetwork()
+ newNetwork, errNC := CreateCosmosNetwork(serviceName)
if errNC != nil {
utils.Error("CreateService: Network", err)
OnLog(utils.DoErr("Network %s cant be created\n", newNetwork))
diff --git a/src/docker/api_volumes.go b/src/docker/api_volumes.go
index 6c8a6ca..eefb77f 100644
--- a/src/docker/api_volumes.go
+++ b/src/docker/api_volumes.go
@@ -64,7 +64,7 @@ func DeleteVolumeRoute(w http.ResponseWriter, req *http.Request) {
err := DockerClient.VolumeRemove(context.Background(), volumeName, true)
if err != nil {
utils.Error("DeleteVolumeRoute: Error while deleting volume", err)
- utils.HTTPError(w, "Volume Deletion Error", http.StatusInternalServerError, "DV002")
+ utils.HTTPError(w, "Volume Deletion Error " + err.Error(), http.StatusInternalServerError, "DV002")
return
}
diff --git a/src/docker/network.go b/src/docker/network.go
index 6f37d70..17a9f18 100644
--- a/src/docker/network.go
+++ b/src/docker/network.go
@@ -70,7 +70,7 @@ func findAvailableSubnet() string {
return baseSubnet
}
-func CreateCosmosNetwork() (string, error) {
+func CreateCosmosNetwork(name string) (string, error) {
networks, err := DockerClient.NetworkList(DockerContext, types.NetworkListOptions{})
if err != nil {
utils.Error("Docker Network List", err)
@@ -79,7 +79,7 @@ func CreateCosmosNetwork() (string, error) {
newNeworkName := ""
for {
- newNeworkName = "cosmos-network-" + utils.GenerateRandomString(9)
+ newNeworkName = "cosmos-" + name + "-" + utils.GenerateRandomString(3)
exists := false
for _, network := range networks {
if network.Name == newNeworkName {
@@ -144,7 +144,7 @@ func ConnectToSecureNetwork(containerConfig types.ContainerJSON) (bool, error) {
netName := ""
if(!HasLabel(containerConfig, "cosmos-network-name")) {
- newNetwork, errNC := CreateCosmosNetwork()
+ newNetwork, errNC := CreateCosmosNetwork(containerConfig.Name[1:])
if errNC != nil {
utils.Error("DockerSecureNetworkCreate", errNC)
return false, errNC
@@ -239,7 +239,7 @@ func IsConnectedToASecureCosmosNetwork(self types.ContainerJSON, containerConfig
if err != nil {
utils.Error("Container tries to connect to a non existing Cosmos network, replacing it.", err)
- newNetwork, errNC := CreateCosmosNetwork()
+ newNetwork, errNC := CreateCosmosNetwork(containerConfig.Name[1:])
if errNC != nil {
utils.Error("DockerSecureNetworkCreate", errNC)
return false, errNC, false
diff --git a/src/utils/db.go b/src/utils/db.go
index 26c6531..1f60d35 100644
--- a/src/utils/db.go
+++ b/src/utils/db.go
@@ -58,6 +58,9 @@ func DB() error {
}
func DisconnectDB() {
+ if client == nil {
+ return
+ }
if err := client.Disconnect(context.TODO()); err != nil {
Fatal("DB", err)
}