On Wednesday, November 6, 2013 12:49:27 PM UTC-6, David Gordon wrote:
>
> Hi All,
>
> I'm looking at integrating our Puppet 2.7.21 setup with an internal change 
> management system.  Essentially I need the master to check there is an open 
> change window for a given node, and fail the run if not.
>
> I don't want to have to have a custom configuration on all the nodes (and 
> this probably wouldn't be secure anyway), so plugging this check in during 
> the ENC stage seemed to make sense to me.
>
> I'd like to be able to fail the run with a message back to the agent e.g. 
> 'no valid change window open'.  The problem is, as far as I can see, it is 
> not possible to propagate any custom errors back to the master.  It looks 
> like the only error is e.g. 'could not find node xxx' or similar.  Even 
> replacing the terminus with a custom one doesn't appear to help as this 
> cover-all error looks to be generated in the catalogue compiler.
>
> Does this sound right? Anyone got an ideas if it would be possible to fail 
> runs with a custom error from within the puppet master?  Failing from 
> within the manifests themselves wouldn't be an option as they are under the 
> control of the users, and so the check could be circumvented.
>
>

Do you need a bona fide error to be generated, or would it be sufficient to 
deliver a catalog containing only a notification message?  For example, 
given the following class available on your master,

class site::no_window {
  notify { 'no valid change window open': }
}

, if the ENC determines that it is outside any change window for the target 
node then its output can be simply

classes:
  - site::no_window

.  Supposing that you have neither any global declarations nor a node block 
for the target node, that will result in no changes to the target, except 
possibly Puppet plugin synchronization.  The notify message will appear in 
Puppet's output.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" 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-users/d09362d2-088f-4bdf-856d-96433fab3a9d%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to