Validate/sanitize swarmkit spec name.

Signed-off-by: Anshul Pundir <anshul.pundir@docker.com>
Upstream-commit: 739c4cc6b2bab5c3e27656e0a95d858901ecf6b4
Component: engine
This commit is contained in:
Anshul Pundir
2017-12-06 11:55:04 -08:00
parent 70c95e6ecb
commit a505f09c7f
@@ -228,6 +228,13 @@ func (c *Cluster) Update(version uint64, spec types.Spec, flags types.UpdateFlag
return err
}
// Validate spec name.
if spec.Annotations.Name == "" {
spec.Annotations.Name = "default"
} else if spec.Annotations.Name != "default" {
return validationError{errors.New(`swarm spec must be named "default"`)}
}
// In update, client should provide the complete spec of the swarm, including
// Name and Labels. If a field is specified with 0 or nil, then the default value
// will be used to swarmkit.