the purpose of this change is to refactor certain puppet variables in cluster.pp and init.pp scripts. Precisely, I would like to change the configurable parameters like $ha and $auth from "local" to "node" scope. I believe, there is no need to pass in these variables to every module/class as these parameters doesn't change once set. With puppet 3 (static scoping) , this change is mandatory as I currently see these variables ($ha, $auth) referenced in multiple places assuming that it is defined in some outer scope. This will not work with puppet 3.
More details of static scoping: https://docs.puppetlabs.com/puppet/latest/reference/lang_scope.html#static-scope