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
7 .../network/lib/puppet/provider/network_route/redhat.rb | 16 ++++++++++++++--
8 1 file changed, 14 insertions(+), 2 deletions(-)
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
16 has_feature :provider_options
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"
25 - "/etc/sysconfig/network-scripts/route-#{@resource[:interface]}"
26 + "#{RSCRIPT_DIRECTORY}/route-#{@resource[:interface]}"
30 - Dir["/etc/sysconfig/network-scripts/route-*"]
31 + Dir["#{RSCRIPT_DIRECTORY}/route-*"]
34 def self.parse_file(filename, contents)
35 @@ -76,6 +82,7 @@ Puppet::Type.type(:network_route).provide(:redhat) do
37 # Generate an array of sections
38 def self.format_file(filename, providers)
39 + Dir.mkdir(RSCRIPT_DIRECTORY) unless File.exists?(RSCRIPT_DIRECTORY)
43 @@ -103,4 +110,9 @@ Puppet::Type.type(:network_route).provide(:redhat) do
48 + def self.post_flush_hook(filename)
49 + File.chmod(0644, filename)