Im currently building a cobbler and puppet setup. One thing I do is disabling unwanted services with puppet, but then I thought: Should I remove them with cobbler, rather than disabling them after they are intalled?
For example, my base class in puppet informs the client to disable smartd, cpuspeed, microcode_ctl, and readahead_early if its a virtual machine.
Why not remove then? If I do need some of these packages on a later stage, I could just install. Of course, if the machine is converted to a physical hardware, I would have to remeber to install these packages again.
I think that the best solution to my question is to create a puppet class which disables service A if its virtual, and enables it if its not. But, maybe someone else have some other insight?