Don wrote:
>> My own ntp module[1] only knows two kinds of ntp hosts: servers and
>> clients. The former connect to each other and external sources, while
>> the latter only connect to the local servers. The distinction is easily
>> done: those nodes which have set $ntp_servers are those which connect to
>> these external servers and thus _are_ servers. All others are clients.
> I did this too initially- but I consider NTP an "enterprise" service
> and was
> going to put it in /services/ but then I would end up with two NTP
> modules-
> one for NTP servers in /services and one for NTP clients. That seems
> really
> hackish.
>
>> You can include classes that inherit from classes that are already
>> included and this will "patch up" the resources. The following is legal
>> and will result in a disabled openssh service on the node "strange":
>>
>> class openssh {
>> service { openssh: ensure => running, enable => true }
>> class disabled inherits openssh {
>> Service[openssh] { ensure => stopped, enable => false }
>> }
>> }
>>
>> node fine {
>> include openssh
>> }
>>
>> node strange inherits fine {
>> include openssh::disabled
>> }
> I understand how this would work for a service like ssh- but what
> about in the case of something
> like NTP? In that case I would have:
>
> class ntp {
> file { "/etc/ntp.conf":
> source => "puppet:///ntp/ntpclient.conf",
> require => Package["ntp"]
> }
> }
>
> class s_ntp { # in /services
> file { "/etc/ntp.conf":
> source => "puppet:///s_ntp/ntpserver.conf",
> require => Package["ntp"]
> }
> }
>
> node basenode {
> include ntp
> }
>
> node xyz inherits basenode {
> }
>
> Now if I do this for my NTP master:
>
> node ntpmaster inherits basenode {
> include s_ntp
> }
>
> I'm going to have two NTP files. Is there a way to excude the earlier
> definition of NTP so I'm not trying to have it update the same file
> twice?
No, you need to use inheritance.
> Is there a more sensible way of doing this that I'm not thinking of?
>
> Should I just avoid /services because I clearly don't understand what
> it's
> for?
I would say that everything concerning NTP should go into one module.
Perhaps the PuppetBEstPractices document needs a bit refactoring there.
Regards, DavidS
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---