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
newparam(:name, :namevar => true) do
desc 'Name of the credentials.'
desc 'Name of the credentials. (DEPRECATED)'
end
newparam(:user) do

View File

@ -122,9 +122,6 @@
# Defaults to undef
# [*public_router_id*]
# Defaults to undef
# [*sahara_plugins*]
# (optional) List of enabled Sahara plugins
# Defaults to $facts['os_service_default']
# [*cinder_available*]
# Defaults to true
# [*cinder_backup_available*]
@ -157,22 +154,16 @@
# Defaults to false
# [*nova_available*]
# Defaults to true
# [*murano_available*]
# Defaults to false
# [*watcher_available*]
# Defaults to false
# [*zaqar_available*]
# Defaults to false
# [*ec2api_available*]
# Defaults to false
# [*mistral_available*]
# Defaults to false
# [*vitrage_available*]
# Defaults to false
# [*run_service_broker_tests*]
# Defaults to $facts['os_service_default']
# [*sahara_available*]
# Defaults to false
# [*swift_available*]
# Defaults to false
# [*trove_available*]
@ -284,16 +275,6 @@
# Defaults to undef
# [*designate_nameservers*]
# 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*]
# Defaults to undef
# [*heat_image_name*]
@ -338,6 +319,24 @@
# Defaults to undef
# [*login_url*]
# 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(
$package_ensure = 'present',
@ -434,8 +433,6 @@ class tempest(
# neutron config
$public_network_id = undef,
$public_router_id = undef,
# Sahara config
$sahara_plugins = $facts['os_service_default'],
# Trove config
$db_flavor_ref = undef,
Optional[String[1]] $db_flavor_name = undef,
@ -456,15 +453,12 @@ class tempest(
Boolean $neutron_vpnaas_available = false,
Boolean $neutron_dr_available = false,
Boolean $nova_available = true,
Boolean $murano_available = false,
Boolean $sahara_available = false,
Boolean $swift_available = false,
Boolean $trove_available = false,
Boolean $ironic_available = false,
Boolean $ironic_inspector_available = false,
Boolean $watcher_available = false,
Boolean $zaqar_available = false,
Boolean $ec2api_available = false,
Boolean $mistral_available = false,
Boolean $vitrage_available = false,
Boolean $octavia_available = false,
@ -507,12 +501,6 @@ class tempest(
$img_disk_format = $facts['os_service_default'],
# designate options
$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_image_ref = undef,
Optional[String[1]] $heat_image_name = undef,
@ -540,6 +528,15 @@ class tempest(
$tempest_config_file = undef,
$cli_dir = 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| {
@ -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 openstacklib::openstackclient
@ -712,15 +730,12 @@ class tempest(
'service_available/mistral': value => $mistral_available;
'service_available/vitrage': value => $vitrage_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/trove': value => $trove_available;
'service_available/ironic': value => $ironic_available;
'service_available/ironic_inspector': value => $ironic_inspector_available;
'service_available/watcher': value => $watcher_available;
'service_available/zaqar': value => $zaqar_available;
'service_available/ec2api': value => $ec2api_available;
'service_available/octavia': value => $octavia_available;
'enforce_scope/barbican': value => $barbican_enforce_scope;
'enforce_scope/cinder': value => $cinder_enforce_scope;
@ -755,11 +770,6 @@ class tempest(
'compute-feature-enabled/resize': value => $resize_available;
# designate-tempest-plugin
'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_plugin/auth_url': value => $identity_uri_v3;
# 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;
}
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::log { 'tempest_config':
@ -856,13 +884,6 @@ class tempest(
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 {
package { 'python-neutron-tests-tempest':
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 {
package { 'python-trove-tests-tempest':
ensure => present,
@ -933,13 +947,6 @@ class tempest(
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 {
package { 'python-barbican-tests-tempest':
ensure => present,
@ -1074,34 +1081,4 @@ class tempest(
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_mistral_tests = 'python3-mistral-tests-tempest'
$python_vitrage_tests = 'python3-vitrage-tests-tempest'
$python_murano_tests = 'python3-murano-tests-tempest'
$python_neutron_tests = 'python3-neutron-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_watcher_tests = 'python3-watcher-tests-tempest'
$python_zaqar_tests = 'python3-zaqar-tests-tempest'
$python_octavia_tests = 'python3-octavia-tests-tempest'
$python_ec2api_tests = 'python3-ec2api-tests-tempest'
$python_barbican_tests = 'python3-barbican-tests-tempest'
$python_manila_tests = 'python3-manila-tests-tempest'
$package_name = 'openstack-tempest'
@ -62,15 +59,12 @@ class tempest::params {
$python_magnum_tests = 'magnum-tempest-plugin'
$python_mistral_tests = 'mistral-tempest-plugin'
$python_vitrage_tests = 'vitrage-tempest-plugin'
$python_murano_tests = 'murano-tempest-plugin'
$python_neutron_tests = 'neutron-tempest-plugin'
$python_l2gw_tests = undef
$python_sahara_tests = undef
$python_trove_tests = 'trove-tempest-plugin'
$python_watcher_tests = 'watcher-tempest-plugin'
$python_zaqar_tests = 'zaqar-tempest-plugin'
$python_octavia_tests = 'octavia-tempest-plugin'
$python_ec2api_tests = undef
$python_barbican_tests = 'barbican-tempest-plugin'
$python_manila_tests = 'manila-tempest-plugin'
$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
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
let :params do
{
@ -168,26 +153,6 @@ describe 'tempest' do
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
let :params do
{ :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/vitrage').with(:value => false)
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/trove').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/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('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_version').with(:value => '<SERVICE DEFAULT>')
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')
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
is_expected.to contain_package('python-neutron-tests-tempest').with(
:name => platform_params[:python_neutron_tests]
@ -585,22 +540,6 @@ describe 'tempest' do
)
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
on_supported_os({
@ -627,7 +566,7 @@ describe 'tempest' do
:python_heat_tests => 'heat-tempest-plugin',
:python_keystone_tests => 'keystone-tempest-plugin',
:python_neutron_tests => 'neutron-tempest-plugin',
:python_sahara_tests => false }
}
when 'RedHat'
{ :dev_packages => ['python3-devel',
'libxslt-devel',
@ -642,7 +581,7 @@ describe 'tempest' do
:python_heat_tests => 'python3-heat-tests-tempest',
:python_keystone_tests => 'python3-keystone-tests-tempest',
:python_neutron_tests => 'python3-neutron-tests-tempest',
:python_sahara_tests => 'python3-sahara-tests-tempest' }
}
end
end