File openstack-tempest.spec of Package openstack-tempest

#
# spec file for package openstack-tempest
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           openstack-tempest
Version:        30.1.0
Release:        0
Epoch:          0
Summary:        The OpenStack Integration Test Suite (Tempest)
License:        Apache-2.0
Group:          Development/Languages/Python
URL:            https://docs.openstack.org/tempest
Source0:        https://files.pythonhosted.org/packages/source/t/tempest/tempest-30.1.0.tar.gz
Source1:        openstack-tempest.tmpfiles
BuildRequires:  openstack-macros
BuildRequires:  python3-PrettyTable
BuildRequires:  python3-PyYAML
BuildRequires:  python3-cliff
BuildRequires:  python3-debtcollector
BuildRequires:  python3-defusedxml
BuildRequires:  python3-fixtures
BuildRequires:  python3-jsonschema
BuildRequires:  python3-netaddr
BuildRequires:  python3-oslo.concurrency
BuildRequires:  python3-oslo.config
BuildRequires:  python3-oslo.log
BuildRequires:  python3-oslo.serialization
BuildRequires:  python3-oslo.utils
BuildRequires:  python3-paramiko
BuildRequires:  python3-python-subunit
BuildRequires:  python3-six
BuildRequires:  python3-stestr
BuildRequires:  python3-stevedore
BuildRequires:  python3-testtools
BuildRequires:  python3-urllib3
Requires:       python3-tempest = %{epoch}:%{version}-%{release}
BuildArch:      noarch
%if 0%{?suse_version}
# to be compatible with older tempest packages
Provides:       openstack-tempest-test = %{epoch}:%{version}-%{release}
Obsoletes:      openstack-tempest-test < %{epoch}:%{version}-%{release}
%endif

%description
Tempest is a set of integration tests to be run against a live OpenStack
cluster. Tempest has batteries of tests for OpenStack API validation,
Scenarios, and other specific tests useful in validating an OpenStack
deployment.

%package -n python3-tempest
Summary:        Documentation for the OpenStack Integration Test Suite
Group:          Development/Languages/Python
Requires:       python3-PrettyTable
Requires:       python3-PyYAML
Requires:       python3-cliff
Requires:       python3-debtcollector
Requires:       python3-defusedxml
Requires:       python3-fixtures
Requires:       python3-jsonschema
Requires:       python3-netaddr
Requires:       python3-oslo.concurrency
Requires:       python3-oslo.config
Requires:       python3-oslo.log
Requires:       python3-oslo.serialization
Requires:       python3-oslo.utils
Requires:       python3-paramiko
Requires:       python3-python-subunit
Requires:       python3-six
Requires:       python3-stestr
Requires:       python3-stevedore
Requires:       python3-testtools
Requires:       python3-urllib3

%description -n python3-tempest
Tempest is a set of integration tests to be run against a live OpenStack
cluster. Tempest has batteries of tests for OpenStack API validation,
Scenarios, and other specific tests useful in validating an OpenStack
deployment.

This package contains the python module.

%package doc
Summary:        Documentation for the OpenStack Integration Test Suite
BuildRequires:  python3-Sphinx
BuildRequires:  python3-openstackdocstheme
BuildRequires:  python3-sphinxcontrib-svg2pdfconverter

%description doc
Tempest is a set of integration tests to be run against a live OpenStack
cluster. Tempest has batteries of tests for OpenStack API validation,
Scenarios, and other specific tests useful in validating an OpenStack
deployment.

This package contains the documentation.

%prep
%autosetup -p1 -n tempest-30.1.0
%py_req_cleanup

%build
%{py3_build}

# generate html docs
PBR_VERSION=30.1.0 %sphinx_build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}

%install
%{py3_install}

# NOTE(toabctl): config files are installed into usr/etc/
install -d -m 755 %{buildroot}%{_sysconfdir}/tempest
mv %{buildroot}/%{_prefix}/%{_sysconfdir}/tempest/accounts.yaml.sample %{buildroot}/%{_sysconfdir}/tempest/accounts.yaml
mv %{buildroot}/%{_prefix}/%{_sysconfdir}/tempest/logging.conf.sample %{buildroot}/%{_sysconfdir}/tempest/logging.conf
mv %{buildroot}/%{_prefix}/%{_sysconfdir}/tempest/rbac-persona-accounts.yaml.sample %{buildroot}/%{_sysconfdir}/tempest/rbac-persona-accounts.yaml
mv %{buildroot}/%{_prefix}/%{_sysconfdir}/tempest/allow-list.yaml %{buildroot}/%{_sysconfdir}/tempest/allow-list.yaml

# install config
PYTHONPATH=. oslo-config-generator --config-file %{_builddir}/tempest-30.1.0/tempest/cmd/config-generator.tempest.conf --output-file %{buildroot}%{_sysconfdir}/tempest/tempest.conf

# install tmpfiles
install -D -m 644 %{SOURCE1} %{buildroot}/%_tmpfilesdir/%{name}.conf

%if 0%{?suse_version}
# to be compatible with older tempest packages
%openstack_test_package_install tempest
cp -av .stestr.conf %{buildroot}/%{_localstatedir}/lib/%{name}-test/
%endif

%post
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf

%files
%license LICENSE
%doc README.rst ChangeLog
%_tmpfilesdir/%{name}.conf
%{_bindir}/tempest

%{_bindir}/skip-tracker
%{_bindir}/check-uuid
%{_bindir}/subunit-describe-calls
%dir %{_sysconfdir}/tempest
%config(noreplace) %{_sysconfdir}/tempest/tempest.conf
%config(noreplace) %{_sysconfdir}/tempest/logging.conf
%config(noreplace) %{_sysconfdir}/tempest/accounts.yaml
%config(noreplace) %{_sysconfdir}/tempest/allow-list.yaml
%config(noreplace) %{_sysconfdir}/tempest/rbac-persona-accounts.yaml
%if 0%{?suse_version}
%{_localstatedir}/lib/openstack-tempest-test
%endif

%files -n python3-tempest
%license LICENSE
%{python3_sitelib}/tempest
%{python3_sitelib}/*.egg-info

%files doc
%license LICENSE
%doc doc/build/html

%changelog
openSUSE Build Service is sponsored by