[chef] Re: Re: Re: Re: Re: Deep merge in 0.10.10 and 10.12.0


Chronological Thread 
  • From: Michael Glenney < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Re: Deep merge in 0.10.10 and 10.12.0
  • Date: Tue, 4 Sep 2012 12:27:27 -0700

I have now verified that putting !merge does not work in 10.12.0  I'll go back an read over the link AJ sent again but it appears as if deep merge is gone or broken.

Here's the json I passed to the chef-client run:

{ "haproxy": { "nodes": { "portal_api": [ "!merge", "4.4.4.4", "5.5.5.5" ] } } }

Here's the resulting haproxy config:

  server portal_api-!merge !merge:443 check port 443 inter 10s rise 4 fall 4
  server portal_api-4.4.4.4 4.4.4.4:443 check port 443 inter 10s rise 4 fall 4
  server portal_api-5.5.5.5 5.5.5.5:443 check port 443 inter 10s rise 4 fall 4

Not what I was going for obviously.

MG

On Sun, Sep 2, 2012 at 6:46 PM, Michael Glenney < " target="_blank"> > wrote:
Yeah.  Looking at your link it looks like using "!merge" (without the colon) will probably work.  just need to test it.  That goes along with what it says in the wiki except for the fact that the wiki says it "can" be used instead of saying it must.

MG

On Sun, Sep 2, 2012 at 3:11 PM, AJ Christensen < " target="_blank"> > wrote:
From DeepMerge mixin class:

# Inherited roles use the knockout_prefix array subtraction functionality
# This is likely to go away in Chef >= 0.11
      def role_merge(first, second)
        first  = Mash.new(first)  unless first.kind_of?(Mash)
        second = Mash.new(second) unless second.kind_of?(Mash)

        DeepMerge.deep_merge(second, first, {:knockout_prefix =>
"!merge", :preserve_unmergeables => false})
      end

https://github.com/opscode/chef/blob/master/chef/lib/chef/mixin/deep_merge.rb#L44

Maybe there's something useful for you here.

I've only once used the attribute knockout functionality -- what is
your use case? There may be another simple solution.

--AJ

On 3 September 2012 09:08, Michael Glenney < " target="_blank"> > wrote:
> Weird. For some reason it's not sending me my own. Oh well.  Have there been any responses to my question?  Because I dont see any of those either
>
> Michael Glenney
> Sent from my iPhone
>
> On Sep 2, 2012, at 11:43 AM, Adam Jacob < " target="_blank"> > wrote:
>
>> Nope - I saw it two days ago.
>>
>> Adam
>>
>> On Sun, Sep 2, 2012 at 10:04 AM, Michael Glenney < " target="_blank"> > wrote:
>>> I sent this on friday. Still hasn't made it to my inbox. Am I getting
>>> moderated?
>>>
>>> Michael Glenney
>>> Sent from my iPhone
>>>
>>> On Aug 31, 2012, at 4:08 PM, Michael Glenney < " target="_blank"> > wrote:
>>>
>>> I had a problem with deep merge not working properly in 10.12.0.  Tested in
>>> 0.10.10 and it didn't work there either.  Instead of replacing my array it
>>> was actually putting "!merge:" into my array.
>>>
>>> After I reverted to 0.10.4 to get my deployment completed I stumbled on this
>>> line from http://wiki.opscode.com/display/chef/Deep+Merge:
>>>
>>> "!merge (without the colon) can be used in Chef >= 0.10.10"
>>>
>>> I haven't had a chance to go back and test.  Will have to wait until Monday.
>>> But should that line read:
>>>
>>> "!merge (without the colon) MUST be used in Chef >= 0.10.10"
>>>
>>> Thanks,
>>>
>>> MG
>>
>>
>>
>> --
>> Opscode, Inc.
>> Adam Jacob, Chief Customer Officer
>> T: (206) 619-7151 E: " target="_blank">





Archive powered by MHonArc 2.6.16.

§