[chef-dev] Re: Re: local file copy resource?


Chronological Thread 
  • From: Jesse Campbell < >
  • To: Chef Dev < >
  • Subject: [chef-dev] Re: Re: local file copy resource?
  • Date: Sun, 9 Dec 2012 10:44:14 -0500

I'm taking an initial stab at combining cookbook_file and file.

Before I go too much further, do any of you know how idempotency is
working with cookbook_file?

I see this in the create:
  if file_cache_location && content_stale?

content_stale looks like this:
      def content_stale?
        ( ! ::File.exist?(@new_resource.path)) || ( ! compare_content)
      end

compare_content looks like this:
      # Compare the content of a file.  Returns true if they are the
same, false if they are not.
      def compare_content
        checksum(@current_resource.path) == new_resource_content_checksum
      end

new_resource_content_checksum looks like this:
      def new_resource_content_checksum
        @new_resource.content && Digest::SHA2.hexdigest(@new_resource.content)
      end

and new_resource.content appears not to be set for cookbook_file.

What am I missing?

On Sat, Dec 8, 2012 at 10:03 PM, Bryan McLellan 
< >
 wrote:
>
> On Sat, Dec 8, 2012 at 6:46 PM, Noah Kantrowitz 
> < >
>  wrote:
>>
>> file "foo" do
>>   owner "whatever"
>>   content { ::File.new("other") }
>> end
>
>
> That's too complex. "cp foo bar" is easy, we shouldn't have to get into ruby
> do accomplish that, nor fall back on the execute resource for something this
> common and simple.
>
> Thoughts on idempotency?
>
> Copy could check checksums and copy if they differ or perms differ, sort of
> like cookbook_file.
> Move could be only if the source file (path) exists.
>
> Bryan
>



Archive powered by MHonArc 2.6.16.

§