Add initial meta-stx to support StarlingX build
[pti/rtp.git] / meta-stx / recipes-support / puppet / files / network / Don-t-write-absent-to-redhat-route-files-and-test-fo.patch
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
5
6 Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
7 ---
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(-)
11
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?
18        end
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"
22        else
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"
25        end
26 +      contents << if provider.options == :absent
27 +                    "\n"
28 +                  else
29 +                    " #{provider.options}\n"
30 +                  end
31      end
32      contents.join
33    end
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
39        )
40      end
41  
42 -    let(:content) { described_class.format_file('', [route1_provider, route2_provider, defaultroute_provider]) }
43 +    let(:nooptions_provider) do
44 +      stub('nooptions_provider',
45 +           name: 'default',
46 +           network: 'default',
47 +           netmask: '',
48 +           gateway: '10.0.0.1',
49 +           interface: 'eth2',
50 +           options: :absent
51 +      )
52 +    end
53 +
54 +    let(:content) { described_class.format_file('', [route1_provider, route2_provider, defaultroute_provider, nooptions_provider]) }
55  
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")
61        end
62 +
63 +      it 'should not contain the word absent when no options are defined' do
64 +        expect(content).to_not match(/absent/)
65 +      end
66      end
67    end
68  end
69 -- 
70 1.8.3.1
71