Blame 0001-Fix-network_vlan_ranges-parameter-for-OVS-plugin.patch

26e0eac
From f1eee124575f2ccb33338759126f4d8315034715 Mon Sep 17 00:00:00 2001
26e0eac
From: Martin Magr <mmagr@redhat.com>
26e0eac
Date: Thu, 27 Mar 2014 14:01:44 +0100
26e0eac
Subject: [PATCH 1/3] Fix network_vlan_ranges parameter for OVS plugin
26e0eac
26e0eac
Class neutron::plugins::ovs expects string value in network_vlan_ranges parameter,
26e0eac
but validate_network_vlan_ranges will fail when value is comma separated list
26e0eac
of valid values. This patch is fixing this problem
26e0eac
26e0eac
Change-Id: If5b8ef59a600b3204415853ad796fb0537fefe4a
26e0eac
(cherry picked from commit 3d8d9fafec004b0debb2af8a70f4cd77d67ce04d)
26e0eac
---
26e0eac
 manifests/plugins/ovs.pp                 | 10 ++++++++--
26e0eac
 spec/classes/neutron_plugins_ovs_spec.rb | 14 ++++++++++++++
26e0eac
 2 files changed, 22 insertions(+), 2 deletions(-)
26e0eac
26e0eac
diff --git a/manifests/plugins/ovs.pp b/manifests/plugins/ovs.pp
26e0eac
index 349e316..fea6d0f 100644
26e0eac
--- a/manifests/plugins/ovs.pp
26e0eac
+++ b/manifests/plugins/ovs.pp
26e0eac
@@ -83,9 +83,15 @@ class neutron::plugins::ovs (
26e0eac
   } else {
26e0eac
     # This might be set by the user for the gre or vxlan case where
26e0eac
     # provider networks are in use
26e0eac
-    validate_network_vlan_ranges($network_vlan_ranges)
26e0eac
+    if !is_array($network_vlan_ranges) {
26e0eac
+      $arr_network_vlan_ranges = strip(split($network_vlan_ranges, ','))
26e0eac
+    } else {
26e0eac
+      $arr_network_vlan_ranges = $network_vlan_ranges
26e0eac
+    }
26e0eac
+
26e0eac
+    validate_network_vlan_ranges($arr_network_vlan_ranges)
26e0eac
     neutron_plugin_ovs {
26e0eac
-      'OVS/network_vlan_ranges': value => $network_vlan_ranges
26e0eac
+      'OVS/network_vlan_ranges': value => join($arr_network_vlan_ranges, ',');
26e0eac
     }
26e0eac
   }
26e0eac
 
26e0eac
diff --git a/spec/classes/neutron_plugins_ovs_spec.rb b/spec/classes/neutron_plugins_ovs_spec.rb
26e0eac
index 36efd04..f9cfa3f 100644
26e0eac
--- a/spec/classes/neutron_plugins_ovs_spec.rb
26e0eac
+++ b/spec/classes/neutron_plugins_ovs_spec.rb
26e0eac
@@ -160,6 +160,20 @@ describe 'neutron::plugins::ovs' do
26e0eac
       end
26e0eac
       it { should contain_neutron_plugin_ovs('OVS/network_vlan_ranges').with_value(params[:network_vlan_ranges]) }
26e0eac
     end
26e0eac
+
26e0eac
+    context 'with comma separated vlan ranges' do
26e0eac
+      let :params do
26e0eac
+        { :network_vlan_ranges => 'physint1:1000:2000,physext1:100:200' }
26e0eac
+      end
26e0eac
+      it { should contain_neutron_plugin_ovs('OVS/network_vlan_ranges').with_value(params[:network_vlan_ranges]) }
26e0eac
+    end
26e0eac
+
26e0eac
+    context 'with vlan ranges in array' do
26e0eac
+      let :params do
26e0eac
+        { :network_vlan_ranges => ['physint1:1000:2000', 'physext1:100:200'] }
26e0eac
+      end
26e0eac
+      it { should contain_neutron_plugin_ovs('OVS/network_vlan_ranges').with_value(params[:network_vlan_ranges].join(',')) }
26e0eac
+    end
26e0eac
   end
26e0eac
 
26e0eac
   context 'on Debian platforms' do
26e0eac
-- 
26e0eac
1.8.5.3
26e0eac