[chef] Re: RE: Re: help with yum_package flush_cache optiop


Chronological Thread 
  • From: Matthew Moretti < >
  • To: " " < >
  • Subject: [chef] Re: RE: Re: help with yum_package flush_cache optiop
  • Date: Sat, 6 Jun 2015 15:20:11 -0400

Yes, that apparently works too. The code in the resource appears to have some logic in it to handle being given an array instead of the hash. Although that feature is missing from the docs.

Matt Moretti


On Fri, Jun 5, 2015 at 4:32 PM, Fouts, Chris < " target="_blank"> > wrote:

The correct syntax, after playing with it is

 

package ‘some_rpm’ do

  flush_cache [ :before, :after ]

end

 

From: Matthew Moretti [mailto: " target="_blank"> ]
Sent: Friday, June 05, 2015 1:34 PM
To: " target="_blank">
Subject: [chef] Re: help with yum_package flush_cache optiop

 

Can you show us what you have and the error you’re getting?

The format should be something like:

# Works in all Rubies
yum_package 'some-package' do
#...
flush_cache({ :before => false, :after => false })
#...
end
 
# Also works in Ruby >= 1.9
yum_package 'some-package' do
#...
flush_cache({ before: false, after: false })
#...
end

Ordinarily, the parentheses on resource attributes aren’t required, but without them, in this case, the Ruby syntax parser has no way of differentiating between a hash argument and a block argument. That is, this does not work:

yum_package 'some-package' do
#...
flush_cache { :before => false, :after => false }
#...
end
 
# syntax error, unexpected =>, expecting '}'
#  flush_cache { :before => false, :after => false }
#                          ^

If I had to guess, perhaps this is the error you’re getting?

Matt Moretti
UMTS IT

 

On Thu, Jun 4, 2015 at 10:55 PM, Fouts, Chris < " target="_blank"> > wrote:

https://docs.chef.io/resource_package.html

 

Above documentation for flush_cache gives a syntax error. What is the correct syntax?

 

Chris

 





Archive powered by MHonArc 2.6.16.

§