Skip to content

Commit

Permalink
service hash MUST exclude replicas
Browse files Browse the repository at this point in the history
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
  • Loading branch information
ndeloof committed Dec 20, 2022
1 parent bab3050 commit bb0c73e
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
4 changes: 4 additions & 0 deletions pkg/compose/hash.go
Expand Up @@ -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
Expand Down
27 changes: 27 additions & 0 deletions pkg/compose/hash_test.go
@@ -0,0 +1,27 @@
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",
}
}

0 comments on commit bb0c73e

Please sign in to comment.