[openstack-puppet-modules/f21] Updated to 2014.1-24.3

Ivan Chavero ichavero at fedoraproject.org
Thu Oct 16 01:29:53 UTC 2014


commit a3d70f34f3f064ed913289ffc9c1e472ca88bb64
Author: Ivan Chavero <ichavero at redhat.com>
Date:   Wed Oct 15 19:29:24 2014 -0600

    Updated to 2014.1-24.3
    
    [ERRATA] Uploaded missing patches

 0001-Fixed-ovs-provider.patch                |  259 ++++++++++++++++++++++++++
 0001-Fixes-bridge-interface-name-check.patch |   27 +++
 openstack-puppet-modules.spec                |    5 +-
 3 files changed, 290 insertions(+), 1 deletions(-)
---
diff --git a/0001-Fixed-ovs-provider.patch b/0001-Fixed-ovs-provider.patch
new file mode 100644
index 0000000..7910240
--- /dev/null
+++ b/0001-Fixed-ovs-provider.patch
@@ -0,0 +1,259 @@
+From 9e9f91e83ca46c715107aba0299c4c754b22292b Mon Sep 17 00:00:00 2001
+From: Gilles Dubreuil <gilles at redhat.com>
+Date: Tue, 20 May 2014 17:07:45 +1000
+Subject: [PATCH 1/2] Fixed ovs provider
+
+The vs_bridge type needed:
+
+  - A regex value to validate external_ids
+
+  - An extra test for autorequire
+
+The vs_bridge provider needed:
+
+  - Openvswitch corresponding link to go
+    down before being remove: #destroy
+
+  - parameter external_ids had a typo and
+    couldn't be setup properly during create
+
+Standardization
+
+ - Replaced 'optional_commands' with 'commands'
+   and used no path to be more generic as
+   puppet will search for best path
+
+ - Types using :namevar good practice
+
+ - Inline documentation: for all parameters
+   and properties. Replaced @doc with desc
+
+ - Comestic: some doubled quotes => single
+
+Change-Id: I522888b1d2d147e07667344f9dfc9bcbc0c96668
+---
+ lib/puppet/provider/vs_bridge/ovs.rb | 25 ++++++++-------
+ lib/puppet/provider/vs_port/ovs.rb   | 14 +++++---
+ lib/puppet/type/vs_bridge.rb         | 33 ++++++++++++-------
+ lib/puppet/type/vs_port.rb           | 62 ++++++++++++++++++++----------------
+ 4 files changed, 78 insertions(+), 56 deletions(-)
+
+diff --git a/lib/puppet/provider/vs_bridge/ovs.rb b/lib/puppet/provider/vs_bridge/ovs.rb
+index 3d66185..cd51ba3 100644
+--- a/lib/puppet/provider/vs_bridge/ovs.rb
++++ b/lib/puppet/provider/vs_bridge/ovs.rb
+@@ -1,8 +1,8 @@
+-require "puppet"
++require 'puppet'
+ 
+ Puppet::Type.type(:vs_bridge).provide(:ovs) do
+-  optional_commands :vsctl => "/usr/bin/ovs-vsctl",
+-                    :ip    => "/sbin/ip"
++  commands :vsctl => 'ovs-vsctl'
++  commands :ip    => 'ip'
+ 
+   def exists?
+     vsctl("br-exists", @resource[:name])
+@@ -11,22 +11,23 @@ Puppet::Type.type(:vs_bridge).provide(:ovs) do
+   end
+ 
+   def create
+-    vsctl("add-br", @resource[:name])
+-    ip("link", "set", @resource[:name], "up")
+-    external_ids = @resource[:external_ids] if at resource[:external_ids]
++    vsctl('add-br', @resource[:name])
++    ip('link', 'set', @resource[:name], 'up')
++    external_ids = @resource[:external_ids] if @resource[:external_ids]
+   end
+ 
+   def destroy
+-    vsctl("del-br", @resource[:name])
++    ip('link', 'set', @resource[:name], 'down')
++    vsctl('del-br', @resource[:name])
+   end
+ 
+-  def _split(string, splitter=",")
+-    return Hash[string.split(splitter).map{|i| i.split("=")}]
++  def _split(string, splitter=',')
++    return Hash[string.split(splitter).map{|i| i.split('=')}]
+   end
+ 
+   def external_ids
+-    result = vsctl("br-get-external-id", @resource[:name])
+-    return result.split("\n").join(",")
++    result = vsctl('br-get-external-id', @resource[:name])
++    return result.split("\n").join(',')
+   end
+ 
+   def external_ids=(value)
+@@ -35,7 +36,7 @@ Puppet::Type.type(:vs_bridge).provide(:ovs) do
+ 
+     new_ids.each_pair do |k,v|
+       unless old_ids.has_key?(k)
+-        vsctl("br-set-external-id", @resource[:name], k, v)
++        vsctl('br-set-external-id', @resource[:name], k, v)
+       end
+     end
+   end
+diff --git a/lib/puppet/provider/vs_port/ovs.rb b/lib/puppet/provider/vs_port/ovs.rb
+index b7be530..483b13b 100644
+--- a/lib/puppet/provider/vs_port/ovs.rb
++++ b/lib/puppet/provider/vs_port/ovs.rb
+@@ -1,17 +1,21 @@
+-require "puppet"
++require 'puppet'
+ 
+ Puppet::Type.type(:vs_port).provide(:ovs) do
+-  optional_commands :vsctl => "/usr/bin/ovs-vsctl"
++  desc 'Openvswitch port manipulation'
++
++  commands :vsctl => 'ovs-vsctl'
+ 
+   def exists?
+-    vsctl("list-ports", @resource[:bridge]).include? @resource[:interface]
++    vsctl('list-ports', @resource[:bridge]).include? @resource[:interface]
++  rescue Puppet::ExecutionFailure => e
++    return false
+   end
+ 
+   def create
+-    vsctl("add-port", @resource[:bridge], @resource[:interface])
++    vsctl('add-port', @resource[:bridge], @resource[:interface])
+   end
+ 
+   def destroy
+-    vsctl("del-port", @resource[:bridge], @resource[:interface])
++    vsctl('del-port', @resource[:bridge], @resource[:interface])
+   end
+ end
+diff --git a/lib/puppet/type/vs_bridge.rb b/lib/puppet/type/vs_bridge.rb
+index 6a1f84d..c5a5e7c 100644
+--- a/lib/puppet/type/vs_bridge.rb
++++ b/lib/puppet/type/vs_bridge.rb
+@@ -1,19 +1,30 @@
+-require "puppet"
++require 'puppet'
+ 
+-module Puppet
+-  Puppet::Type.newtype(:vs_bridge) do
+-    @doc = "A Switch - For example 'br-int' in OpenStack"
++Puppet::Type.newtype(:vs_bridge) do
++  desc 'A Switch - For example "br-int" in OpenStack'
+ 
+-    ensurable
++  ensurable
+ 
+-    newparam(:name) do
+-      isnamevar
+-      desc "The bridge to configure"
+-    end
++  newparam(:name, :namevar => true) do
++    desc 'The bridge to configure'
+ 
+-    newproperty(:external_ids) do
+-      desc "External IDs for the bridge"
++    validate do |value|
++      if !value.is_a?(String)
++        raise ArgumentError, "Invalid name #{value}. Requires a String, not a #{value.class}"
++      end
+     end
++  end
+ 
++  newproperty(:external_ids) do
++    desc 'External IDs for the bridge: "key1=value2,key2=value2"'
++
++    validate do |value|
++      if !value.is_a?(String)
++        raise ArgumentError, "Invalid external_ids #{value}. Requires a String, not a #{value.class}"
++      end
++      if value !~ /^(?>[a-zA-Z]\w*=\w*){1}(?>[,][a-zA-Z]\w*=\w*)*$/
++        raise ArgumentError, "Invalid external_ids #{value}. Must a list of key1=value2,key2=value2"
++      end
++    end
+   end
+ end
+diff --git a/lib/puppet/type/vs_port.rb b/lib/puppet/type/vs_port.rb
+index 58559d2..df4705e 100644
+--- a/lib/puppet/type/vs_port.rb
++++ b/lib/puppet/type/vs_port.rb
+@@ -1,43 +1,49 @@
+-require "puppet"
++require 'puppet'
+ 
+-module Puppet
+-  Puppet::Type.newtype(:vs_port) do
+-    @doc = "A Virtual Switch Port"
++Puppet::Type.newtype(:vs_port) do
++  desc 'A Virtual Switch Port'
+ 
+-    ensurable
++  ensurable
+ 
+-    newparam(:interface) do
+-      isnamevar
+-      desc "The interface to attach to the bridge"
+-    end
++  newparam(:interface, :namevar => true) do
++    desc 'The interface to attach to the bridge'
+ 
+-    newparam(:bridge) do
+-      desc "What bridge to use"
++    validate do |value|
++      if !value.is_a?(String)
++        raise ArgumentError, "Invalid interface #{value}. Requires a String, not a #{value.class}"
++      end
+     end
++  end
+ 
+-    # newparam(:keep_ip, :boolean => true, :parent => Puppet::Parameter::Boolean) do
+-    newparam(:keep_ip) do
+-      desc "True: keep physical interface's details and assign them to the bridge" 
++  newparam(:bridge) do
++    desc "What bridge to use"
+ 
+-      defaultto false
++    validate do |value|
++      if !value.is_a?(String)
++        raise ArgumentError, "Invalid bridge #{value}. Requires a String, not a #{value.class}'"
++      end
+     end
++  end
++
++  newparam(:keep_ip) do
++    desc "True: keep physical interface's details and assign them to the bridge"
+ 
+-    newparam(:sleep) do
+-      desc "Waiting time, in seconds (0 by default), for network to sync after activating port, used with keep_ip only"
++    defaultto false
++  end
++
++  newparam(:sleep) do
++    desc "Waiting time, in seconds (0 by default), for network to sync after activating port, used with keep_ip only"
++
++    defaultto '0'
+ 
+-      defaultto '0'
+-      
+-      validate do |value|
+-        if value.to_i.class != Fixnum || value.to_i < 0
+-          raise ArgumentError, "sleep requires a positive integer"
+-        end
++    validate do |value|
++      if value.to_i.class != Fixnum || value.to_i < 0
++        raise ArgumentError, "sleep requires a positive integer"
+       end
+     end
+-    
+-    autorequire(:vs_bridge) do
+-      [self[:bridge]]
+-    end
++  end
+ 
++  autorequire(:vs_bridge) do
++    self[:bridge] if self[:bridge]
+   end
+ end
+-
+-- 
+1.8.3.1
+
diff --git a/0001-Fixes-bridge-interface-name-check.patch b/0001-Fixes-bridge-interface-name-check.patch
new file mode 100644
index 0000000..912b625
--- /dev/null
+++ b/0001-Fixes-bridge-interface-name-check.patch
@@ -0,0 +1,27 @@
+From 0e47ea85dcc926fa6e3e44bf11f91d1da88111fc Mon Sep 17 00:00:00 2001
+From: Ivan Chavero <ichavero at redhat.com>
+Date: Mon, 16 Jun 2014 13:01:25 -0600
+Subject: [PATCH] Fixes bridge interface name check
+
+Fixes name check for interface names that contain:
+"-", ":", "@", "."
+---
+ lib/puppet/type/vs_bridge.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/puppet/type/vs_bridge.rb b/lib/puppet/type/vs_bridge.rb
+index c5a5e7c..13bfd19 100644
+--- a/lib/puppet/type/vs_bridge.rb
++++ b/lib/puppet/type/vs_bridge.rb
+@@ -22,7 +22,7 @@ Puppet::Type.newtype(:vs_bridge) do
+       if !value.is_a?(String)
+         raise ArgumentError, "Invalid external_ids #{value}. Requires a String, not a #{value.class}"
+       end
+-      if value !~ /^(?>[a-zA-Z]\w*=\w*){1}(?>[,][a-zA-Z]\w*=\w*)*$/
++      if value !~ /^(?>[a-zA-Z][\w\-\.]*=[\w\-\.:@]*){1}(?>[,][a-zA-Z][\w\-\.]*=[\w\-\.:@]*)*$/
+         raise ArgumentError, "Invalid external_ids #{value}. Must a list of key1=value2,key2=value2"
+       end
+     end
+-- 
+1.9.3
+
diff --git a/openstack-puppet-modules.spec b/openstack-puppet-modules.spec
index f66807c..b1c0124 100644
--- a/openstack-puppet-modules.spec
+++ b/openstack-puppet-modules.spec
@@ -43,7 +43,7 @@
 
 Name:           openstack-puppet-modules
 Version:        2014.1
-Release:        24.2%{?dist}
+Release:        24.3%{?dist}
 Summary:        Puppet modules used to deploy OpenStack
 License:        ASL 2.0 and GPLv2 and GPLv3
 URL:            https://github.com/redhat-openstack
@@ -294,6 +294,9 @@ rm -f %{buildroot}/%{_datadir}/openstack-puppet/modules/nova/files/nova-novncpro
 
 
 %changelog
+* Wed Oct 14 2014 Iván Chavero <ichavero at redhat.com> - 2014.1-24.3
+- [ERRATA] Uploaded missing patches 
+
 * Wed Oct 14 2014 Iván Chavero <ichavero at redhat.com> - 2014.1-24.2
 - Updated sources
 


More information about the scm-commits mailing list