IIS Module: Why Use Define Type with a large number of EXEC resources instead of making them Properties in the Type/Provider?

asked 2017-02-03 00:26:39 -0600

ross.murray gravatar image

Forge Module in question: https://forge.puppet.com/puppet/iis

It appears to be accepted wisdom that this forge Module has abstracted out many of the 'properties' that can be configured by the Type/Provider for the custom type 'IIS_Pool', and instead has configured them to be managed with a very large number of EXEC resources in a Define Type. I would like to understand why this is the preferred method for managing those properties.

During the Puppet Fundamentals training it was stressed that EXEC resources are generally clunky and should be avoided when possible.

I have had this module working on a server hosting ~20 applications, and a Puppet run would take a upwards of 15 minutes to run, just to decide that nothing needed changing.. I managed to bring this down a bit by improving the 'unless' checks on the EXEC's, however it was still very cumbersome. Implementing them as Properties in the type/provider just seems the better approach. Is there something that I am missing here?

Clarification: though I'm referencing a specific Module here, my question is more about why you would choose to do this with any module. This particular one just happens to be a good example, with a high number of users and is also 'approved' status.

edit retag flag offensive close merge delete

Comments

Sometimes people aren't comfortable with hopping down into the ruby language, or haven't learned how to properly implement types/providers. It is more of an 'advanced' puppet skill, with a totally different level of understanding than the puppet DSL. Also, most sysadmins grok shell commands

DarylW gravatar imageDarylW ( 2017-02-03 06:49:30 -0600 )edit

Also, in the case of any voxpupuli modules, feel free to reach out to them on freenode on the #voxpupuli channel, they'd be happy to help improve the module. Lots of modules are adopted by voxpupuli and are maintained, but not many people have the experience needed to make the windows modules shine

DarylW gravatar imageDarylW ( 2017-02-03 06:52:10 -0600 )edit

https://github.com/voxpupuli/puppet-iis/pull/156

DarylW gravatar imageDarylW ( 2017-02-03 06:53:38 -0600 )edit