File openstack-tempest.spec of Package openstack-tempest
#
# spec file for package openstack-tempest
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2013 B1 Systems GmbH, Vohburg, Germany.
#
# 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 http://bugs.opensuse.org/
#
%define component tempest
%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
%endif
%define version_unconverted 7.0.0
Name: openstack-%{component}
Version: 7.0.0
Release: 0
Summary: OpenStack Integration Test Suite (Tempest)
License: Apache-2.0
Group: System/Management
Url: https://launchpad.net/tempest
Source0: http://tarballs.openstack.org/tempest/tempest-%{version}.tar.gz
## list of tests from openstack defcore:
## https://github.com/openstack/defcore/blob/master/2015.07/2015.07.required.txt
Source1: defcore.txt
%if 0%{?suse_version} > 1230
Source10: %name.conf
BuildRequires: systemd
%endif
Patch0: install_absolute.patch
Patch3: suse-skip-encrypted-volumes.patch
Patch4: 0001-Add-cleanup-to-cliff-based-cli-framework.patch
Patch5: suse-skip-broken-test-xen.patch
Patch6: 0001-Wait-for-servers-termination-when-cleaning-up-teleme.patch
Patch7: 0001-Drop-admin_role-CONF-dependency-from-cred-provider.patch
# # PATCH-FIX-UPSTREAM 0001-Wait-and-retry-while-getting-server-port-and-ipv4.patch -- https://review.openstack.org/#/c/277510/
Patch8: 0001-Wait-and-retry-while-getting-server-port-and-ipv4.patch
Patch9: 0001-Fixing-test_create_port_in_allowed_allocation_pool-w.patch
Patch10: test_container_sync.patch
BuildRequires: crudini
BuildRequires: fdupes
BuildRequires: openstack-suse-macros
BuildRequires: python-base
BuildRequires: python-oslo.concurrency
BuildRequires: python-oslo.config
BuildRequires: python-oslo.i18n
BuildRequires: python-oslo.log
BuildRequires: python-oslo.serialization
BuildRequires: python-oslo.utils
BuildRequires: python-pbr
BuildRequires: python-tempest-lib
# for config-generator
BuildRequires: python-manila
# Documentatin build requirements:
BuildRequires: python-Sphinx
BuildRequires: python-oslosphinx
%if 0%{?suse_version} > 1110
Requires(pre): pwdutils
%else
Requires(pre): shadow-utils
%endif
Requires: %name-test = %{version}
Requires: git-core
Requires: python >= 2.6.8
Requires: python-PyYAML >= 3.1.0
Requires: python-pyOpenSSL >= 0.14
Requires: python-tempest = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
%description
This 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 test
Summary: OpenStack Integration Test Suite (Tempest) - Test Package
Group: Development/Languages/Python
Requires: %{name} = %{version}
%description test
This 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 python-tempest
Summary: OpenStack Integration Test Suite (Tempest) - Python module
Group: Development/Languages/Python
Requires: python >= 2.6.8
Requires: python-anyjson >= 0.3.3
Requires: python-boto >= 2.32.1
Requires: python-cliff >= 1.14.0
Requires: python-fixtures >= 1.3.1
Requires: python-httplib2 >= 0.7.5
Requires: python-iso8601 >= 0.1.9
Requires: python-jsonschema >= 2.0.0
Requires: python-mock >= 1.2
Requires: python-mox >= 0.5.3
Requires: python-netaddr >= 0.7.12
Requires: python-oslo.concurrency >= 2.3.0
Requires: python-oslo.config >= 2.3.0
Requires: python-oslo.i18n >= 1.5.0
Requires: python-oslo.log >= 1.8.0
Requires: python-oslo.serialization >= 1.4.0
Requires: python-oslo.utils >= 2.0.0
Requires: python-oslotest >= 1.10.0
Requires: python-paramiko >= 1.13.0
Requires: python-pbr >= 1.6
Requires: python-python-subunit >= 0.0.18
Requires: python-six >= 1.9.0
Requires: python-stevedore >= 1.5.0
Requires: python-tempest-lib >= 0.10.0
Requires: python-testrepository >= 0.0.18
Requires: python-testscenarios >= 0.4
Requires: python-testtools >= 1.4.0
%description -n python-tempest
This package contains the core Python module of OpenStack Tempest.
%prep
%setup -q -n %{component}-%{version_unconverted}
%patch0 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%openstack_cleanup_prep
%build
python setup.py build
## python setup.py build_sphinx -b man
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
install -d -m 755 %{buildroot}%{_localstatedir}/lib/tempest
install -d -m 700 %{buildroot}%{_rundir}/tempest
%if 0%{?suse_version} > 1230
install -D -m 644 %{SOURCE10} %{buildroot}/%_tmpfilesdir/%name.conf
%endif
### configuration files
PYTHONPATH=. oslo-config-generator --config-file %{_builddir}/%{component}-%{version_unconverted}/etc/config-generator.tempest.conf --output-file %{buildroot}%{_sysconfdir}/tempest/tempest.conf
install -d -m 755 %{buildroot}%{_sysconfdir}/tempest
for fn in logging.conf accounts.yaml javelin-resources.yaml ; do
mv %{buildroot}%{_sysconfdir}/tempest/$fn{.sample,}
done
## install -d %{buildroot}%{_mandir}/man1
## install -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1
%fdupes %{buildroot}%{python_sitelib}/%{component}
# configuration fixes
crudini --set %{buildroot}/etc/tempest/tempest.conf oslo_concurrency lock_path /var/run/tempest
crudini --set %{buildroot}/etc/tempest/tempest.conf boto s3_materials_path ""
crudini --set %{buildroot}/etc/tempest/tempest.conf boto s3_url http://localhost:3333
crudini --set %{buildroot}/etc/tempest/tempest.conf service_available neutron true
crudini --set %{buildroot}/etc/tempest/tempest.conf service_available swift false
crudini --set %{buildroot}/etc/tempest/tempest.conf service_available heat false
crudini --set %{buildroot}/etc/tempest/tempest.conf identity admin_username admin
crudini --set %{buildroot}/etc/tempest/tempest.conf identity admin_tenant_name service
crudini --set %{buildroot}/etc/tempest/tempest.conf identity alt_username alt_demo
crudini --set %{buildroot}/etc/tempest/tempest.conf identity alt_tenant_name alt_demo
### test subpackage
%openstack_test_package_install
install -m 0755 run_tempest.sh %openstack_test_package_buildroot_dir/run_tempest.sh
install %{SOURCE1} %openstack_test_package_buildroot_dir/defcore.txt
%files
%defattr(-,root,root)
%doc LICENSE
%dir %{_sysconfdir}/tempest
%{_bindir}/tempest
%if 0%{?suse_version} > 1230
%_tmpfilesdir/%name.conf
%else
%ghost %dir %attr(700,root,root) %{_rundir}/tempest
%endif
%config(noreplace) %{_sysconfdir}/tempest/logging.conf
%config(noreplace) %{_sysconfdir}/tempest/tempest.conf
%config(noreplace) %{_sysconfdir}/tempest/accounts.yaml
%config(noreplace) %{_sysconfdir}/tempest/whitelist.yaml
%config(noreplace) %{_sysconfdir}/tempest/javelin-resources.yaml
%config(noreplace) %{_sysconfdir}/tempest/config-generator.tempest.conf
%files test
%defattr(-,root,root)
%doc LICENSE README.rst
%{_bindir}/verify-tempest-config
%{_bindir}/run-tempest-stress
%{_bindir}/tempest-cleanup
%{_bindir}/javelin2
%{_bindir}/tempest-account-generator
%{_localstatedir}/lib/openstack-%{component}-test
/var/lib/openstack-tempest-test/
## %{_mandir}/man1/tempest.1%{?ext_man}
%files -n python-tempest
%defattr(-,root,root,-)
%doc LICENSE
%{python_sitelib}/%{component}/
%{python_sitelib}/%{component}-*.egg-info
%changelog