Skip to content

Commit 7d20fc9

Browse files
committed
Add ability to manage Neutron ML2 plugin package state
Introduce the package_ensure parameter to add the ability to manage Neutron ML2 plugin package state. Closes-bug: #1355370 Change-Id: I3bf6ed68015c13cf61db1b43dfbf4fd3c845d00f
1 parent 0232249 commit 7d20fc9

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

manifests/plugins/ml2.pp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@
9898
$tunnel_id_ranges = ['20:100'],
9999
$vxlan_group = '224.0.0.1',
100100
$vni_ranges = ['10:100'],
101-
$enable_security_group = true
101+
$enable_security_group = true,
102+
$package_ensure = 'present'
102103
) {
103104

104105
include neutron::params
@@ -120,7 +121,7 @@
120121
# Some platforms do not have a dedicated ml2 plugin package
121122
if $::neutron::params::ml2_server_package {
122123
package { 'neutron-plugin-ml2':
123-
ensure => present,
124+
ensure => $package_ensure,
124125
name => $::neutron::params::ml2_server_package,
125126
}
126127
Package['neutron-plugin-ml2'] -> Neutron_plugin_ml2<||>

spec/classes/neutron_plugins_ml2_spec.rb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
:network_vlan_ranges => ['10:50'],
3737
:tunnel_id_ranges => ['20:100'],
3838
:vxlan_group => '224.0.0.1',
39-
:vni_ranges => ['10:100'] }
39+
:vni_ranges => ['10:100'],
40+
:package_ensure => 'present' }
4041
end
4142

4243
let :params do
@@ -71,7 +72,7 @@
7172
if platform_params.has_key?(:ml2_server_package)
7273
should contain_package('neutron-plugin-ml2').with(
7374
:name => platform_params[:ml2_server_package],
74-
:ensure => 'present'
75+
:ensure => p[:package_ensure]
7576
)
7677
should contain_package('neutron-plugin-ml2').with_before(/Neutron_plugin_ml2\[.+\]/)
7778
end
@@ -167,6 +168,20 @@
167168
expect { subject }.to raise_error(Puppet::Error, /vni ranges are invalid./)
168169
end
169170
end
171+
172+
context 'when overriding package ensure state' do
173+
before :each do
174+
params.merge!(:package_ensure => 'latest')
175+
end
176+
it 'overrides package ensure state (if possible)' do
177+
if platform_params.has_key?(:ml2_server_package)
178+
should contain_package('neutron-plugin-ml2').with(
179+
:name => platform_params[:ml2_server_package],
180+
:ensure => params[:package_ensure]
181+
)
182+
end
183+
end
184+
end
170185
end
171186

172187
context 'on Debian platforms' do

0 commit comments

Comments
 (0)