[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