mlnx: Allow workaround for duplicate resources

The commit b2e7de79df98a986768aaef203ddbe02bee41072 , which was merged
during Train cycle, introduced a few new parameters to support multi
interface driver, but the following two parameters are already declared
in the corresponding agent classes and trigger duplicate resource
declaration when these classes are used in a single manifest.
 - dhcp_broadcast_reply
 - interface_driver

This change allows users to workaround the problem. Details are
documented in the release note.

Closes-Bug: #1987460
Change-Id: I993523dc7f0ec8ad90a50d049dc0f5ccf9f2b191
This commit is contained in:
Takashi Kajinami 2022-08-24 09:52:06 +09:00
parent 581f6a3149
commit c4f3abe22e
2 changed files with 25 additions and 3 deletions

View File

@ -94,20 +94,28 @@ class neutron::agents::ml2::mlnx (
$mappings_array = pick(join(any2array($multi_interface_driver_mappings), ','), $::os_service_default);
neutron_dhcp_agent_config {
'DEFAULT/dhcp_broadcast_reply' : value => $dhcp_broadcast_reply;
'DEFAULT/interface_driver' : value => $interface_driver;
'DEFAULT/multi_interface_driver_mappings' : value => $mappings_array;
'DEFAULT/ipoib_physical_interface' : value => $ipoib_physical_interface;
'DEFAULT/enable_multi_interface_driver_cache_maintenance' : value => $enable_multi_interface_driver_cache_maintenance;
}
neutron_l3_agent_config {
'DEFAULT/interface_driver' : value => $interface_driver;
'DEFAULT/multi_interface_driver_mappings' : value => $mappings_array;
'DEFAULT/ipoib_physical_interface' : value => $ipoib_physical_interface;
'DEFAULT/enable_multi_interface_driver_cache_maintenance' : value => $enable_multi_interface_driver_cache_maintenance;
}
# NOTE(tkajinam): These are required to allow workaround for bug 1987460
ensure_resource('neutron_dhcp_agent_config', 'DEFAULT/interface_driver', {
'value' => $interface_driver
})
ensure_resource('neutron_l3_agent_config', 'DEFAULT/interface_driver', {
'value' => $interface_driver
})
ensure_resource('neutron_dhcp_agent_config', 'DEFAULT/dhcp_broadcast_reply', {
'value' => $dhcp_broadcast_reply
})
if $manage_package {
ensure_packages($mlnx_agent_package, {
ensure => $package_ensure,

View File

@ -0,0 +1,14 @@
---
fixes:
- |
`Bug #1987460 <https://bugs.launchpad.net/puppet-neutron/+bug/1987460>`_:
Previously the ``neutron::agents::ml2::mlnx`` class causes duplicate
resources when used with the ``neutron::agents::dhcp`` class or
the ``neutron::agents::l3`` class. Now it is possible to workaround
the error by implementing the following mitigation.
- Include the ``neutron::agents::ml2::mlnx`` class AFTER
the ``neutron::agents::dhcp`` class or the ``neutron::agents::l3``
- Set the ``interface_driver`` parameter and the ``dhcp_broadcast_reply``
parameter consistently.