I have four major zones in my nework: Development, Quality Assurance,
User Acceptanc Testing, and Production. I am able to deply different
modules to these zones based on the simple regular expressions posted
in the example at the bottom of this message.
I have two data centers in my network: Salt Lake City and Santa
Clara. I would like to be able to deploy different modules to servers
based on the data center that they reside it. I have tried simple if
statements and case statements but don't seem to be able to deploy my
site based modules.
Can you give me some imput on the best approach to my problem? I know
I can manually define ever server in the enterprise in my nodes.pp,
but I would prefer a more dynamic approach based IP subnet.
$sal_nets =
['10.131.21.0','10.131.31.0','10.131.40.0','10.134.40.0','10.135.1.0','10.135.2.0','10.135.20.0','10.135.3.0','10.135.6.0','10.142.20.0','10.142.23.0']
$scl_nets =
['10.146.1.0','10.146.16.0','10.146.19.0','10.146.20.0','10.146.24.0','10.146.24.0','10.146.28.0','10.146.31.0','10.151.21.0','192.168.119.0','192.168.43.0','192.168.99.0']
node /^.+\.dev\.svbank\.com/ {
# if ($network_eth0 in $sal_nets) or ($network_bond0 in $sal_nets) {
#notice('salt lake city net')
# }
# if (($network_eth0 and ($network_eth0 in $sal_nets))) or
($network_bond0 and (($network_bond0 in $scl_nets))) {
#notice('santa clara net')
# }
case $network_eth0 {
$sal_nets: { include svb-sal-sendmail-cf } # use SAL
repository
$scl_nets: { include svb-scl-sendmail-cf } # else use SCL
repository
}
include svb-core-config
include svb-core-encase
include svb-core-packages
include svb-puppet
include svb-sshd
include svb-sudo
include svb-repos
include svb-snmpd
# include svb-sendmail-cf
}
node /^.+\.qa\.svbank\.com/ {
include svb-core-config
include svb-core-encase
include svb-core-packages
include svb-puppet
include svb-sshd
include svb-sudo
include svb-repos
include svb-snmpd
# include svb-sendmail-cf
}
node /^.+\.uat\.svbank\.com/ {
include svb-core-config
include svb-core-encase
include svb-core-packages
include svb-puppet
include svb-sshd
include svb-sudo
include svb-repos
# include svb-sendmail-cf
include svb-users
}
node /^.+\.corp\.svbank\.com/ {
include svb-core-config
include svb-repos
include svb-puppet
}
--
You received this message because you are subscribed to the Google Groups
Puppet Users group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.