193 lines
6.8 KiB
RPMSpec
193 lines
6.8 KiB
RPMSpec
|
|
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
|
||
|
|
|
||
|
|
Name: openstack-placement
|
||
|
|
Version: 4.0.0
|
||
|
|
Release: 1
|
||
|
|
Summary: OpenStack Placement
|
||
|
|
|
||
|
|
License: ASL 2.0
|
||
|
|
Group: System/Management
|
||
|
|
URL: https://docs.openstack.org/placement/
|
||
|
|
Source0: openstack-placement-%{upstream_version}.tar.gz
|
||
|
|
|
||
|
|
Source1: openstack-placement.logrotate
|
||
|
|
Source3: openstack-placement-api.conf.sample
|
||
|
|
Source4: openstack-placement.defaultconf
|
||
|
|
Source40: openstack-placement.README.config
|
||
|
|
|
||
|
|
BuildArch: noarch
|
||
|
|
|
||
|
|
BuildRequires: openstack-macros
|
||
|
|
BuildRequires: python3-routes
|
||
|
|
BuildRequires: python3-webob
|
||
|
|
BuildRequires: python3-jsonschema
|
||
|
|
BuildRequires: python3-keystonemiddleware
|
||
|
|
BuildRequires: python3-microversion-parse
|
||
|
|
BuildRequires: python3-mock
|
||
|
|
BuildRequires: python3-os-resource-classes
|
||
|
|
BuildRequires: python3-os-traits
|
||
|
|
BuildRequires: python3-oslo-concurrency
|
||
|
|
BuildRequires: python3-oslo-config
|
||
|
|
BuildRequires: python3-oslo-db
|
||
|
|
BuildRequires: python3-oslo-log
|
||
|
|
BuildRequires: python3-oslo-middleware
|
||
|
|
BuildRequires: python3-oslo-policy
|
||
|
|
BuildRequires: python3-oslotest
|
||
|
|
BuildRequires: python3-paramiko
|
||
|
|
BuildRequires: python3-pbr
|
||
|
|
BuildRequires: python3-stestr
|
||
|
|
|
||
|
|
Requires: logrotate
|
||
|
|
Requires: python3-openstack-placement = %{version}-%{release}
|
||
|
|
|
||
|
|
BuildRequires: systemd
|
||
|
|
Requires(post): systemd
|
||
|
|
Requires(postun): systemd
|
||
|
|
Requires(pre): shadow-utils
|
||
|
|
Requires(preun): systemd
|
||
|
|
|
||
|
|
|
||
|
|
%description
|
||
|
|
OpenStack Placement provides an HTTP service for managing, selecting,
|
||
|
|
and claiming providers of classes of inventory representing available
|
||
|
|
resources in a cloud.
|
||
|
|
|
||
|
|
%package -n python3-openstack-placement
|
||
|
|
Summary: OpenStack Placement - Python module
|
||
|
|
Group: Development/Languages/Python
|
||
|
|
Requires: python3-routes
|
||
|
|
Requires: python3-sqlalchemy
|
||
|
|
Requires: python3-webob
|
||
|
|
Requires: python3-jsonschema
|
||
|
|
Requires: python3-keystonemiddleware
|
||
|
|
Requires: python3-microversion-parse
|
||
|
|
Requires: python3-os-resource-classes
|
||
|
|
Requires: python3-os-traits
|
||
|
|
Requires: python3-oslo-concurrency
|
||
|
|
Requires: python3-oslo-config
|
||
|
|
Requires: python3-oslo-context
|
||
|
|
Requires: python3-oslo-db
|
||
|
|
Requires: python3-oslo-log
|
||
|
|
Requires: python3-oslo-middleware
|
||
|
|
Requires: python3-oslo-policy
|
||
|
|
Requires: python3-oslo-serialization
|
||
|
|
Requires: python3-oslo-upgradecheck
|
||
|
|
Requires: python3-oslo-utils
|
||
|
|
Requires: python3-pbr
|
||
|
|
Requires: python3-requests
|
||
|
|
Requires: python3-six
|
||
|
|
Requires: python3-sqlalchemy
|
||
|
|
Requires: python3-wsgi_intercept
|
||
|
|
|
||
|
|
%description -n python3-openstack-placement
|
||
|
|
This package contains the core Python module of OpenStack Placement.
|
||
|
|
|
||
|
|
%package api
|
||
|
|
Summary: OpenStack Compute (Placement) - API
|
||
|
|
# prereq for creating the right openstack-placement user/group
|
||
|
|
Group: System/Management
|
||
|
|
Requires: %{name} = %{version}
|
||
|
|
Requires(pre): %{name} = %{version}
|
||
|
|
BuildRequires: python3-mod_wsgi
|
||
|
|
Requires: python3-mod_wsgi
|
||
|
|
|
||
|
|
%description api
|
||
|
|
This package contains the OpenStack Placement API.
|
||
|
|
|
||
|
|
%prep
|
||
|
|
%autosetup -p1 -n openstack-placement-%{upstream_version}
|
||
|
|
%py_req_cleanup
|
||
|
|
|
||
|
|
%build
|
||
|
|
python3 setup.py build
|
||
|
|
|
||
|
|
# sample config
|
||
|
|
PYTHONPATH=. oslo-config-generator --config-file=etc/placement/config-generator.conf
|
||
|
|
# sample policy
|
||
|
|
PYTHONPATH=. oslopolicy-sample-generator --config-file=etc/placement/policy-generator.conf
|
||
|
|
|
||
|
|
%install
|
||
|
|
python3 setup.py install --root %{buildroot} --prefix %{_prefix}
|
||
|
|
|
||
|
|
### directories
|
||
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement
|
||
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/images
|
||
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/instances
|
||
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/keys
|
||
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/networks
|
||
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/tmp
|
||
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/log/placement
|
||
|
|
install -d -m 700 %{buildroot}%{_rundir}/placement
|
||
|
|
install -d -m 700 %{buildroot}%{_localstatedir}/cache/placement
|
||
|
|
install -D -m 644 %{SOURCE4} %{buildroot}/%_tmpfilesdir/%name.conf
|
||
|
|
install -d %{buildroot}%apache_site_dir
|
||
|
|
|
||
|
|
# apache vhost sample configs
|
||
|
|
install -p -D -m 644 %{SOURCE3} %{buildroot}%apache_site_dir
|
||
|
|
|
||
|
|
### configuration files
|
||
|
|
install -d -m 755 %{buildroot}%{_sysconfdir}/placement/
|
||
|
|
#mv %{buildroot}/usr/etc/placement/* %{buildroot}%{_sysconfdir}/placement/
|
||
|
|
install -d -m 755 %{buildroot}%{_sysconfdir}/placement/placement.conf.d
|
||
|
|
install -p -D -m 640 %{SOURCE40} %{buildroot}%{_sysconfdir}/placement/README.config
|
||
|
|
install -p -D -m 640 etc/placement/placement.conf.sample %{buildroot}%{_sysconfdir}/placement/placement.conf
|
||
|
|
install -p -D -m 640 etc/placement/policy.yaml.sample %{buildroot}%{_sysconfdir}/placement/policy.yaml
|
||
|
|
# bash-completion/logrotate/etc.
|
||
|
|
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||
|
|
|
||
|
|
|
||
|
|
### set default configuration
|
||
|
|
install -p -D -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/placement/placement.conf.d/010-placement.conf
|
||
|
|
|
||
|
|
%pre
|
||
|
|
%openstack_pre_user_group_create placement placement
|
||
|
|
|
||
|
|
%post
|
||
|
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
||
|
|
|
||
|
|
%post api
|
||
|
|
%systemd_post openstack-placement-api.service
|
||
|
|
|
||
|
|
%preun api
|
||
|
|
%systemd_preun openstack-placement-api.service
|
||
|
|
|
||
|
|
%postun api
|
||
|
|
%systemd_postun_with_restart openstack-placement-api.service
|
||
|
|
|
||
|
|
%files
|
||
|
|
%license LICENSE
|
||
|
|
%doc README.rst
|
||
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||
|
|
%dir %{_sysconfdir}/placement
|
||
|
|
%dir %{_sysconfdir}/placement/placement.conf.d/
|
||
|
|
%{_sysconfdir}/placement/README.config
|
||
|
|
%dir %attr(0750, placement, placement) %{_localstatedir}/cache/placement
|
||
|
|
%config(noreplace) %attr(0640, root, placement) %{_sysconfdir}/placement/placement.conf
|
||
|
|
%config(noreplace) %attr(0640, root, placement) %{_sysconfdir}/placement/placement.conf.d/010-placement.conf
|
||
|
|
%config %attr(0640, root, placement) %{_sysconfdir}/placement/policy.yaml
|
||
|
|
%dir %attr(0755, placement, placement) %{_localstatedir}/lib/placement
|
||
|
|
%dir %attr(0750, placement, placement) %{_localstatedir}/log/placement
|
||
|
|
%_tmpfilesdir/%name.conf
|
||
|
|
%{_bindir}/placement-manage
|
||
|
|
%{_bindir}/placement-status
|
||
|
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/images
|
||
|
|
%dir %attr(0755, placement, root) %{_localstatedir}/lib/placement/instances
|
||
|
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/keys
|
||
|
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/networks
|
||
|
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/tmp
|
||
|
|
|
||
|
|
%files -n python3-openstack-placement
|
||
|
|
%license LICENSE
|
||
|
|
%{python3_sitelib}/placement/
|
||
|
|
%{python3_sitelib}/placement_db_tools/
|
||
|
|
%{python3_sitelib}/openstack_placement*egg-info
|
||
|
|
|
||
|
|
%files api
|
||
|
|
%license LICENSE
|
||
|
|
%{_bindir}/placement-api
|
||
|
|
%{apache_site_dir}/openstack-placement-api.conf.sample
|
||
|
|
|
||
|
|
%changelog
|
||
|
|
* Wed Feb 03 2021 ZhengZhenyu <zheng.zhenyu@outlook.com>
|
||
|
|
- Update init
|