I have looked at this example. But what is a difference between 'File' and 'file' keyword ? Where I can read more about it ?
On Tuesday, 9 April 2013 10:56:30 UTC+1, Gavin Williams wrote: > > http://soimasysadmin.com/2012/02/29/puppet-inheritance-revisited/ is one > I've got bookmarked... > > HTH > > Gav > > > On 9 April 2013 10:54, ForumUser <[email protected] <javascript:>>wrote: > >> Hi Gavin, >> >> Can you suggest any URL where I could read about ::params classes (and >> examples of course ;-) ) ? >> >> On Tuesday, 9 April 2013 10:47:40 UTC+1, Gavin Williams wrote: >>> >>> Hi there, >>> >>> I think you're quickest win for making the code cleaner and easier would >>> be to create a ::params class, which sets the correct values for package, >>> file and service based on your distro. >>> >>> Can then inherit this class on your ::install, ::config and ::service >>> classes. >>> >>> I'm sure other people will chime in with some other ideas aswell :) >>> >>> HTH >>> >>> Gav >>> >>> On Tuesday, 9 April 2013 10:36:51 UTC+1, ForumUser wrote: >>>> >>>> Hello all, >>>> >>>> I am trying to write a syslog module for our small puppet installation. >>>> Since I'd like to learn how to write puppet classes/modules I would >>>> avoid >>>> modules from puppet labs forge (at least for now). >>>> >>>> This module is going to be deployed on RH 5 _and_ 6. >>>> In our infrastructure each RH line (5 or 6) is configured differently: >>>> RH 5 uses sysklogd, RH 6 uses rsyslog. >>>> >>>> I have written a class but as you can see it has a lot of redundant >>>> code. >>>> Can I use any puppet syntax to make it more elegant (and easier to >>>> maintain :-) ) ? >>>> Can you suggest anything ? >>>> >>>> class syslog::install { >>>> case $lsbmajdistrelease { >>>> '5': { >>>> ** package { "sysklogd": >>>> ** ensure => present, >>>> ** } >>>> } >>>> >>>> '6': { >>>> ** package { "rsyslog": >>>> ** ensure => present, >>>> ** } >>>> } >>>> } >>>> } >>>> >>>> class syslog::config { >>>> case $lsbmajdistrelease { >>>> '5': { >>>> ** file { "/etc/syslog.conf": >>>> ** ensure => present, >>>> ** owner => 'root', >>>> ** group => 'root', >>>> ** mode => 0644, >>>> ** source => >>>> "puppet:///modules/syslog/**syslog.conf", >>>> ** require => >>>> Class["syslog::install"], >>>> ** notify => >>>> Class["syslog::service"], >>>> ** } >>>> } >>>> >>>> '6': { >>>> ** file { "/etc/rsyslog.conf": >>>> ** ensure => present, >>>> ** owner => 'root', >>>> ** group => 'root', >>>> ** mode => 0644, >>>> ** source => >>>> "puppet:///modules/syslog/**rsyslog.conf", >>>> ** require => >>>> Class["syslog::install"], >>>> ** notify => >>>> Class["syslog::service"], >>>> ** } >>>> } >>>> } >>>> } >>>> >>>> class syslog::service { >>>> case $lsbmajdistrelease { >>>> '5': { >>>> ** service { "syslog": >>>> ** ensure => runing, >>>> ** enable => true, >>>> ** require => >>>> Class["syslog::config"], >>>> ** } >>>> } >>>> >>>> '6': { >>>> ** service { "rsyslog": >>>> ** ensure => runing, >>>> ** enable => true, >>>> ** require => >>>> Class["syslog::config"], >>>> ** } >>>> } >>>> } >>>> } >>>> >>>> >>>> class syslog { >>>> include syslog::install, syslog::config, syslog::service >>>> } >>>> >>>> >>>> Thanks in advance :-) >>>> Przemek >>>> >>>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Puppet Users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/puppet-users/vJeR5M2-TS0/unsubscribe?hl=en >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/puppet-users?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
