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

View File

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

View File

@ -3,7 +3,7 @@ Puppet::Type.newtype(:ovn_metadata_agent_config) do
ensurable ensurable
newparam(:name, :namevar => true) do 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+/) newvalues(/\S+\/\S+/)
end end

View File

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

View File

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

View File

@ -161,13 +161,6 @@ class neutron::plugins::ml2::ovn(
fail( 'Invalid value for neutron_sync_mode parameter' ) 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 { neutron_plugin_ml2 {
'ovn/ovn_nb_connection' : value => $ovn_nb_connection; 'ovn/ovn_nb_connection' : value => $ovn_nb_connection;
'ovn/ovn_sb_connection' : value => $ovn_sb_connection; 'ovn/ovn_sb_connection' : value => $ovn_sb_connection;

View File

@ -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.

View File

@ -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_sb_connection').with(:value => '<SERVICE DEFAULT>')
should contain_ovn_metadata_agent_config('ovn/ovn_remote_probe_interval').with(:value => '<SERVICE DEFAULT>') should contain_ovn_metadata_agent_config('ovn/ovn_remote_probe_interval').with(:value => '<SERVICE DEFAULT>')
end 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 end
shared_examples 'ovn metadata agent with auth_ca_cert set' do shared_examples 'ovn metadata agent with auth_ca_cert set' do
@ -90,21 +103,6 @@ describe 'neutron::agents::ovn_metadata' do
end end
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({ on_supported_os({
:supported_os => OSDefaults.get_supported_os :supported_os => OSDefaults.get_supported_os
}).each do |os,facts| }).each do |os,facts|
@ -116,21 +114,16 @@ describe 'neutron::agents::ovn_metadata' do
let (:platform_params) do let (:platform_params) do
case facts[:osfamily] case facts[:osfamily]
when 'Debian' when 'Debian'
{ { :ovn_metadata_agent_package => 'neutron-ovn-metadata-agent',
:ovn_metadata_agent_service => 'networking-ovn-metadata-agent' :ovn_metadata_agent_service => 'neutron-ovn-metadata-agent' }
}
when 'RedHat' when 'RedHat'
{ :ovn_metadata_agent_package => 'python3-networking-ovn-metadata-agent', { :ovn_metadata_agent_package => 'openstack-neutron-ovn-metadata-agent',
:ovn_metadata_agent_service => 'networking-ovn-metadata-agent' } :ovn_metadata_agent_service => 'neutron-ovn-metadata-agent' }
end end
end end
it_behaves_like 'ovn metadata agent' it_behaves_like 'ovn metadata agent'
it_behaves_like 'ovn metadata agent with auth_ca_cert set' 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 end
end end

View File

@ -37,7 +37,7 @@ describe provider_class do
provider = provider_class.new(resource) provider = provider_class.new(resource)
expect(provider.section).to eq('DEFAULT') expect(provider.section).to eq('DEFAULT')
expect(provider.setting).to eq('foo') 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 end
it 'should allow setting to be set explicitly' do it 'should allow setting to be set explicitly' do
@ -50,7 +50,7 @@ describe provider_class do
provider = provider_class.new(resource) provider = provider_class.new(resource)
expect(provider.section).to eq('dude') expect(provider.section).to eq('dude')
expect(provider.setting).to eq('foo') 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 end
it 'should ensure absent when <SERVICE DEFAULT> is specified as a value' do it 'should ensure absent when <SERVICE DEFAULT> is specified as a value' do