ovn: Do not expect the separate plugin package

OVN is part of Neutron since Ussuri [1]. As such, there is no longer a
separate python-networking-ovn package that needs to be installed.
This change removes the logic to install the separate plugin package,
and also updates the config file path to use the file provided by
the current neutron package.

In addition, this change ensures the ovn-metadata-agent package is
installed in Ubuntu/Debian as well.

[1] https://docs.openstack.org/releasenotes/neutron/ussuri.html#relnotes-16-0-0-stable-ussuri

Closes-Bug: #1945973
Change-Id: I8e32e0ca02b841058dc71f00a72b825e6441c1d3
This commit is contained in:
Jake Yip 2021-09-28 18:01:33 +10:00 committed by Takashi Kajinami
parent 0296a2a093
commit 854ece099a
8 changed files with 35 additions and 39 deletions
lib/puppet
provider/ovn_metadata_agent_config
type
manifests
releasenotes/notes
spec
classes
unit/provider/ovn_metadata_agent_config

@ -4,7 +4,7 @@ Puppet::Type.type(:ovn_metadata_agent_config).provide(
) do
def self.file_path
'/etc/neutron/plugins/networking-ovn/networking-ovn-metadata-agent.ini'
'/etc/neutron/neutron_ovn_metadata_agent.ini'
end
# added for backwards compatibility with older versions of inifile

@ -3,7 +3,7 @@ Puppet::Type.newtype(:ovn_metadata_agent_config) do
ensurable
newparam(:name, :namevar => true) do
desc 'Section/setting name to manage from networking-ovn-metadata-agent.ini'
desc 'Section/setting name to manage from neutron_ovn_metadata_agent.ini'
newvalues(/\S+\/\S+/)
end

@ -1,6 +1,6 @@
# == Class: neutron::agents::ovn_metadata
#
# Setup and configure networking-ovn metadata agent.
# Setup and configure neutron ovn metadata agent.
#
# === Parameters
#

