瀏覽代碼

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 年之前
父節點
當前提交
0669e372d2
共有 1 個文件被更改,包括 6 次插入0 次删除
  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)
 		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
 	return nil
 }
 }