Blame nodepool.spec

3e39ea5
%global srcname nodepool
3e39ea5
3e39ea5
%global nfsmountable 1
3e39ea5
b91f7a3
Name:           nodepool
d46315a
Version:        3.12.0
0dddd73
Release:        5%{?dist}
3e39ea5
Summary:        Nodepool management for a distributed test infrastructure
b91f7a3
b91f7a3
License:        ASL 2.0
b91f7a3
URL:            https://zuul-ci.org
3e39ea5
# Use gitea because tarball published by openstack doesn't have symlinks.
3e39ea5
# It's also smaller as it doesn't contain built html bundles.
3e39ea5
Source0:        https://opendev.org/zuul/nodepool/archive/%{version}.tar.gz
b91f7a3
Source1:        nodepool-launcher.service
b91f7a3
Source2:        nodepool-builder.service
3e39ea5
Source10:       nodepool.yaml
3e39ea5
Source11:       secure.conf
b502740
Source12:       launcher-logging.yaml
b502740
Source13:       builder-logging.yaml
b502740
Source14:       sudoer
b91f7a3
b91f7a3
BuildArch:      noarch
b91f7a3
3e39ea5
Requires:       ansible
b91f7a3
Requires:       python3-pbr
3e39ea5
Requires:       python3-pyyaml
3e39ea5
Requires:       python3-paramiko
b91f7a3
Requires:       python3-daemon
b91f7a3
Requires:       python3-extras
b91f7a3
Requires:       python3-statsd
b91f7a3
Requires:       python3-prettytable
b91f7a3
Requires:       python3-six
3e39ea5
Requires:       python3-os-client-config
3e39ea5
Requires:       python3-openstacksdk
3e39ea5
Requires:       diskimage-builder
b91f7a3
Requires:       python3-voluptuous
b91f7a3
Requires:       python3-kazoo
b91f7a3
Requires:       python3-paste
b91f7a3
Requires:       python3-webob
3e39ea5
Requires:       python3-kubernetes
3e39ea5
Requires:       python3-openshift
3e39ea5
Requires:       python3-boto3
d46315a
Requires:       python3-google-api-client
b91f7a3
b91f7a3
BuildRequires:  python3-devel
b91f7a3
BuildRequires:  python3-pbr
b91f7a3
BuildRequires:  python3-setuptools
b91f7a3
BuildRequires:  systemd
b91f7a3
3e39ea5
b91f7a3
%description
b91f7a3
Nodepool is a service used by the OpenStack CI team to deploy and manage a pool
b91f7a3
of devstack images on a cloud server for use in OpenStack project testing.
b91f7a3
b91f7a3
b91f7a3
%package launcher
b91f7a3
Summary:        Nodepool launcher service
b91f7a3
Requires:       nodepool
b91f7a3
b91f7a3
%description launcher
3e39ea5
Nodepool launcher service.
b91f7a3
b91f7a3
b91f7a3
%package builder
b91f7a3
Summary:        Nodepool builder service
b91f7a3
Requires:       nodepool
3e39ea5
Requires:       yum-utils
b91f7a3
Requires:       sudo
b91f7a3
Requires:       qemu-img
b91f7a3
b91f7a3
%description builder
3e39ea5
Nodepool builder service.
b91f7a3
b91f7a3
b91f7a3
%package doc
3e39ea5
Summary:        Nodepool documentation
3e39ea5
BuildRequires:  python3-zuul-sphinx
3e39ea5
BuildRequires:  python3-sphinx
3e39ea5
BuildRequires:  python3-voluptuous
3e39ea5
BuildRequires:  python3-kazoo
3e39ea5
BuildRequires:  python3-zuul-sphinx
3e39ea5
BuildRequires:  python3-snowballstemmer
3e39ea5
BuildRequires:  python3-sphinxcontrib-programoutput
3e39ea5
BuildRequires:  python3-sphinxcontrib-httpdomain
3e39ea5
BuildRequires:  python3-reno
3e39ea5
#
b91f7a3
%description doc
3e39ea5
Nodepool documentation.
b91f7a3
b91f7a3
b91f7a3
%prep
3e39ea5
%autosetup -n nodepool -p1
3e39ea5
rm requirements.txt test-requirements.txt
3e39ea5
rm -Rf nodepool/tests
b91f7a3
b91f7a3
b91f7a3
%build
3e39ea5
PBR_VERSION=%{version} %{__python3} setup.py build
3e39ea5
# Make the Nodepool directory a repo to satisfy python-reno
3e39ea5
git init /builddir/build/BUILD/nodepool
3e39ea5
pushd /builddir/build/BUILD/nodepool
3e39ea5
git config user.email "you@example.com"
3e39ea5
git config user.name "Your Name"
3e39ea5
git add -A .
3e39ea5
git commit -m"Initial commit"
b91f7a3
popd
3e39ea5
PBR_VERSION=%{version} SPHINX_DEBUG=1 sphinx-build-3 -b html doc/source build/html
3e39ea5
rm -Rf /builddir/build/BUILD/nodepool/.git
b91f7a3
b91f7a3
b91f7a3
%install
3e39ea5
PBR_VERSION=%{version} %{__python3} setup.py install --skip-build --root %{buildroot}
b91f7a3
3e39ea5
# Copy non python modules over
b91f7a3
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/nodepool-launcher.service
b91f7a3
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/nodepool-builder.service
3e39ea5
install -p -D -m 0644 %{SOURCE10} %{buildroot}%{_sysconfdir}/nodepool/nodepool.yaml
3e39ea5
install -p -D -m 0640 %{SOURCE11} %{buildroot}%{_sysconfdir}/nodepool/secure.conf
b502740
install -p -D -m 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/nodepool/launcher-logging.yaml
b502740
install -p -D -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/nodepool/builder-logging.yaml
b502740
install -p -D -m 0644 %{SOURCE14} %{buildroot}%{_sysconfdir}/sudoers.d/nodepool
3e39ea5
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/nodepool/scripts
b91f7a3
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/nodepool/elements
a09b4e0
install -p -d -m 0750 %{buildroot}%{_sharedstatedir}/nodepool
a09b4e0
install -p -d -m 0750 %{buildroot}%{_sharedstatedir}/nodepool/dib
a09b4e0
install -p -d -m 0750 %{buildroot}%{_sharedstatedir}/nodepool/.config/openstack
a09b4e0
install -p -d -m 0750 %{buildroot}%{_localstatedir}/log/nodepool
b91f7a3
install -p -d -m 0755 %{buildroot}%{_localstatedir}/cache/nodepool/dib_cache
b91f7a3
install -p -d -m 0755 %{buildroot}%{_localstatedir}/cache/nodepool/dib_tmp
b91f7a3
b91f7a3
b91f7a3
%pre
b91f7a3
getent group nodepool >/dev/null || groupadd -r nodepool
b91f7a3
if ! getent passwd nodepool >/dev/null; then
b91f7a3
  useradd -r -g nodepool -G nodepool -d %{_sharedstatedir}/nodepool -s /sbin/nologin -c "Nodepool Daemon" nodepool
