Upstream patch to address
https://bugs.launchpad.net/puppet-openstack/+bug/1476680
This is fixed in 7.0.0 or newer releases of this module.
From f4a0f2aa66bd04a930b02e2c2b3f9f0377a451e7 Mon Sep 17 00:00:00 2001
From: Sergey Kolekonov <skolekonov@mirantis.com>
Date: Tue, 21 Jul 2015 19:17:20 +0300
Subject: [PATCH] Fix 'shared' parameter check in neutron_network provider
Use stricter check for 'shared' parameter
Change-Id: I36149b42943238dc342f8c6e71c1261f00e01c4a
Closes-bug: #1476680
---
lib/puppet/provider/neutron_network/neutron.rb | 2 +-
spec/unit/provider/neutron_network/neutron_spec.rb | 28 +++++++++++++++++++++-
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/lib/puppet/provider/neutron_network/neutron.rb b/lib/puppet/provider/neutron_network/neutron.rb
index b1ef753..b13ec00 100644
--- openstack-neutron-6.1.0/lib/puppet/provider/neutron_network/neutron.rb.orig
+++ openstack-neutron-6.1.0/lib/puppet/provider/neutron_network/neutron.rb
@@ -53,7 +53,7 @@ Puppet::Type.type(:neutron_network).provide(
def create
network_opts = Array.new
- if @resource[:shared]
+ if @resource[:shared] =~ /true/i
network_opts << '--shared'
end
diff --git a/spec/unit/provider/neutron_network/neutron_spec.rb b/spec/unit/provider/neutron_network/neutron_spec.rb
index d01a009..b3b939e 100644
--- openstack-neutron-6.1.0/spec/unit/provider/neutron_network/neutron_spec.rb.orig
+++ openstack-neutron-6.1.0/spec/unit/provider/neutron_network/neutron_spec.rb
@@ -31,7 +31,33 @@ describe provider_class do
shared_examples 'neutron_network' do
- describe 'when creating a network' do
+ describe 'when creating a non-shared network' do
+
+ it 'should call net-create with appropriate command line options' do
+ provider.class.stubs(:get_tenant_id).returns(net_attrs[:tenant_id])
+
+ output = 'Created a new network:
+admin_state_up="True"
+id="d9ac3494-20ea-406c-a4ba-145923dfadc9"
+name="net1"
+shared="False"
+status="ACTIVE"
+subnets=""
+tenant_id="60f9544eb94c42a6b7e8e98c2be981b1"'
+
+ provider.expects(:auth_neutron).with('net-create',
+ '--format=shell', ["--tenant_id=#{net_attrs[:tenant_id]}"],
+ net_name).returns(output)
+
+ provider.create
+ end
+ end
+
+ describe 'when creating a shared network' do
+
+ let :local_attrs do
+ attrs = net_attrs.merge({:shared => 'True'})
+ end
it 'should call net-create with appropriate command line options' do
provider.class.stubs(:get_tenant_id).returns(net_attrs[:tenant_id])
--
1.9.1