Remove support for standalone neutron-server

It was removed from neutron during this cycle due to removal of
the eventlet library.

Depends-on: https://review.opendev.org/952659
Depends-on: https://review.opendev.org/957585
Change-Id: Ibf260264d83f285008155223ada30423dc26254e
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
This commit is contained in:
Takashi Kajinami
2025-08-18 10:06:51 +09:00
parent 61fccb735e
commit 54677589b1
7 changed files with 150 additions and 298 deletions

View File

@@ -26,8 +26,6 @@ class neutron::params {
case $facts['os']['family'] {
'RedHat': {
$package_name = 'openstack-neutron'
$server_service = 'neutron-server'
$server_package = undef
$api_package_name = undef
$api_service_name = undef
$rpc_package_name = 'openstack-neutron-rpc-server'
@@ -72,8 +70,6 @@ class neutron::params {
$package_name = 'neutron-common'
if $facts['os']['name'] == 'Debian' {
$ml2_server_package = undef
$server_service = undef
$server_package = undef
$api_package_name = 'neutron-api'
$api_service_name = 'neutron-api'
$rpc_package_name = 'neutron-rpc-server'
@@ -84,8 +80,6 @@ class neutron::params {
$bagpipe_bgp_service = 'networking-bagpipe-bgp-agent'
} else {
$ml2_server_package = 'neutron-plugin-ml2'
$server_service = 'neutron-server'
$server_package = 'neutron-server'
$api_package_name = 'neutron-api'
$api_service_name = undef
$rpc_package_name = 'neutron-rpc-server'

View File

@@ -16,18 +16,6 @@
# (Optional) Whether to start/stop the service
# Defaults to true
#
# [*service_name*]
# (Optional) Name of the service that will be providing neutron-server.
# If set to false, then separate api service and rpc service.
# Defaults to $neutron::params::server_service
#
# [*server_package*]
# (Optional) Name of the package holding neutron-server.
# If service_name is set to false, then this also must be
# set to false. With false, no package will be installed
# before running the neutron-server service.
# Defaults to $neutron::params::server_package
#
# [*api_package_name*]
# (Optional) Name of the package holding neutron-api.
# If this parameter is set to false,
@@ -237,12 +225,20 @@
# speficied on the router.
# Defaults to $facts['os_service_default']
#
# DEPRECATED PARAMETERS
#
# [*service_name*]
# (Optional) Name of the service that will be providing neutron-server.
# Defaults to undef
#
# [*server_package*]
# (Optional) Name of the package holding neutron-server.
# Defaults to undef
#
class neutron::server (
$package_ensure = 'present',
Boolean $enabled = true,
Boolean $manage_service = true,
$service_name = $neutron::params::server_service,
$server_package = $neutron::params::server_package,
$api_package_name = $neutron::params::api_package_name,
$api_service_name = $neutron::params::api_service_name,
$rpc_package_name = $neutron::params::rpc_package_name,
@@ -282,6 +278,9 @@ class neutron::server (
$igmp_flood_unregistered = $facts['os_service_default'],
$enable_default_route_ecmp = $facts['os_service_default'],
$enable_default_route_bfd = $facts['os_service_default'],
# DEPRECATED PARMETERS
$service_name = undef,
$server_package = undef,
) inherits neutron::params {
include neutron::deps
@@ -294,6 +293,13 @@ class neutron::server (
}
}
if $service_name != undef {
warning('The service_name parameter is deprecated')
if $service_name {
fail('The moonolithic neutron-service is no longer supported')
}
}
if $sync_db {
include neutron::db::sync
}
@@ -330,37 +336,27 @@ class neutron::server (
'DEFAULT/enable_default_route_bfd': value => $enable_default_route_bfd;
}
if $service_name {
if $server_package {
package { 'neutron-server':
ensure => $package_ensure,
name => $neutron::params::server_package,
tag => ['openstack', 'neutron-package'],
}
}
} else {
if $api_package_name {
package { 'neutron-api':
ensure => $package_ensure,
name => $api_package_name,
tag => ['openstack', 'neutron-package'],
}
if $api_package_name {
package { 'neutron-api':
ensure => $package_ensure,
name => $api_package_name,
tag => ['openstack', 'neutron-package'],
}
}
if $rpc_service_name {
package { 'neutron-rpc-server':
ensure => $package_ensure,
name => $rpc_package_name,
tag => ['openstack', 'neutron-package'],
}
if $rpc_service_name {
package { 'neutron-rpc-server':
ensure => $package_ensure,
name => $rpc_package_name,
tag => ['openstack', 'neutron-package'],
}
}
if $periodic_workers_service_name {
package { 'neutron-periodic-workers':
ensure => $package_ensure,
name => $periodic_workers_package_name,
tag => ['openstack', 'neutron-package'],
}
if $periodic_workers_service_name {
package { 'neutron-periodic-workers':
ensure => $package_ensure,
name => $periodic_workers_package_name,
tag => ['openstack', 'neutron-package'],
}
}
@@ -380,121 +376,55 @@ class neutron::server (
$service_ensure = 'stopped'
}
# $service_name is the old 'neutron-server' service. If it is in use,
# then we don't need to start neutron-api and neutron-rpc-server. If
# it is not, then we must start neutron-api and neutron-rpc-server instead.
if $service_name {
if $service_name == $neutron::params::server_service {
service { 'neutron-server':
ensure => $service_ensure,
name => $neutron::params::server_service,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service', 'neutron-server-eventlet'],
}
Neutron_api_paste_ini<||> ~> Service['neutron-server']
if $api_service_name == 'httpd' {
Service <| title == 'httpd' |> { tag +> 'neutron-service' }
} elsif $service_name == 'httpd' {
fail('Use api_service_name and rpc_service_name to run api service by httpd')
} else {
warning('Support for arbitrary service name is deprecated')
# backward compatibility so operators can customize the service name.
service { 'neutron-server':
ensure => $service_ensure,
name => $service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
}
} else {
if $neutron::params::server_service {
# we need to make sure neutron-server is stopped before trying to
# start separate services.
service { 'neutron-server':
if $neutron::params::api_service_name {
# we need to make sure api service is stopped before trying to
# start apache
service { 'neutron-api':
ensure => 'stopped',
name => $neutron::params::server_service,
name => $neutron::params::api_service_name,
enable => false,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
Service['neutron-api'] -> Service[$api_service_name]
}
} else {
service { 'neutron-api':
ensure => $service_ensure,
name => $api_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
if $api_service_name {
if $api_service_name == 'httpd' {
Service <| title == 'httpd' |> { tag +> 'neutron-service' }
Neutron_api_paste_ini<||> ~> Service[$api_service_name]
Neutron_api_paste_ini<||> ~> Service['neutron-api']
Neutron_api_uwsgi_config<||> ~> Service['neutron-api']
}
if $neutron::params::server_service {
Service['neutron-server'] -> Service[$api_service_name]
}
if $neutron::params::api_service_name {
# we need to make sure api service is stopped before trying to
# start apache
service { 'neutron-api':
ensure => 'stopped',
name => $neutron::params::api_service_name,
enable => false,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
Service['neutron-api'] -> Service[$api_service_name]
}
} else {
service { 'neutron-api':
ensure => $service_ensure,
name => $api_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service', 'neutron-server-eventlet'],
}
Neutron_api_paste_ini<||> ~> Service['neutron-api']
Neutron_api_uwsgi_config<||> ~> Service['neutron-api']
if $neutron::params::server_service {
Service['neutron-server'] -> Service['neutron-api']
}
}
if $rpc_service_name {
service { 'neutron-rpc-server':
ensure => $service_ensure,
name => $rpc_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
}
if $rpc_service_name {
service { 'neutron-rpc-server':
ensure => $service_ensure,
name => $rpc_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
if $neutron::params::server_service {
Service['neutron-server'] -> Service['neutron-rpc-server']
}
}
if $periodic_workers_service_name {
service { 'neutron-periodic-workers':
ensure => $service_ensure,
name => $periodic_workers_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
if $neutron::params::server_service {
Service['neutron-server'] -> Service['neutron-periodic-workers']
}
if $periodic_workers_service_name {
service { 'neutron-periodic-workers':
ensure => $service_ensure,
name => $periodic_workers_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
tag => ['neutron-service'],
}
}
}

View File

@@ -0,0 +1,4 @@
---
upgrade:
- |
Support for standalone neutron-server service has been removed.

View File

@@ -20,15 +20,6 @@
require 'spec_helper'
describe 'neutron::plugins::ml2::arista::l3' do
let :pre_condition do
"class { 'neutron::keystone::authtoken':
password => 'passw0rd',
}
class { 'neutron::server': }
class { 'neutron':
core_plugin => 'ml2' }"
end
let :default_params do
{
:secondary_l3_host => '<SERVICE DEFAULT>',

View File

@@ -20,15 +20,6 @@
require 'spec_helper'
describe 'neutron::plugins::ml2::arista' do
let :pre_condition do
"class { 'neutron::keystone::authtoken':
password => 'passw0rd',
}
class { 'neutron::server': }
class { 'neutron':
core_plugin => 'ml2' }"
end
let :default_params do
{
:region_name => '<SERVICE DEFAULT>',

View File

@@ -1,14 +1,6 @@
require 'spec_helper'
describe 'neutron::plugins::ml2::ovn' do
let :pre_condition do
"class { 'neutron::keystone::authtoken':
password => 'passw0rd',
}
class { 'neutron::server': }
class { 'neutron': }"
end
let :default_params do
{
:ovn_nb_connection => '<SERVICE DEFAULT>',

View File

@@ -5,11 +5,12 @@ describe 'neutron::server' do
"class { 'neutron': }
class { 'neutron::keystone::authtoken':
password => 'passw0rd',
}"
}
include apache"
end
let :params do
{}
{ :api_service_name => 'httpd' }
end
shared_examples 'neutron::server' do
@@ -17,51 +18,49 @@ describe 'neutron::server' do
it { should contain_class('neutron::params') }
it { should contain_class('neutron::policy') }
it 'installs neutron server package' do
if platform_params.has_key?(:server_package)
should contain_package('neutron-server').with(
:name => platform_params[:server_package],
it 'installs neutron server service' do
if platform_params.has_key?(:api_package_name)
should contain_package('neutron-api').with(
:name => platform_params[:api_package_name],
:ensure => 'present',
:tag => ['openstack', 'neutron-package'],
)
should contain_package('neutron-server').that_requires('Anchor[neutron::install::begin]')
should contain_package('neutron-server').that_notifies('Anchor[neutron::install::end]')
else
should contain_package('neutron').that_requires('Anchor[neutron::install::begin]')
should contain_package('neutron').that_notifies('Anchor[neutron::install::end]')
end
if platform_params.has_key?(:api_service_name)
should contain_service('neutron-api').with(
:ensure => 'stopped',
:name => platform_params[:api_service_name],
:enable => false,
:tag => ['neutron-service'],
)
end
should contain_package('neutron-rpc-server').with(
:name => platform_params[:rpc_package_name],
:ensure => 'present',
:tag => ['openstack', 'neutron-package'],
)
should contain_service('neutron-rpc-server').with(
:name => platform_params[:rpc_service_name],
:enable => true,
:ensure => 'running',
:tag => ['neutron-service'],
)
should contain_package('neutron-periodic-workers').with(
:name => platform_params[:periodic_workers_package_name],
:ensure => 'present',
:tag => ['openstack', 'neutron-package'],
)
should contain_service('neutron-periodic-workers').with(
:ensure => 'running',
:name => platform_params[:periodic_workers_service_name],
:enable => true,
:tag => ['neutron-service'],
)
end
it 'configures neutron server service' do
if platform_params.has_key?(:server_service)
should contain_service('neutron-server').with(
:name => platform_params[:server_service],
:enable => true,
:ensure => 'running',
:tag => ['neutron-service', 'neutron-server-eventlet'],
)
should contain_service('neutron-server').that_subscribes_to('Anchor[neutron::service::begin]')
should contain_service('neutron-server').that_notifies('Anchor[neutron::service::end]')
else
should contain_service('neutron-api').with(
:name => platform_params[:api_service_name],
:enable => true,
:ensure => 'running',
:tag => ['neutron-service', 'neutron-server-eventlet'],
)
should contain_service('neutron-api').that_subscribes_to('Anchor[neutron::service::begin]')
should contain_service('neutron-api').that_notifies('Anchor[neutron::service::end]')
should contain_service('neutron-rpc-server').with(
:name => platform_params[:rpc_service_name],
:enable => true,
:ensure => 'running',
:tag => ['neutron-service'],
)
should contain_service('neutron-rpc-server').that_subscribes_to('Anchor[neutron::service::begin]')
should contain_service('neutron-rpc-server').that_notifies('Anchor[neutron::service::end]')
end
should_not contain_class('neutron::db::sync')
should contain_neutron_config('DEFAULT/api_workers').with_value(facts[:os_workers])
should contain_neutron_config('DEFAULT/rpc_workers').with_value(facts[:os_workers])
@@ -91,12 +90,9 @@ describe 'neutron::server' do
end
it 'should not manage the service' do
if platform_params.has_key?(:server_service)
should_not contain_service('neutron-server')
else
should_not contain_service('neutron-api')
should_not contain_service('neutron-rpc-server')
end
should_not contain_service('neutron-api')
should_not contain_service('neutron-rpc-server')
should_not contain_service('neutron-periodic-workers')
end
end
@@ -256,79 +252,6 @@ describe 'neutron::server' do
)}
end
context 'when running neutron-api in wsgi' do
before :each do
params.merge!(
:service_name => false,
:api_service_name => 'httpd',
)
end
let :pre_condition do
"class { 'neutron': }
include apache
class { 'neutron::keystone::authtoken':
password => 'passw0rd',
}"
end
it 'configures neutron-api service with Apache' do
if platform_params.has_key?(:server_service)
should contain_service('neutron-server').with(
:ensure => 'stopped',
:name => platform_params[:server_service],
:enable => false,
:tag => ['neutron-service'],
)
else
should contain_service('neutron-api').with(
:ensure => 'stopped',
:name => platform_params[:api_service_name],
:enable => false,
:tag => ['neutron-service'],
)
end
should contain_package('neutron-rpc-server').with(
:name => platform_params[:rpc_package_name],
:ensure => 'present',
:tag => ['openstack', 'neutron-package'],
)
should contain_service('neutron-rpc-server').with(
:ensure => 'running',
:name => platform_params[:rpc_service_name],
:enable => true,
:tag => ['neutron-service'],
)
should contain_package('neutron-periodic-workers').with(
:name => platform_params[:periodic_workers_package_name],
:ensure => 'present',
:tag => ['openstack', 'neutron-package'],
)
should contain_service('neutron-periodic-workers').with(
:ensure => 'running',
:name => platform_params[:periodic_workers_service_name],
:enable => true,
:tag => ['neutron-service'],
)
end
end
context 'when service_name is customized' do
before :each do
params.merge!({ :service_name => 'foobar' })
end
it 'configures neutron-api service with custom name' do
should contain_service('neutron-server').with(
:name => 'foobar',
:enable => true,
:ensure => 'running',
:tag => ['neutron-service'],
)
end
end
context 'with ovs_integration_bridge set' do
before :each do
params.merge!({:ovs_integration_bridge => 'br-int' })
@@ -390,6 +313,33 @@ describe 'neutron::server' do
end
end
shared_examples 'neutron::server in Debian' do
before :each do
params.clear()
end
let :pre_condition do
"class { 'neutron': }
class { 'neutron::keystone::authtoken':
password => 'passw0rd',
}"
end
it 'installs neutron server service' do
should contain_package('neutron-api').with(
:name => platform_params[:api_package_name],
:ensure => 'present',
:tag => ['openstack', 'neutron-package'],
)
should contain_service('neutron-api').with(
:ensure => 'running',
:name => platform_params[:api_service_name],
:enable => true,
:tag => ['neutron-service'],
)
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
@@ -404,8 +354,6 @@ describe 'neutron::server' do
if facts[:os]['name'] == 'Ubuntu'
{
:api_package_name => 'neutron-api',
:server_package => 'neutron-server',
:server_service => 'neutron-server',
:rpc_package_name => 'neutron-rpc-server',
:rpc_service_name => 'neutron-rpc-server',
:periodic_workers_package_name => 'neutron-periodic-workers',
@@ -423,7 +371,6 @@ describe 'neutron::server' do
end
when 'RedHat'
{
:server_service => 'neutron-server',
:rpc_package_name => 'openstack-neutron-rpc-server',
:rpc_service_name => 'neutron-rpc-server',
:periodic_workers_package_name => 'openstack-neutron-periodic-workers',
@@ -433,6 +380,9 @@ describe 'neutron::server' do
end
it_behaves_like 'neutron::server'
if facts[:os]['name'] == 'Debian'
it_behaves_like 'neutron::server in Debian'
end
end
end
end