Thomas Bellman wrote:
> 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.
>
>   

If you are using an debian based distro you may want to have a look at 
augeas and augeas resources. Before creating the rule play around with 
augtool. Issue in augtool print /file/etc/network/interfaces so that you 
can see the tree ;)
Also there might be something in augeas to help you with 
rhel,centos,fedora but I haven't used any distro in this family for some 
time.


Silviu

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