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 [email protected].
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.