Sfoglia il codice sorgente

cluster: Refuse swarm spec not named "default"

If, using the API, a user submits an init request with a spec that has a
name other than "default", the engine will rename the "default" cluster
object. Some parts of swarmkit depend on having a cluster object named
"default". Reject any specs that use other names.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 9dba9e3248f8476d15242ce3ec0bf6d6d50c1a76)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Aaron Lehmann 8 anni fa
parent
commit
0669e372d2
1 ha cambiato i file con 6 aggiunte e 0 eliminazioni
  1. 6 0
      daemon/cluster/cluster.go

+ 6 - 0
daemon/cluster/cluster.go

@@ -1855,6 +1855,12 @@ func validateAndSanitizeInitRequest(req *types.InitRequest) error {
 		return fmt.Errorf("invalid ListenAddr %q: %v", req.ListenAddr, err)
 	}
 
+	if req.Spec.Annotations.Name == "" {
+		req.Spec.Annotations.Name = "default"
+	} else if req.Spec.Annotations.Name != "default" {
+		return errors.New(`swarm spec must be named "default"`)
+	}
+
 	return nil
 }