mirror of https://github.com/docker/compose.git
service hash MUST exclude replicas
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
parent
24f83271f2
commit
986bc44549
|
@ -29,6 +29,10 @@ func ServiceHash(o types.ServiceConfig) (string, error) {
|
|||
o.Build = nil
|
||||
o.PullPolicy = ""
|
||||
o.Scale = 1
|
||||
if o.Deploy != nil {
|
||||
var one uint64 = 1
|
||||
o.Deploy.Replicas = &one
|
||||
}
|
||||
bytes, err := json.Marshal(o)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
Copyright 2020 Docker Compose CLI authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package compose
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/compose-spec/compose-go/types"
|
||||
"gotest.tools/v3/assert"
|
||||
)
|
||||
|
||||
func TestServiceHash(t *testing.T) {
|
||||
hash1, err := ServiceHash(serviceConfig(1))
|
||||
assert.NilError(t, err)
|
||||
hash2, err := ServiceHash(serviceConfig(2))
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, hash1, hash2)
|
||||
}
|
||||
|
||||
func serviceConfig(replicas uint64) types.ServiceConfig {
|
||||
return types.ServiceConfig{
|
||||
Scale: int(replicas),
|
||||
Deploy: &types.DeployConfig{
|
||||
Replicas: &replicas,
|
||||
},
|
||||
Name: "foo",
|
||||
Image: "bar",
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
services:
|
||||
ping:
|
||||
image: alpine
|
||||
command: "sh -c 'ping -c 1 localhost && exit 1'"
|
||||
command: "sh -c 'ping -c 2 localhost && exit 1'"
|
||||
restart: "on-failure:2"
|
||||
|
|
Loading…
Reference in New Issue