Deprecate support for plugins of inactive project

EC2 API, Murano and Sahara were marked inactive during this cycle and
these project won't get 2024.1 release. Because we are retiring
the modules for these components, we should deprecate support for
the associated tempest plugins.

Depends-on: https://review.opendev.org/912037
Change-Id: Id032afcdee7bff6078628645945a4452f91aef1a
This commit is contained in:
Takashi Kajinami 2024-03-08 12:50:24 +09:00
parent a50714b506
commit da173126db
5 changed files with 78 additions and 159 deletions

View File

@ -3,7 +3,7 @@ Puppet::Type.newtype(:tempest_ec2_credentials) do
ensurable ensurable
newparam(:name, :namevar => true) do newparam(:name, :namevar => true) do
desc 'Name of the credentials.' desc 'Name of the credentials. (DEPRECATED)'
end end
newparam(:user) do newparam(:user) do

View File

@ -122,9 +122,6 @@
# Defaults to undef # Defaults to undef
# [*public_router_id*] # [*public_router_id*]
# Defaults to undef # Defaults to undef
# [*sahara_plugins*]
# (optional) List of enabled Sahara plugins
# Defaults to $facts['os_service_default']
# [*cinder_available*] # [*cinder_available*]
# Defaults to true # Defaults to true
# [*cinder_backup_available*] # [*cinder_backup_available*]
@ -157,22 +154,16 @@
# Defaults to false # Defaults to false
# [*nova_available*] # [*nova_available*]
# Defaults to true # Defaults to true
# [*murano_available*]
# Defaults to false
# [*watcher_available*] # [*watcher_available*]
# Defaults to false # Defaults to false
# [*zaqar_available*] # [*zaqar_available*]
# Defaults to false # Defaults to false
# [*ec2api_available*]
# Defaults to false
# [*mistral_available*] # [*mistral_available*]
# Defaults to false # Defaults to false
# [*vitrage_available*] # [*vitrage_available*]
# Defaults to false # Defaults to false
# [*run_service_broker_tests*] # [*run_service_broker_tests*]
# Defaults to $facts['os_service_default'] # Defaults to $facts['os_service_default']
# [*sahara_available*]
# Defaults to false
# [*swift_available*] # [*swift_available*]
# Defaults to false # Defaults to false
# [*trove_available*] # [*trove_available*]
@ -284,16 +275,6 @@
# Defaults to undef # Defaults to undef
# [*designate_nameservers*] # [*designate_nameservers*]
# Defaults to $facts['os_service_default'] # Defaults to $facts['os_service_default']
# [*ec2api_tester_roles*]
# Defaults to ['Member']
# [*aws_ec2_url*]
# Defaults to $facts['os_service_default']
# [*aws_region*]
# Defaults to $facts['os_service_default']
# [*aws_image_id*]
# Defualts to undef
# [*aws_ebs_image_id*]
# Defaults to undef
# [*heat_image_ref*] # [*heat_image_ref*]
# Defaults to undef # Defaults to undef
# [*heat_image_name*] # [*heat_image_name*]
@ -338,6 +319,24 @@
# Defaults to undef # Defaults to undef
# [*login_url*] # [*login_url*]
# Defaults to undef # Defaults to undef
# [*ec2api_available*]
# Defaults to undef
# [*ec2api_tester_roles*]
# Defaults to undef
# [*aws_ec2_url*]
# Defaults to undef
# [*aws_region*]
# Defaults to undef
# [*aws_image_id*]
# Defaults to undef
# [*aws_ebs_image_id*]
# Defaults to undef
# [*murano_available*]
# Defualts to undef
# [*sahara_available*]
# Defualts to undef
# [*sahara_plugins*]
# Defualts to undef
# #
class tempest( class tempest(
$package_ensure = 'present', $package_ensure = 'present',
@ -434,8 +433,6 @@ class tempest(
# neutron config # neutron config
$public_network_id = undef, $public_network_id = undef,
$public_router_id = undef, $public_router_id = undef,
# Sahara config
$sahara_plugins = $facts['os_service_default'],
# Trove config # Trove config
$db_flavor_ref = undef, $db_flavor_ref = undef,
Optional[String[1]] $db_flavor_name = undef, Optional[String[1]] $db_flavor_name = undef,
@ -456,15 +453,12 @@ class tempest(
Boolean $neutron_vpnaas_available = false, Boolean $neutron_vpnaas_available = false,
Boolean $neutron_dr_available = false, Boolean $neutron_dr_available = false,
Boolean $nova_available = true, Boolean $nova_available = true,
Boolean $murano_available = false,
Boolean $sahara_available = false,
Boolean $swift_available = false, Boolean $swift_available = false,
Boolean $trove_available = false, Boolean $trove_available = false,
Boolean $ironic_available = false, Boolean $ironic_available = false,
Boolean $ironic_inspector_available = false, Boolean $ironic_inspector_available = false,
Boolean $watcher_available = false, Boolean $watcher_available = false,
Boolean $zaqar_available = false, Boolean $zaqar_available = false,
Boolean $ec2api_available = false,
Boolean $mistral_available = false, Boolean $mistral_available = false,
Boolean $vitrage_available = false, Boolean $vitrage_available = false,
Boolean $octavia_available = false, Boolean $octavia_available = false,
@ -507,12 +501,6 @@ class tempest(
$img_disk_format = $facts['os_service_default'], $img_disk_format = $facts['os_service_default'],
# designate options # designate options
$designate_nameservers = $facts['os_service_default'], $designate_nameservers = $facts['os_service_default'],
# ec2api options
Array[String[1]] $ec2api_tester_roles = ['Member'],
$aws_ec2_url = $facts['os_service_default'],
$aws_region = $facts['os_service_default'],
$aws_image_id = undef,
$aws_ebs_image_id = undef,
# heat options # heat options
$heat_image_ref = undef, $heat_image_ref = undef,
Optional[String[1]] $heat_image_name = undef, Optional[String[1]] $heat_image_name = undef,
@ -540,6 +528,15 @@ class tempest(
$tempest_config_file = undef, $tempest_config_file = undef,
$cli_dir = undef, $cli_dir = undef,
$login_url = undef, $login_url = undef,
Optional[Boolean] $ec2api_available = undef,
Optional[Boolean] $murano_available = undef,
Optional[Boolean] $sahara_available = undef,
$ec2api_tester_roles = undef,
$aws_ec2_url = undef,
$aws_region = undef,
$aws_image_id = undef,
$aws_ebs_image_id = undef,
$sahara_plugins = undef,
) { ) {
[ 'glance_v2', 'cli_dir', 'login_url' ].each |String $deprecated_opt| { [ 'glance_v2', 'cli_dir', 'login_url' ].each |String $deprecated_opt| {
@ -557,6 +554,27 @@ class tempest(
} }
} }
if $ec2api_available {
warning('EC2API support has been deprecated and has no effect now.')
}
if $murano_available {
warning('Murano support has been deprecated and has no effect now.')
}
if $sahara_available {
warning('Sahara support has been deprecated and has no effect now.')
}
[
'ec2api_available', 'murano_available', 'sahara_available',
'ec2api_tester_roles', 'aws_ec2_url', 'aws_region',
'aws_image_id', 'aws_ebs_image_id', 'sahara_plugins'
].each |String $deprecated_plugin_opt| {
if getvar($deprecated_plugin_opt) != undef {
warning("The ${deprecated_plugin_opt} parameter has been deprecated and has no effect.")
}
}
include tempest::params include tempest::params
include openstacklib::openstackclient include openstacklib::openstackclient
@ -712,15 +730,12 @@ class tempest(
'service_available/mistral': value => $mistral_available; 'service_available/mistral': value => $mistral_available;
'service_available/vitrage': value => $vitrage_available; 'service_available/vitrage': value => $vitrage_available;
'service_available/nova': value => $nova_available; 'service_available/nova': value => $nova_available;
'service_available/murano': value => $murano_available;
'service_available/sahara': value => $sahara_available;
'service_available/swift': value => $swift_available; 'service_available/swift': value => $swift_available;
'service_available/trove': value => $trove_available; 'service_available/trove': value => $trove_available;
'service_available/ironic': value => $ironic_available; 'service_available/ironic': value => $ironic_available;
'service_available/ironic_inspector': value => $ironic_inspector_available; 'service_available/ironic_inspector': value => $ironic_inspector_available;
'service_available/watcher': value => $watcher_available; 'service_available/watcher': value => $watcher_available;
'service_available/zaqar': value => $zaqar_available; 'service_available/zaqar': value => $zaqar_available;
'service_available/ec2api': value => $ec2api_available;
'service_available/octavia': value => $octavia_available; 'service_available/octavia': value => $octavia_available;
'enforce_scope/barbican': value => $barbican_enforce_scope; 'enforce_scope/barbican': value => $barbican_enforce_scope;
'enforce_scope/cinder': value => $cinder_enforce_scope; 'enforce_scope/cinder': value => $cinder_enforce_scope;
@ -755,11 +770,6 @@ class tempest(
'compute-feature-enabled/resize': value => $resize_available; 'compute-feature-enabled/resize': value => $resize_available;
# designate-tempest-plugin # designate-tempest-plugin
'dns/nameservers': value => join(any2array($designate_nameservers), ','); 'dns/nameservers': value => join(any2array($designate_nameservers), ',');
# ec2api-tempest-plugin
'aws/ec2_url': value => $aws_ec2_url;
'aws/aws_region': value => $aws_region;
'aws/image_id': value => $aws_image_id;
'aws/ebs_image_id': value => $aws_ebs_image_id;
# heat-tempest-plugin # heat-tempest-plugin
'heat_plugin/auth_url': value => $identity_uri_v3; 'heat_plugin/auth_url': value => $identity_uri_v3;
# TODO(tkajinam): auth_version does not affect vN format (eg v3) and # TODO(tkajinam): auth_version does not affect vN format (eg v3) and
@ -803,6 +813,24 @@ class tempest(
'barbican_rbac_scope_verification/enforce_scope': ensure => absent; 'barbican_rbac_scope_verification/enforce_scope': ensure => absent;
} }
tempest_config {
# ec2api-tempest-plugin
'service_available/ec2api': ensure => absent;
'aws/ec2_url': ensure => absent;
'aws/aws_region': ensure => absent;
'aws/image_id': ensure => absent;
'aws/ebs_image_id': ensure => absent;
'aws/instance_type': ensure => absent;
'aws/instance_type_alt': ensure => absent;
'aws/aws_secret': ensure => absent;
'aws/aws_access': ensure => absent;
# murano-tempest-plugin
'service_available/murano': ensure => absent;
# sahara-tempest-plugin
'service_available/sahara': ensure => absent;
'data-processing-feature-enabled/plugins': ensure => absent;
}
oslo::concurrency { 'tempest_config': lock_path => $lock_path } oslo::concurrency { 'tempest_config': lock_path => $lock_path }
oslo::log { 'tempest_config': oslo::log { 'tempest_config':
@ -856,13 +884,6 @@ class tempest(
tag => ['openstack', 'tempest-package'], tag => ['openstack', 'tempest-package'],
} }
} }
if $murano_available and $::tempest::params::python_murano_tests {
package { 'python-murano-tests-tempest':
ensure => present,
name => $::tempest::params::python_murano_tests,
tag => ['openstack', 'tempest-package'],
}
}
if $neutron_available and $::tempest::params::python_neutron_tests { if $neutron_available and $::tempest::params::python_neutron_tests {
package { 'python-neutron-tests-tempest': package { 'python-neutron-tests-tempest':
ensure => present, ensure => present,
@ -877,13 +898,6 @@ class tempest(
} }
} }
} }
if $sahara_available and $::tempest::params::python_sahara_tests {
package { 'python-sahara-tests-tempest':
ensure => present,
name => $::tempest::params::python_sahara_tests,
tag => ['openstack', 'tempest-package'],
}
}
if $trove_available and $::tempest::params::python_trove_tests { if $trove_available and $::tempest::params::python_trove_tests {
package { 'python-trove-tests-tempest': package { 'python-trove-tests-tempest':
ensure => present, ensure => present,
@ -933,13 +947,6 @@ class tempest(
tag => ['openstack', 'tempest-package'], tag => ['openstack', 'tempest-package'],
} }
} }
if $ec2api_available and $::tempest::params::python_ec2api_tests {
package { 'python-ec2-api-tests-tempest':
ensure => present,
name => $::tempest::params::python_ec2api_tests,
tag => ['openstack', 'tempest-package'],
}
}
if $barbican_available and $::tempest::params::python_barbican_tests { if $barbican_available and $::tempest::params::python_barbican_tests {
package { 'python-barbican-tests-tempest': package { 'python-barbican-tests-tempest':
ensure => present, ensure => present,
@ -1074,34 +1081,4 @@ class tempest(
must be provided.') must be provided.')
} }
} }
if $sahara_available {
tempest_config {
'data-processing-feature-enabled/plugins': value => $sahara_plugins,
}
}
if $ec2api_available {
tempest_config {
'aws/instance_type': value => $flavor_ref;
'aws/instance_type_alt': value => $flavor_ref_alt;
}
keystone_user { 'ec2api-tester' :
ensure => present,
enabled => true,
}
keystone_user_role { 'ec2api-tester@openstack' :
ensure => present,
roles => $ec2api_tester_roles,
}
tempest_ec2_credentials { 'ec2_test_creds':
ensure => present,
tempest_conf_path => $tempest_conf,
user => 'ec2api-tester',
project => 'openstack',
}
Tempest_config<||> -> Tempest_ec2_credentials['ec2_test_creds']
Keystone_user_role<||> -> Tempest_ec2_credentials['ec2_test_creds']
}
} }

View File

@ -24,15 +24,12 @@ class tempest::params {
$python_magnum_tests = 'python3-magnum-tests-tempest' $python_magnum_tests = 'python3-magnum-tests-tempest'
$python_mistral_tests = 'python3-mistral-tests-tempest' $python_mistral_tests = 'python3-mistral-tests-tempest'
$python_vitrage_tests = 'python3-vitrage-tests-tempest' $python_vitrage_tests = 'python3-vitrage-tests-tempest'
$python_murano_tests = 'python3-murano-tests-tempest'
$python_neutron_tests = 'python3-neutron-tests-tempest' $python_neutron_tests = 'python3-neutron-tests-tempest'
$python_l2gw_tests = 'python3-networking-l2gw-tests-tempest' $python_l2gw_tests = 'python3-networking-l2gw-tests-tempest'
$python_sahara_tests = 'python3-sahara-tests-tempest'
$python_trove_tests = 'python3-trove-tests-tempest' $python_trove_tests = 'python3-trove-tests-tempest'
$python_watcher_tests = 'python3-watcher-tests-tempest' $python_watcher_tests = 'python3-watcher-tests-tempest'
$python_zaqar_tests = 'python3-zaqar-tests-tempest' $python_zaqar_tests = 'python3-zaqar-tests-tempest'
$python_octavia_tests = 'python3-octavia-tests-tempest' $python_octavia_tests = 'python3-octavia-tests-tempest'
$python_ec2api_tests = 'python3-ec2api-tests-tempest'
$python_barbican_tests = 'python3-barbican-tests-tempest' $python_barbican_tests = 'python3-barbican-tests-tempest'
$python_manila_tests = 'python3-manila-tests-tempest' $python_manila_tests = 'python3-manila-tests-tempest'
$package_name = 'openstack-tempest' $package_name = 'openstack-tempest'
@ -62,15 +59,12 @@ class tempest::params {
$python_magnum_tests = 'magnum-tempest-plugin' $python_magnum_tests = 'magnum-tempest-plugin'
$python_mistral_tests = 'mistral-tempest-plugin' $python_mistral_tests = 'mistral-tempest-plugin'
$python_vitrage_tests = 'vitrage-tempest-plugin' $python_vitrage_tests = 'vitrage-tempest-plugin'
$python_murano_tests = 'murano-tempest-plugin'
$python_neutron_tests = 'neutron-tempest-plugin' $python_neutron_tests = 'neutron-tempest-plugin'
$python_l2gw_tests = undef $python_l2gw_tests = undef
$python_sahara_tests = undef
$python_trove_tests = 'trove-tempest-plugin' $python_trove_tests = 'trove-tempest-plugin'
$python_watcher_tests = 'watcher-tempest-plugin' $python_watcher_tests = 'watcher-tempest-plugin'
$python_zaqar_tests = 'zaqar-tempest-plugin' $python_zaqar_tests = 'zaqar-tempest-plugin'
$python_octavia_tests = 'octavia-tempest-plugin' $python_octavia_tests = 'octavia-tempest-plugin'
$python_ec2api_tests = undef
$python_barbican_tests = 'barbican-tempest-plugin' $python_barbican_tests = 'barbican-tempest-plugin'
$python_manila_tests = 'manila-tempest-plugin' $python_manila_tests = 'manila-tempest-plugin'
$package_name = 'tempest' $package_name = 'tempest'

View File

@ -0,0 +1,9 @@
---
deprecations:
- |
Support for the following tempest plugins has been deprecated and has no
effect now.
- ec2api-tempest-plugin
- murano-tempest-plugin
- sahara-tests

View File

@ -125,21 +125,6 @@ describe 'tempest' do
end end
end end
context 'with sahara_plugins' do
let :params do
{
:configure_images => false,
:configure_networks => false,
:sahara_available => true,
:sahara_plugins => ['vanilla'],
}
end
it 'properly configures Sahara plugins in tempest.conf' do
is_expected.to contain_tempest_config('data-processing-feature-enabled/plugins').with_value(['vanilla'])
end
end
context 'with reseller_admin_role' do context 'with reseller_admin_role' do
let :params do let :params do
{ {
@ -168,26 +153,6 @@ describe 'tempest' do
end end
end end
context 'with ec2api_available parameter' do
let :params do
{
:configure_images => false,
:configure_networks => false,
:ec2api_available => true,
}
end
it 'creates ec2 credentials' do
is_expected.to contain_tempest_ec2_credentials('ec2_test_creds').with(
:ensure => 'present',
:tempest_conf_path => '/var/lib/tempest/etc/tempest.conf',
:user => 'ec2api-tester',
:project => 'openstack'
)
end
end
context 'with parameters' do context 'with parameters' do
let :params do let :params do
{ :configure_images => true, { :configure_images => true,
@ -308,8 +273,6 @@ describe 'tempest' do
is_expected.to contain_tempest_config('service_available/mistral').with(:value => false) is_expected.to contain_tempest_config('service_available/mistral').with(:value => false)
is_expected.to contain_tempest_config('service_available/vitrage').with(:value => false) is_expected.to contain_tempest_config('service_available/vitrage').with(:value => false)
is_expected.to contain_tempest_config('service_available/nova').with(:value => true) is_expected.to contain_tempest_config('service_available/nova').with(:value => true)
is_expected.to contain_tempest_config('service_available/sahara').with(:value => false)
is_expected.to contain_tempest_config('service_available/murano').with(:value => false)
is_expected.to contain_tempest_config('service_available/swift').with(:value => false) is_expected.to contain_tempest_config('service_available/swift').with(:value => false)
is_expected.to contain_tempest_config('service_available/trove').with(:value => false) is_expected.to contain_tempest_config('service_available/trove').with(:value => false)
is_expected.to contain_tempest_config('service_available/ironic').with(:value => false) is_expected.to contain_tempest_config('service_available/ironic').with(:value => false)
@ -346,10 +309,6 @@ describe 'tempest' do
is_expected.to contain_tempest_config('share/min_api_microversion').with(:value => '<SERVICE DEFAULT>') is_expected.to contain_tempest_config('share/min_api_microversion').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('share/max_api_microversion').with(:value => '<SERVICE DEFAULT>') is_expected.to contain_tempest_config('share/max_api_microversion').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('dns/nameservers').with(:value => '<SERVICE DEFAULT>') is_expected.to contain_tempest_config('dns/nameservers').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('aws/ec2_url').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('aws/aws_region').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('aws/image_id').with(:value => nil)
is_expected.to contain_tempest_config('aws/ebs_image_id').with(:value => nil)
is_expected.to contain_tempest_config('heat_plugin/auth_url').with(:value => '<SERVICE DEFAULT>') is_expected.to contain_tempest_config('heat_plugin/auth_url').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('heat_plugin/auth_version').with(:value => '<SERVICE DEFAULT>') is_expected.to contain_tempest_config('heat_plugin/auth_version').with(:value => '<SERVICE DEFAULT>')
is_expected.to contain_tempest_config('heat_plugin/admin_password').with_secret( true ) is_expected.to contain_tempest_config('heat_plugin/admin_password').with_secret( true )
@ -562,10 +521,6 @@ describe 'tempest' do
is_expected.to_not contain_package('python-heat-tests-tempest') is_expected.to_not contain_package('python-heat-tests-tempest')
end end
it "should not install optional sahara tests package" do
is_expected.to_not contain_package('python-sahara-tests-tempest')
end
it "should install neutron but not *aas tests packages" do it "should install neutron but not *aas tests packages" do
is_expected.to contain_package('python-neutron-tests-tempest').with( is_expected.to contain_package('python-neutron-tests-tempest').with(
:name => platform_params[:python_neutron_tests] :name => platform_params[:python_neutron_tests]
@ -585,22 +540,6 @@ describe 'tempest' do
) )
end end
end end
context 'with when managing tests packages for sahara (optional service)' do
before :each do
params.merge!({ :sahara_available => true })
end
it "should install sahara tests package if available" do
if platform_params[:python_sahara_tests]
is_expected.to contain_package('python-sahara-tests-tempest').with(
:name => platform_params[:python_sahara_tests]
)
else
is_expected.to_not contain_package('python-sahara-tests-tempest')
end
end
end
end end
on_supported_os({ on_supported_os({
@ -627,7 +566,7 @@ describe 'tempest' do
:python_heat_tests => 'heat-tempest-plugin', :python_heat_tests => 'heat-tempest-plugin',
:python_keystone_tests => 'keystone-tempest-plugin', :python_keystone_tests => 'keystone-tempest-plugin',
:python_neutron_tests => 'neutron-tempest-plugin', :python_neutron_tests => 'neutron-tempest-plugin',
:python_sahara_tests => false } }
when 'RedHat' when 'RedHat'
{ :dev_packages => ['python3-devel', { :dev_packages => ['python3-devel',
'libxslt-devel', 'libxslt-devel',
@ -642,7 +581,7 @@ describe 'tempest' do
:python_heat_tests => 'python3-heat-tests-tempest', :python_heat_tests => 'python3-heat-tests-tempest',
:python_keystone_tests => 'python3-keystone-tests-tempest', :python_keystone_tests => 'python3-keystone-tests-tempest',
:python_neutron_tests => 'python3-neutron-tests-tempest', :python_neutron_tests => 'python3-neutron-tests-tempest',
:python_sahara_tests => 'python3-sahara-tests-tempest' } }
end end
end end