Skip to content

Commit 8aa50d8

Browse files
davejrtflorindragos
authored andcommitted
fixing deep merge issue and yaml alias (#387)
fixing deep merge issue and yaml alias
1 parent 4e12435 commit 8aa50d8

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

lib/puppet/provider/docker_compose/ruby.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def exists?
1212
compose_services = {}
1313
compose_containers = []
1414
resource[:compose_files].each do |file|
15-
compose_file = YAML.safe_load(File.read(file))
15+
compose_file = YAML.safe_load(File.read(file), [], [], true)
1616
containers = docker([
1717
'ps',
1818
'--format',
@@ -24,10 +24,10 @@ def exists?
2424
compose_containers.uniq!
2525
case compose_file['version']
2626
when %r{^2(\.[0-3])?$}, %r{^3(\.[0-6])?$}
27-
compose_services = compose_services.deep_merge(compose_file['services'])
27+
compose_services.deep_merge!(compose_file['services'])
2828
# in compose v1 "version" parameter is not specified
2929
when nil
30-
compose_services = compose_services.deep_merge(compose_file)
30+
compose_services.deep_merge!(compose_file)
3131
else
3232
raise(Puppet::Error, "Unsupported docker compose file syntax version \"#{compose_file['version']}\"!")
3333
end

spec/spec_helper_acceptance.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,32 @@ def retry_on_error_matching(max_retry_count = 3, retry_wait_interval_secs = 5, e
7575

7676
docker_compose_content_v3 = <<-EOS
7777
version: "3.4"
78+
x-images:
79+
&default-image
80+
alpine:3.8
7881
services:
7982
compose_test:
80-
image: ubuntu:14.04
83+
image: *default-image
8184
command: /bin/sh -c "while true; do echo hello world; sleep 1; done"
8285
EOS
8386
docker_compose_override_v3 = <<-EOS
8487
version: "3.4"
88+
x-images:
89+
&default-image
90+
debian:stable-slim
8591
services:
8692
compose_test:
87-
image: debian:jessie
93+
image: *default-image
8894
command: /bin/sh -c "while true; do echo hello world; sleep 1; done"
8995
EOS
9096
docker_stack_override_v3 = <<-EOS
9197
version: "3.4"
98+
x-images:
99+
&default-image
100+
debian:stable-slim
92101
services:
93102
compose_test:
94-
image: debian:jessie
103+
image: *default-image
95104
command: /bin/sh -c "while true; do echo hello world; sleep 1; done"
96105
EOS
97106
docker_compose_content_v3_windows = <<-EOS

0 commit comments

Comments
 (0)