Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
Previously, bigtop-deploy puppet could only be configured by editing puppet manifests, or through a small number of environment variables that set facter facts. I've rewritten cluster.pp to use extlookup to read most configuration options from a site-specific CSV file with sane defaults for most options (only hadoop_head_node and bigtop_yumrepo_uri are required to be set). These changes should make it easier to automate deploying multiple clusters with different configurations from the same manifests.
As written, the CSV files must live in $confdir/config/, where $confdir is the puppet config directory. This means that if you are manually calling 'puppet agent' on these manifests (rather than serving them from a puppet master), you are now required to specify --confdir in addition to --modulepath.
At some point in the future, may be worth moving to hiera, as yaml is a lot prettier and more flexible than CSV. I did this using extlookup so as not to introduce external dependencies (since extlookup is now in puppet core).