Browse Source

Add new classes ovs_driver and sriov_driver

Those classes handles ML2 plugin's configuration related to the
OVS and SR-IOV mechanism drivers.
Previously there was neutron::plugins::ml2::mech_driver function which
was used by neutron::plugins::ml2 class but it isn't used at all
currently and probably it will need to be deprecated and removed in
follow up patch(es).

Change-Id: I2a321fb780e789b7556d557e2170a3267049c432
(cherry picked from commit 0b8a90ec5c)
changes/47/757747/1
Slawek Kaplonski 3 months ago
parent
commit
a382db46e9
5 changed files with 138 additions and 0 deletions
  1. +31
    -0
      manifests/plugins/ml2/ovs_driver.pp
  2. +31
    -0
      manifests/plugins/ml2/sriov_driver.pp
  3. +8
    -0
      releasenotes/notes/ml2-driver-classes-e9de9a5e58c855fb.yaml
  4. +34
    -0
      spec/classes/neutron_plugins_ml2_ovs_driver.rb
  5. +34
    -0
      spec/classes/neutron_plugins_ml2_sriov_driver.rb

+ 31
- 0
manifests/plugins/ml2/ovs_driver.pp View File

@@ -0,0 +1,31 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# neutron::plugins::ml2::ovs_driver
#
# === Parameters:
#
# [*vnic_type_blacklist*]
# (optional) list of VNIC types for which support in Neutron is
# administratively prohibited by the OVS mechanism driver
# Defaults to []
#
class neutron::plugins::ml2::ovs_driver (
$vnic_type_blacklist = [],
){

if !empty($vnic_type_blacklist) {
neutron_plugin_ml2 {
'ovs_driver/vnic_type_blacklist': value => join(any2array($vnic_type_blacklist), ',');
}
}
}

+ 31
- 0
manifests/plugins/ml2/sriov_driver.pp View File

@@ -0,0 +1,31 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# neutron::plugins::ml2::ovs_driver
#
# === Parameters:
#
# [*vnic_type_blacklist*]
# (optional) list of VNIC types for which support in Neutron is
# administratively prohibited by the OVS mechanism driver
# Defaults to []
#
class neutron::plugins::ml2::sriov_driver (
$vnic_type_blacklist= [],
){

if !empty($vnic_type_blacklist) {
neutron_plugin_ml2 {
'sriov_driver/vnic_type_blacklist': value => join(any2array($vnic_type_blacklist), ',');
}
}
}

+ 8
- 0
releasenotes/notes/ml2-driver-classes-e9de9a5e58c855fb.yaml View File

@@ -0,0 +1,8 @@
---
features:
- |
The following two new classes have been added, to set up parameters in
ovs_driver and sriov_driver section.

- ``neutron::plugins::ml2::ovs_driver``
- ``neutron::plugins::ml2::sriov_driver``

+ 34
- 0
spec/classes/neutron_plugins_ml2_ovs_driver.rb View File

@@ -0,0 +1,34 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Unit tests for neutron::plugins::ml2::ovs_driver class

required 'spec_helper'

describe 'neutron::plugins::ml2::ovs_driver' do

let :default_params do
{
:vnic_type_blacklist => []
}
end

context 'when vnic_type_blacklist is not empty list' do
before :each do
params.merge!(:vnic_type_blacklist => ['direct'])
end

it 'should configure direct in vnic_type_blacklist' do
shoud contain_neutron_plugin_ml2('ovs_driver/vnic_type_blacklist').with_value("direct")
end
end
end

+ 34
- 0
spec/classes/neutron_plugins_ml2_sriov_driver.rb View File

@@ -0,0 +1,34 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Unit tests for neutron::plugins::ml2::sriov_driver class

required 'spec_helper'

describe 'neutron::plugins::ml2::sriov_driver' do

let :default_params do
{
:vnic_type_blacklist => []
}
end

context 'when vnic_type_blacklist is not empty list' do
before :each do
params.merge!(:vnic_type_blacklist => ['direct'])
end

it 'should configure direct in vnic_type_blacklist' do
shoud contain_neutron_plugin_ml2('sriov_driver/vnic_type_blacklist').with_value("direct")
end
end
end

Loading…
Cancel
Save