From: Ingmar Steen Date: Mon, 8 Apr 2013 12:32:02 +0000 (+0200) Subject: (#20125) Use PATH to find (ip|ip6|eb)tables for chain provider X-Git-Tag: 0.3.0~13^2~1 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=4359335cc77a149e72250e0b44e6eb4f5b71eb3f;p=puppet-modules%2Fpuppetlabs-firewall.git (#20125) Use PATH to find (ip|ip6|eb)tables for chain provider --- diff --git a/lib/puppet/provider/firewallchain/iptables_chain.rb b/lib/puppet/provider/firewallchain/iptables_chain.rb index 049fb4e..88b11e1 100644 --- a/lib/puppet/provider/firewallchain/iptables_chain.rb +++ b/lib/puppet/provider/firewallchain/iptables_chain.rb @@ -7,12 +7,12 @@ Puppet::Type.type(:firewallchain).provide :iptables_chain do has_feature :policy optional_commands({ - :iptables => '/sbin/iptables', - :iptables_save => '/sbin/iptables-save', - :ip6tables => '/sbin/ip6tables', - :ip6tables_save => '/sbin/ip6tables-save', - :ebtables => '/sbin/ebtables', - :ebtables_save => '/sbin/ebtables-save', + :iptables => 'iptables', + :iptables_save => 'iptables-save', + :ip6tables => 'ip6tables', + :ip6tables_save => 'ip6tables-save', + :ebtables => 'ebtables', + :ebtables_save => 'ebtables-save', }) defaultfor :kernel => :linux diff --git a/spec/unit/puppet/provider/iptables_chain_spec.rb b/spec/unit/puppet/provider/iptables_chain_spec.rb index 3b1e6e8..6079ebb 100755 --- a/spec/unit/puppet/provider/iptables_chain_spec.rb +++ b/spec/unit/puppet/provider/iptables_chain_spec.rb @@ -15,25 +15,25 @@ describe 'iptables chain provider detection' do it "should default to iptables provider if /sbin/(eb|ip|ip6)tables[-save] exists" do # Stub lookup for /sbin/iptables & /sbin/iptables-save - exists.any_instance.stubs(:which).with("/sbin/ebtables"). + exists.any_instance.stubs(:which).with("ebtables"). returns "/sbin/ebtables" - exists.any_instance.stubs(:which).with("/sbin/ebtables-save"). + exists.any_instance.stubs(:which).with("ebtables-save"). returns "/sbin/ebtables-save" - exists.any_instance.stubs(:which).with("/sbin/iptables"). + exists.any_instance.stubs(:which).with("iptables"). returns "/sbin/iptables" - exists.any_instance.stubs(:which).with("/sbin/iptables-save"). + exists.any_instance.stubs(:which).with("iptables-save"). returns "/sbin/iptables-save" - exists.any_instance.stubs(:which).with("/sbin/ip6tables"). + exists.any_instance.stubs(:which).with("ip6tables"). returns "/sbin/ip6tables" - exists.any_instance.stubs(:which).with("/sbin/ip6tables-save"). + exists.any_instance.stubs(:which).with("ip6tables-save"). returns "/sbin/ip6tables-save" # Every other command should return false so we don't pick up any # other providers exists.any_instance.stubs(:which).with() { |value| - value !~ /\/sbin\/(eb|ip|ip6)tables(-save)?$/ + value !~ /(eb|ip|ip6)tables(-save)?$/ }.returns false # Create a resource instance and make sure the provider is iptables