1 From 49e103bbeb4d6efe1ca75f581d41ee6a8ed7caf5 Mon Sep 17 00:00:00 2001
2 From: Romanos Skiadas <rom.skiad@gmail.com>
3 Date: Wed, 2 Nov 2016 14:51:47 -0400
4 Subject: [PATCH] Don't write absent to redhat route files and test for this
6 Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
8 .../network/lib/puppet/provider/network_route/redhat.rb | 9 +++++++--
9 .../spec/unit/provider/network_route/redhat_spec.rb | 17 ++++++++++++++++-
10 2 files changed, 23 insertions(+), 3 deletions(-)
12 diff --git a/packstack/puppet/modules/network/lib/puppet/provider/network_route/redhat.rb b/packstack/puppet/modules/network/lib/puppet/provider/network_route/redhat.rb
13 index f45eab5..9841c8e 100644
14 --- a/packstack/puppet/modules/network/lib/puppet/provider/network_route/redhat.rb
15 +++ b/packstack/puppet/modules/network/lib/puppet/provider/network_route/redhat.rb
16 @@ -84,10 +84,15 @@ Puppet::Type.type(:network_route).provide(:redhat) do
17 raise Puppet::Error, "#{provider.name} does not have a #{prop}." if provider.send(prop).nil?
19 if provider.network == "default"
20 - contents << "#{provider.network} via #{provider.gateway} dev #{provider.interface} #{provider.options}\n"
21 + contents << "#{provider.network} via #{provider.gateway} dev #{provider.interface}\n"
23 - contents << "#{provider.network}/#{provider.netmask} via #{provider.gateway} dev #{provider.interface} #{provider.options}\n"
24 + contents << "#{provider.network}/#{provider.netmask} via #{provider.gateway} dev #{provider.interface}\n"
26 + contents << if provider.options == :absent
29 + " #{provider.options}\n"
34 diff --git a/packstack/puppet/modules/network/spec/unit/provider/network_route/redhat_spec.rb b/packstack/puppet/modules/network/spec/unit/provider/network_route/redhat_spec.rb
35 index dfc9d6b..1ad2128 100644
36 --- a/packstack/puppet/modules/network/spec/unit/provider/network_route/redhat_spec.rb
37 +++ b/packstack/puppet/modules/network/spec/unit/provider/network_route/redhat_spec.rb
38 @@ -91,7 +91,18 @@ describe Puppet::Type.type(:network_route).provider(:redhat) do
42 - let(:content) { described_class.format_file('', [route1_provider, route2_provider, defaultroute_provider]) }
43 + let(:nooptions_provider) do
44 + stub('nooptions_provider',
48 + gateway: '10.0.0.1',
54 + let(:content) { described_class.format_file('', [route1_provider, route2_provider, defaultroute_provider, nooptions_provider]) }
56 describe "writing the route line" do
57 describe "For standard (non-default) routes" do
58 @@ -122,6 +133,10 @@ describe Puppet::Type.type(:network_route).provider(:redhat) do
59 it "should have the correct fields appended" do
60 content.scan(/^default .*$/).first.should be_include("default via 10.0.0.1 dev eth1")
63 + it 'should not contain the word absent when no options are defined' do
64 + expect(content).to_not match(/absent/)