Support arbitary vsiwtch configurations
This change introduces support for arbitary configurations as is done in the other modules by nova::config, cinder::config and etc. This allows users to set any parameter which is not yet supported directly by puppet-vswitch. Change-Id: Ica77dc2061bc34aaaadeac9b763bebacc1d32f88
This commit is contained in:
parent
0d026451bd
commit
71d591a753
@ -49,6 +49,13 @@
|
|||||||
# [*handler_cores*]
|
# [*handler_cores*]
|
||||||
# (Optional) Number of cores to be used for OVS handler threads.
|
# (Optional) Number of cores to be used for OVS handler threads.
|
||||||
#
|
#
|
||||||
|
# [*vs_config*]
|
||||||
|
# (optional) allow configuration of arbitary vsiwtch configurations.
|
||||||
|
# The value is an hash of vs_config resources. Example:
|
||||||
|
# { 'other_config:foo' => { value => 'baa' } }
|
||||||
|
# NOTE: that the configuration MUST NOT be already handled by this module
|
||||||
|
# or Puppet catalog compilation will fail with duplicate resources.
|
||||||
|
#
|
||||||
# DEPRECATED PARAMETERS
|
# DEPRECATED PARAMETERS
|
||||||
#
|
#
|
||||||
# [*driver_type*]
|
# [*driver_type*]
|
||||||
@ -67,11 +74,13 @@ class vswitch::dpdk (
|
|||||||
$vlan_limit = $::os_service_default,
|
$vlan_limit = $::os_service_default,
|
||||||
$revalidator_cores = undef,
|
$revalidator_cores = undef,
|
||||||
$handler_cores = undef,
|
$handler_cores = undef,
|
||||||
|
$vs_config = {},
|
||||||
# DEPRECATED PARAMETERS
|
# DEPRECATED PARAMETERS
|
||||||
$driver_type = 'vfio-pci',
|
$driver_type = 'vfio-pci',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include vswitch::params
|
include vswitch::params
|
||||||
|
validate_legacy(Hash, 'validate_hash', $vs_config)
|
||||||
kmod::load { 'vfio-pci': }
|
kmod::load { 'vfio-pci': }
|
||||||
|
|
||||||
if $::osfamily != 'Redhat' {
|
if $::osfamily != 'Redhat' {
|
||||||
@ -148,4 +157,6 @@ class vswitch::dpdk (
|
|||||||
}
|
}
|
||||||
|
|
||||||
create_resources('vs_config', $dpdk_configs, $dpdk_dependencies)
|
create_resources('vs_config', $dpdk_configs, $dpdk_dependencies)
|
||||||
|
create_resources('vs_config', $vs_config)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -33,15 +33,24 @@
|
|||||||
# (optional) Number of vlan layers allowed.
|
# (optional) Number of vlan layers allowed.
|
||||||
# Default to $::os_service_default
|
# Default to $::os_service_default
|
||||||
#
|
#
|
||||||
|
# [*vs_config*]
|
||||||
|
# (optional) allow configuration of arbitary vsiwtch configurations.
|
||||||
|
# The value is an hash of vs_config resources. Example:
|
||||||
|
# { 'other_config:foo' => { value => 'baa' } }
|
||||||
|
# NOTE: that the configuration MUST NOT be already handled by this module
|
||||||
|
# or Puppet catalog compilation will fail with duplicate resources.
|
||||||
|
#
|
||||||
class vswitch::ovs(
|
class vswitch::ovs(
|
||||||
$package_ensure = 'present',
|
$package_ensure = 'present',
|
||||||
$dkms_ensure = false,
|
$dkms_ensure = false,
|
||||||
$enable_hw_offload = false,
|
$enable_hw_offload = false,
|
||||||
$disable_emc = false,
|
$disable_emc = false,
|
||||||
$vlan_limit = $::os_service_default,
|
$vlan_limit = $::os_service_default,
|
||||||
|
$vs_config = {},
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include vswitch::params
|
include vswitch::params
|
||||||
|
validate_legacy(Hash, 'validate_hash', $vs_config)
|
||||||
|
|
||||||
case $::osfamily {
|
case $::osfamily {
|
||||||
'Debian': {
|
'Debian': {
|
||||||
@ -109,6 +118,8 @@ class vswitch::ovs(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
create_resources('vs_config', $vs_config)
|
||||||
|
|
||||||
service { 'openvswitch':
|
service { 'openvswitch':
|
||||||
ensure => true,
|
ensure => true,
|
||||||
enable => true,
|
enable => true,
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The following two parameters have been added. These two parameters support
|
||||||
|
arbitary vswitch configurations using hashes.
|
||||||
|
|
||||||
|
- ``vswitch::ovs::vs_config``
|
||||||
|
- ``vswitch::dpdk::vs_config``
|
Loading…
Reference in New Issue
Block a user