%{!?upstream_version: %global upstream_version %{version}%{?milestone}} Name: openstack-placement Version: 4.0.0 Release: 2 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 Source2: openstack-placement-api.conf 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 %{buildroot}%apache_site_dir # apache vhost sample configs install -p -D -m 644 %{SOURCE2} %{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 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} %pre %openstack_pre_user_group_create placement placement %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/ %dir %attr(0750, placement, placement) %{_localstatedir}/cache/placement %config(noreplace) %attr(0640, root, placement) %{_sysconfdir}/placement/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 %{_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 %changelog * Thu Feb 25 2021 wangxiyuan - Fix httpd config error and remove useless files * Wed Feb 03 2021 ZhengZhenyu - Update init