Hi all, I am new to Puppet and Ruby. Currently I am using puppet iptables work ( http://github.com/camptocamp/puppet-iptables/) to prioritise different types of network traffic on a linux machine (see the details here, http://www.mail-archive.com/[email protected]/msg08810.html) and I would also require to develop a custom TC type ( http://tldp.org/HOWTO/Traffic-Control-HOWTO/index.html ) to create priority queues.
The Iptables, the custom type that was developed by camptocamp ( http://github.com/camptocamp ), is quite different from the standard puppet custom types’ development approach. Now looking at their code ( http://github.com/camptocamp/puppet-iptables/blob/master/lib/puppet/type/iptables.rb), I can see that they have defined an iptables type with many parameters same as the way puppet tutorials ask to do. In init/sudo.pp, when we will define an iptable rule such as: iptables { "iptables rule no. 1": proto => "tcp", dport => "80", jump => "ACCEPT", } , an iptables module's instance will be created and initialise method (constructor) will be invoked. What I don’t understand is the aftermath once the constructor is invoked. I have deployed iptables custom type module at my linux machine and it works fine so far. What I don’t understand is that once the rules are pushed in @@rules (module variable) in initialise method then what happens next because there is not any explicit method call or code block within initialise method or even after that. It is very important for me to understand the flow because TC rules would also be incorporated with same iptables rules. I have looked at the standard approach of developing the custom types here: http://projects.puppetlabs.com/projects/puppet/wiki/Development_Practical_Types http://projects.puppetlabs.com/projects/puppet/wiki/Development_Provider_Development http://projects.puppetlabs.com/projects/puppet/wiki/Development_Complete_Resource_Example http://docs.puppetlabs.com/guides/custom_types.html But in reality it is not as simple as it is shown in above tutorials. If you look at the custom type code for iptables at the following website, you will see it is different from the standard approach of developing puppet custom types: http://github.com/camptocamp/puppet-iptables I contacted the camptocamp team but they are asking me to post my questions at this mailing list. Can anyone of you please help me to clarify how it is really working? I know it might be very basic question that I am asking and may be I don’t understand how custom types really work in puppet, but if you can help me in understanding the code flow/sequence, it would be great help for me. Thanks, Annie -- You received this message because you are subscribed to the Google Groups "Puppet Developers" 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-dev?hl=en.