b91f7a3
fi
b91f7a3
exit 0
b91f7a3
b91f7a3
b91f7a3
%post launcher
b91f7a3
%systemd_post nodepool-launcher.service
b91f7a3
%post builder
b91f7a3
%systemd_post nodepool-builder.service
b91f7a3
b91f7a3
%preun launcher
b91f7a3
%systemd_preun nodepool-launcher.service
b91f7a3
%preun builder
b91f7a3
%systemd_preun nodepool-builder.service
b91f7a3
b91f7a3
%postun launcher
b91f7a3
%systemd_postun nodepool-launcher.service
b91f7a3
%postun builder
b91f7a3
%systemd_postun nodepool-builder.service
b91f7a3
b91f7a3
b91f7a3
%files
b91f7a3
%{_bindir}/nodepool
3e39ea5
%config(noreplace) %attr(0644, root, root) %{_sysconfdir}/nodepool/nodepool.yaml
a09b4e0
%config(noreplace) %attr(0644, root, nodepool) %{_sysconfdir}/nodepool/secure.conf
3e39ea5
%dir %{_sysconfdir}/nodepool/scripts
3e39ea5
%dir %{_sysconfdir}/nodepool/elements
a09b4e0
%dir %attr(0755, nodepool, nodepool) %{_localstatedir}/log/nodepool
a09b4e0
%attr(0755, nodepool, nodepool) %{_sharedstatedir}/nodepool
3e39ea5
%{python3_sitelib}/nodepool
3e39ea5
%{python3_sitelib}/nodepool-*.egg-info
b91f7a3
b91f7a3
%files launcher
b91f7a3
%{_bindir}/nodepool-launcher
b91f7a3
%{_unitdir}/nodepool-launcher.service
3e39ea5
%config(noreplace) %attr(0644, root, root) %{_sysconfdir}/nodepool/launcher-logging.yaml
b91f7a3
b91f7a3
%files builder
b91f7a3
%{_bindir}/nodepool-builder
b91f7a3
%{_unitdir}/nodepool-builder.service
3e39ea5
%{_sysconfdir}/sudoers.d/nodepool
3e39ea5
%config(noreplace) %attr(0644, root, root) %{_sysconfdir}/nodepool/builder-logging.yaml
b91f7a3
%attr(0755, nodepool, nodepool) %{_localstatedir}/cache/nodepool
b91f7a3
b91f7a3
%files doc
3e39ea5
%doc LICENSE build/html
b91f7a3
b91f7a3
b91f7a3
%changelog
0dddd73
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-5
0dddd73
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
0dddd73
dd2d029
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.12.0-4
dd2d029
- Rebuilt for Python 3.10
dd2d029
3b4deb2
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-3
3b4deb2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
3b4deb2
5feb59f
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-2
5feb59f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
5feb59f
4195dcc
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.12.0-1
4195dcc
- Rebuilt for Python 3.9
4195dcc
d46315a
* Mon Mar 09 2020 Fabien Boucher <fboucher@redhat.com> - 3.12.0-1
d46315a
- Bump to 3.12.0
d46315a
428c0ce
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-2
428c0ce
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
428c0ce
d693843
* Tue Dec 24 2019 Fabien Boucher <fboucher@redhat.com> - 3.10.0-1
d693843
- Bump to 3.10.0
d693843
3e39ea5
* Fri Oct 11 2019 Fabien Boucher <fboucher@redhat.com> - 3.9.0-1
3e39ea5
- Import 3.9.0 packaging from Software Factory
3e39ea5
59e28dc
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-7
59e28dc
- Rebuilt for Python 3.8.0rc1 (#1748018)
59e28dc
40f5e4b
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-6
40f5e4b
- Rebuilt for Python 3.8
40f5e4b
feb3ee5
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-5
feb3ee5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
feb3ee5
56ccbad
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-4
56ccbad
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
56ccbad
87eda44
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-3
87eda44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
87eda44
7355e44
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-2
7355e44
- Rebuilt for Python 3.7
7355e44
b91f7a3
* Mon Apr 02 2018 Tristan Cacqueray <tdecacqu@redhat.com> - 3.0.0-1
b91f7a3
- Import from software factory repository