add ability to remove a service from a node
currently, if you remove service tag from a node, it does not clean up after itself and remove the things that were added for that service.
we trigger service modules like so in init.pp:
if $services =~ /\bwebapp\b/ { include site_webapp }
could we also add this for every service?
if $services =~ /\bwebapp\b/ { include site_webapp } else { include site_webapp::remove }
and then we would need to an a ::remove for each site module.
how does that sound? in a few cases, there will be some overlap. so, for example, a monitor node needs apache, and a webapp node needs apache, so site_monitor::remove should not remove apache. the logic might get too brittle, but we could do this:
if !("webapp" in $hiera["services"]) { remove apache }
(from redmine: created on 2013-12-30)