Add initial meta-stx to support StarlingX build
[pti/rtp.git] / meta-stx / recipes-support / puppet / files / puppet-network / permit-inservice-update-of-static-routes.patch
1 From 46ec08e58419bb73bf49b44cf32fa3d304236615 Mon Sep 17 00:00:00 2001
2 From: Kevin Smith <kevin.smith@windriver.com>
3 Date: Thu, 5 Oct 2017 13:33:12 -0500
4 Subject: [PATCH 1/1] permit inservice update of static routes
5
6 ---
7  .../network/lib/puppet/provider/network_route/redhat.rb  | 16 ++++++++++++++--
8  1 file changed, 14 insertions(+), 2 deletions(-)
9
10 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
11 index 7123d44..5073519 100644
12 --- a/packstack/puppet/modules/network/lib/puppet/provider/network_route/redhat.rb
13 +++ b/packstack/puppet/modules/network/lib/puppet/provider/network_route/redhat.rb
14 @@ -18,12 +18,18 @@ Puppet::Type.type(:network_route).provide(:redhat) do
15  
16    has_feature :provider_options
17  
18 +  # WRS: Generate temporary copies.  It will get compared to files under
19 +  # /etc/sysconfig/network-scripts afterward.  Only config that have changed
20 +  # will get replaced.  Don't let puppet directly manage them, else it will
21 +  # trigger un-wanted networking actions (like up/down).
22 +  RSCRIPT_DIRECTORY = "/var/run/network-scripts.puppet"
23 +
24    def select_file
25 -    "/etc/sysconfig/network-scripts/route-#{@resource[:interface]}"
26 +    "#{RSCRIPT_DIRECTORY}/route-#{@resource[:interface]}"
27    end
28  
29    def self.target_files
30 -    Dir["/etc/sysconfig/network-scripts/route-*"]
31 +    Dir["#{RSCRIPT_DIRECTORY}/route-*"]
32    end
33  
34    def self.parse_file(filename, contents)
35 @@ -76,6 +82,7 @@ Puppet::Type.type(:network_route).provide(:redhat) do
36  
37    # Generate an array of sections
38    def self.format_file(filename, providers)
39 +    Dir.mkdir(RSCRIPT_DIRECTORY) unless File.exists?(RSCRIPT_DIRECTORY)
40      contents = []
41      contents << header
42      # Build routes
43 @@ -103,4 +110,9 @@ Puppet::Type.type(:network_route).provide(:redhat) do
44  HEADER
45      str
46    end
47 +
48 +  def self.post_flush_hook(filename)
49 +    File.chmod(0644, filename)
50 +  end
51 +
52  end
53 -- 
54 1.8.3.1
55