Hallo,

I'm using the puppet module transition to help me out a nasty puppet 
definition situation. But I noticed it sometimes is not idempotent. We 
noticed this on a very complex custom type. To make sure the issue is a 
clear as can be, we extracted the minimal type/and provider to simulate 
this. Here 
<https://github.com/enterprisemodules/error_type/tree/transition_problems> 
you can find the type/provider code 

Here is some simple example code, based on a simple custom type:


  transition { 'transition':
    resource   => File['/a.a'],
    attributes => {
      content  => 'temp',
    },
    prior_to   =>  Error_type['a']
  }

file{'/a.a':
  ensure => 'present',
  content => 'aa',
}

error_type {'a':
  ensure => 'present',
  prop => 'aaa'
}

Using this example code, I noticed that the exists? is called before 
prefetching is done. Before using this module, I was under the impression 
the exists? method was only called later in the sequence. Therefore my 
exists? method was based on prefetched information.

Do I:

   - register a bug/question in the module?
   - change the type/provider implementation to check if the specific 
   resource is already prefetched (would probably need to be done for a lot 
   more types/and providers)
   - register a bug/question for puppet, making sure the prefetch is ALWAYS 
   called before exists?


All suggestions are welcome!

Regards,

Bert 



-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/94724428-5db3-4409-b710-9e2847bd1c47%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to