diff options
author | Micah Anderson <micah@riseup.net> | 2013-04-30 17:17:54 -0400 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2013-04-30 17:17:54 -0400 |
commit | 8e5716518b361aceac5c2cc5433148edf8785d89 (patch) | |
tree | 3e3bc234a421512eb2fade72cef4518383566481 /puppet/modules/site_config/manifests | |
parent | 334e4242a55f36c8ba3bbaa8b5e1c44664402450 (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.pp | 25 |
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") + } +} |