Chris Blumentritt wrote:

> I am trying to manage ip address aliases and I cannot come up with a 
> good strategy.  I have three webhead servers that are balanced via a 
> hardware load balancer.  I have a define that will be setting up website 
> config on each server and one piece I need to sort out is configuring ip 
> addresses on the server and then configuring the apache virtual host 
> with the corresponding ip address for the host.  A sort of visual way to 
> see what I am doing
> 
> class site_name { ... } --> define setup_site { ...}
> 
> The site_name class setups variables and the define does all the work 
> based on the variables.  I would like to setup a ip addresses that will 
> be balanced for each site.  And then do all of that with multiple sites.
> 
> I fear the way to go about this is to set the ip address at the node and 
> then use the fact ipaddress_ethx:y but this means I will have to have an 
> interface to site mapping somewhere.  I would rather just keep it all in 
> puppet somehow.

It seems that what you want is the old 'interface' resource type that
existed earlier in Puppet.  Unfortunately, it rotted and became broken,
and since no-one stepped forward to fix it, Luke dropped it a while ago.

I don't have a complete solution, but if you happen to run a RedHat
based Linux distro (RHEL, CentOS, Fedora), I have written a definition
that can configure network interfaces.  You can find it in my module
nsc-puppet-utils at <http://www.nsc.liu.se/~bellman/nsc-puppet-utils.git>.
(You need to run 'git clone' on that URL to download it.)  There are
a bunch of other things there, but what you want is the 'rh_interface'
definition in manifests/init.pp, and the accompanying template file
'rh-ifcfg.erb'.  The documentation is a bit lacking, but you would use
it something like this:

     rh_interface {
         "eth0":
             ipaddress => "10.20.30.40/24";
         "eth1:3":
             ipaddress => "192.168.1.2", netmask => "255.255.0.0";
         "eth2":
             bootproto => "dhcp";
     }

The netmask can be specified either as part of the ipaddress parameter,
or as its own parameter, and you can use either a dotted quad or a
number of bits.

And if you are running some other OS, then maybe that definition can
serve as inspiration to write your own for your situation.

Hope this is of some help.


        /Bellman

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to