summaryrefslogtreecommitdiff
path: root/puppet/modules/site_config/manifests
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2013-04-30 17:17:54 -0400
committerMicah Anderson <micah@riseup.net>2013-04-30 17:17:54 -0400
commit8e5716518b361aceac5c2cc5433148edf8785d89 (patch)
tree3e3bc234a421512eb2fade72cef4518383566481 /puppet/modules/site_config/manifests
parent334e4242a55f36c8ba3bbaa8b5e1c44664402450 (diff)
setup a site_config::params class that can be used to set some common variables that are used in different places
to start with we setup the $interface variable, based on logic as defined in #2213 change the various places that were looking up this value to use site_config::params::interface instead
Diffstat (limited to 'puppet/modules/site_config/manifests')
-rw-r--r--puppet/modules/site_config/manifests/params.pp25
1 files changed, 25 insertions, 0 deletions
diff --git a/puppet/modules/site_config/manifests/params.pp b/puppet/modules/site_config/manifests/params.pp
new file mode 100644
index 00000000..237ee454
--- /dev/null
+++ b/puppet/modules/site_config/manifests/params.pp
@@ -0,0 +1,25 @@
+class site_config::params {
+
+ $ip_address = hiera('ip_address')
+ $ip_address_interface = getvar("interface_${ip_address}")
+ $ec2_local_ipv4_interface = getvar("interface_${::ec2_local_ipv4}")
+
+ if $::virtual == 'virtualbox' {
+ $interface = [ 'eth0', 'eth1' ]
+ }
+ elsif hiera('interface','') != '' {
+ $interface = hiera('interface')
+ }
+ elsif $ip_address_interface != '' {
+ $interface = $ip_address_interface
+ }
+ elsif $ec2_local_ipv4_interface != '' {
+ $interface = $ec2_local_ipv4_interface
+ }
+ elsif $::interfaces =~ /eth0/ {
+ $interface = eth0
+ }
+ else {
+ fail("unable to determine a valid interface, please set a valid interface for this node in nodes/${::hostname}.json")
+ }
+}