@ -11,7 +11,6 @@ class neutron::params {
$linuxbridge_agent_service = 'neutron-linuxbridge-agent'
$opencontrail_plugin_package = 'neutron-plugin-contrail'
$opencontrail_config_file = '/etc/neutron/plugins/opencontrail/ContrailPlugin.ini'
$ovn_plugin_package = 'python3-networking-ovn'
$vpp_plugin_package = 'python3-networking-vpp'
$vpp_agent_service = 'neutron-vpp-agent'
$nuage_config_file = '/etc/neutron/plugins/nuage/plugin.ini'
@ -20,7 +19,7 @@ class neutron::params {
$metering_agent_service = 'neutron-metering-agent'
$l3_agent_service = 'neutron-l3-agent'
$metadata_agent_service = 'neutron-metadata-agent'
$ovn_metadata_agent_service = 'networking-ovn-metadata-agent'
$ovn_metadata_agent_service = 'neutron-ovn-metadata-agent'
$bgp_dragent_service = 'neutron-bgp-dragent'
$bagpipe_bgp_package = 'openstack-bagpipe-bgp'
$bgpvpn_bagpipe_package = 'python3-networking-bagpipe'
@ -63,7 +62,7 @@ class neutron::params {
$vpnaas_agent_package = 'openstack-neutron-vpnaas'
$l2gw_agent_package = 'openstack-neutron-l2gw-agent'
$l2gw_package = 'python3-networking-l2gw'
$ovn_metadata_agent_package = 'python3-networking-ovn-metadata-agent'
$ovn_metadata_agent_package = 'openstack-neutron-ovn-metadata-agent'
$dynamic_routing_package = false
$bgp_dragent_package = 'openstack-neutron-bgp-dragent'
$openswan_package = 'libreswan'
@ -119,6 +118,7 @@ class neutron::params {
$l3_agent_package = 'neutron-l3-agent'
$l2gw_agent_package = 'neutron-l2gateway-agent'
$l2gw_package = 'python3-networking-l2gw'
$ovn_metadata_agent_package = 'neutron-ovn-metadata-agent'
$neutron_wsgi_script_path = '/usr/lib/cgi-bin/neutron'
$neutron_wsgi_script_source = '/usr/bin/neutron-api'
$mlnx_agent_service = 'neutron-plugin-mlnx-agent'

@ -161,13 +161,6 @@ class neutron::plugins::ml2::ovn(
fail( 'Invalid value for neutron_sync_mode parameter' )
}
ensure_resource('package', $::neutron::params::ovn_plugin_package,
{
ensure => $package_ensure,
tag => ['openstack', 'neutron-plugin-ml2-package']
}
)
neutron_plugin_ml2 {
'ovn/ovn_nb_connection' : value => $ovn_nb_connection;
'ovn/ovn_sb_connection' : value => $ovn_sb_connection;

@ -0,0 +1,10 @@
---
fixes:
- |
The independent ovn plugin package(``pythonN-networking-ovn``) is no longer
required. The package is no longer available since Ussuri, and all codes
are now included in the base neutron package.
- |
The ``neutron-ovn-metadata-agent`` package is now installed in Ubuntu and
Debian.

@ -69,6 +69,19 @@ describe 'neutron::agents::ovn_metadata' do
should contain_ovn_metadata_agent_config('ovn/ovn_sb_connection').with(:value => '<SERVICE DEFAULT>')
should contain_ovn_metadata_agent_config('ovn/ovn_remote_probe_interval').with(:value => '<SERVICE DEFAULT>')
end
it 'installs ovn metadata agent package' do
should contain_package('ovn-metadata').with(
:ensure => params[:package_ensure],
:name => platform_params[:ovn_metadata_agent_package],
:tag => ['openstack', 'neutron-package'],
)
end
it 'configures subscription to ovn-metadata package' do
should contain_service('ovn-metadata').that_subscribes_to('Anchor[neutron::service::begin]')
should contain_service('ovn-metadata').that_notifies('Anchor[neutron::service::end]')
end
end
shared_examples 'ovn metadata agent with auth_ca_cert set' do
@ -90,21 +103,6 @@ describe 'neutron::agents::ovn_metadata' do
end
end
shared_examples 'neutron::agents::ovn::metadata on RedHat based' do
it 'installs ovn metadata agent package' do
should contain_package('ovn-metadata').with(
:ensure => params[:package_ensure],
:name => platform_params[:ovn_metadata_agent_package],
:tag => ['openstack', 'neutron-package'],
)
end
it 'configures subscription to ovn-metadata package' do
should contain_service('ovn-metadata').that_subscribes_to('Anchor[neutron::service::begin]')
should contain_service('ovn-metadata').that_notifies('Anchor[neutron::service::end]')
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
@ -116,21 +114,16 @@ describe 'neutron::agents::ovn_metadata' do
let (:platform_params) do
case facts[:osfamily]
when 'Debian'
{
:ovn_metadata_agent_service => 'networking-ovn-metadata-agent'
}
{ :ovn_metadata_agent_package => 'neutron-ovn-metadata-agent',
:ovn_metadata_agent_service => 'neutron-ovn-metadata-agent' }
when 'RedHat'
{ :ovn_metadata_agent_package => 'python3-networking-ovn-metadata-agent',
:ovn_metadata_agent_service => 'networking-ovn-metadata-agent' }
{ :ovn_metadata_agent_package => 'openstack-neutron-ovn-metadata-agent',
:ovn_metadata_agent_service => 'neutron-ovn-metadata-agent' }
end
end
it_behaves_like 'ovn metadata agent'
it_behaves_like 'ovn metadata agent with auth_ca_cert set'
if facts[:osfamily] == 'RedHat'
it_behaves_like 'neutron::agents::ovn::metadata on RedHat based'
end
end
end
end

@ -37,7 +37,7 @@ describe provider_class do
provider = provider_class.new(resource)
expect(provider.section).to eq('DEFAULT')
expect(provider.setting).to eq('foo')
expect(provider.file_path).to eq('/etc/neutron/plugins/networking-ovn/networking-ovn-metadata-agent.ini')
expect(provider.file_path).to eq('/etc/neutron/neutron_ovn_metadata_agent.ini')
end
it 'should allow setting to be set explicitly' do
@ -50,7 +50,7 @@ describe provider_class do
provider = provider_class.new(resource)
expect(provider.section).to eq('dude')
expect(provider.setting).to eq('foo')
expect(provider.file_path).to eq('/etc/neutron/plugins/networking-ovn/networking-ovn-metadata-agent.ini')
expect(provider.file_path).to eq('/etc/neutron/neutron_ovn_metadata_agent.ini')
end
it 'should ensure absent when <SERVICE DEFAULT> is specified as a value' do