Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Cloud:OpenStack:Upstream:2024.1
openstack-ironic
openstack-ironic.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openstack-ironic.spec of Package openstack-ironic
# # spec file for package openstack-ironic # # 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/ # %global with_doc 1 %if 0%{?rhel} || 0%{?fedora} %global rdo 1 %endif Name: openstack-ironic Epoch: 0 Version: 24.1.3~dev5 Release: 0 Summary: Openstack Provisioning of Bare Metal Servers License: Apache-2.0 URL: https://docs.openstack.org/ironic Source0: ironic-stable-2024.1.tar.gz Source1: openstack-ironic.sudoers Source2: openstack-ironic.logrotate Source3: openstack-ironic.tmpfiles Source4: openstack-ironic.defaultconf Source5: openstack-ironic.README.config # systemd service files Source6: openstack-ironic-api.service Source7: openstack-ironic-conductor.service BuildRequires: openstack-macros BuildRequires: python3-cinderclient BuildRequires: python3-glanceclient BuildRequires: python3-swiftclient BuildRequires: python311-Jinja2 BuildRequires: python311-SQLAlchemy BuildRequires: python311-WebOb BuildRequires: python311-alembic BuildRequires: python311-automaton BuildRequires: python311-construct BuildRequires: python311-ddt BuildRequires: python311-eventlet BuildRequires: python311-fixtures BuildRequires: python311-futurist BuildRequires: python311-ironic-lib BuildRequires: python311-iso8601 BuildRequires: python311-jsonpatch BuildRequires: python311-jsonschema BuildRequires: python311-keystoneauth1 BuildRequires: python311-keystonemiddleware BuildRequires: python311-microversion_parse BuildRequires: python311-openstacksdk BuildRequires: python311-os-traits BuildRequires: python311-oslo.concurrency BuildRequires: python311-oslo.config BuildRequires: python311-oslo.context BuildRequires: python311-oslo.db BuildRequires: python311-oslo.i18n BuildRequires: python311-oslo.log BuildRequires: python311-oslo.messaging BuildRequires: python311-oslo.middleware BuildRequires: python311-oslo.policy BuildRequires: python311-oslo.reports BuildRequires: python311-oslo.rootwrap BuildRequires: python311-oslo.serialization BuildRequires: python311-oslo.service BuildRequires: python311-oslo.upgradecheck BuildRequires: python311-oslo.utils BuildRequires: python311-oslo.versionedobjects BuildRequires: python311-oslotest BuildRequires: python311-osprofiler BuildRequires: python311-pbr BuildRequires: python311-pecan BuildRequires: python311-psutil BuildRequires: python311-pycdlib BuildRequires: python311-pysendfile BuildRequires: python311-pysnmp BuildRequires: python311-pytz BuildRequires: python311-requests BuildRequires: python311-rfc3986 BuildRequires: python311-stestr BuildRequires: python311-stevedore BuildRequires: python311-sushy BuildRequires: python311-tenacity BuildRequires: python311-testtools BuildRequires: python311-tooz BuildRequires: sudo Requires: logrotate Requires: python3-ironic = %{epoch}:%{version}-%{release} BuildArch: noarch %if 0%{?suse_version} > 1600 BuildRequires: qemu-img %else %if 0%{?suse_version} BuildRequires: qemu-tools %endif %endif %if 0%{?suse_version} BuildRequires: systemd-rpm-macros %{?systemd_requires} %else BuildRequires: systemd Requires(post): systemd Requires(postun): systemd Requires(pre): shadow-utils Requires(preun): systemd %endif %description Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor API and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. %package -n python3-ironic Summary: OpenStack shared file system service (ironic) - Python module Group: Development/Languages/Python Requires: python3-cinderclient Requires: python3-glanceclient Requires: python3-swiftclient Requires: python311-Jinja2 Requires: python311-SQLAlchemy Requires: python311-WebOb Requires: python311-alembic Requires: python311-automaton Requires: python311-construct Requires: python311-eventlet Requires: python311-futurist Requires: python311-ironic-lib Requires: python311-jsonpatch Requires: python311-jsonschema Requires: python311-keystoneauth1 Requires: python311-keystonemiddleware Requires: python311-microversion_parse Requires: python311-openstacksdk Requires: python311-os-traits Requires: python311-oslo.concurrency Requires: python311-oslo.config Requires: python311-oslo.context Requires: python311-oslo.db Requires: python311-oslo.log Requires: python311-oslo.messaging Requires: python311-oslo.middleware Requires: python311-oslo.policy Requires: python311-oslo.rootwrap Requires: python311-oslo.serialization Requires: python311-oslo.service Requires: python311-oslo.upgradecheck Requires: python311-oslo.utils Requires: python311-oslo.versionedobjects Requires: python311-osprofiler Requires: python311-pbr Requires: python311-pecan Requires: python311-psutil Requires: python311-pycdlib Requires: python311-pysendfile Requires: python311-pytz Requires: python311-requests Requires: python311-rfc3986 Requires: python311-stevedore Requires: python311-sushy Requires: python311-tenacity Requires: python311-tooz Requires: sudo %description -n python3-ironic This package contains the core code of OpenStack Ironic. %if 0%{?with_doc} %package doc Summary: OpenStack bare metal provisioning service (ironic) - Documentation Group: Documentation/HTML BuildRequires: python311-Sphinx BuildRequires: python311-openstackdocstheme BuildRequires: python311-sphinxcontrib-apidoc BuildRequires: python311-sphinxcontrib-httpdomain BuildRequires: python311-sphinxcontrib-pecanwsme BuildRequires: python311-sphinxcontrib-seqdiag BuildRequires: python311-sphinxcontrib-svg2pdfconverter %description doc OpenStack bare metal provisioning service. This package contains the Documentation. %endif %package api Summary: OpenStack Ironic - API Group: System/Management Requires: openstack-ironic = %{epoch}:%{version}-%{release} %description api This package contains the OpenStack Ironic API Daemon. %package conductor Summary: OpenStack Ironic - Conductor Group: System/Management Requires: openstack-ironic = %{epoch}:%{version}-%{release} %description conductor This package contains the OpenStack Ironic Conductor Manager Daemon. %prep %autosetup -p1 -n ironic-24.1.3.dev5 %py_req_cleanup %build %{py3_build} %if 0%{?with_doc} PYTHONPATH=. PBR_VERSION=24.1.3.dev5 %sphinx_build --keep-going -b html doc/source doc/build/html PYTHONPATH=. PBR_VERSION=24.1.3.dev5 %sphinx_build --keep-going -b man doc/source doc/build/man # remove the Sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} rm -rf doc/build/man/.{doctrees,buildinfo} %endif %install %{py3_install} ### Setup directories install -d -m 750 %{buildroot}%{_localstatedir}/{lib,log,cache}/ironic install -d -m 755 %{buildroot}%{_sysconfdir}/ironic install -d -m 755 %{buildroot}%{_sysconfdir}/ironic/ironic.conf.d/ install -d -m 700 %{buildroot}%{_localstatedir}/run/ironic ### Install configuration files install -D -m 644 %{SOURCE3} %{buildroot}/%_tmpfilesdir/ironic.conf install -p -D -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/ironic/ironic.conf.d/010-ironic.conf mv %{buildroot}%{_prefix}%{_sysconfdir}/ironic/* %{buildroot}%{_sysconfdir}/ironic/ cp -a etc/ironic/rootwrap.d/ %{buildroot}%{_sysconfdir}/ironic/ install -p -D -m 640 %{SOURCE5} %{buildroot}%{_sysconfdir}/ironic/README.config ### Install systemd service files install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}-api.service install -p -D -m 644 %{SOURCE7} %{buildroot}%{_unitdir}/%{name}-conductor.service ### install symlinks on SUSE %if 0%{?suse_version} mkdir -p %{buildroot}%{_sbindir} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-api ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-conductor %endif ### sudoers configuration for ironic-rootwrap: install -D -m 440 %{SOURCE1} %{buildroot}%{_sysconfdir}/sudoers.d/openstack-ironic ### Install logrotate install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-ironic ### man pages %if 0%{?with_doc} mkdir -p %{buildroot}%{_mandir}/man1 install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ %endif %check export LC_ALL=en_US.UTF-8 %{openstack_stestr_run} %pre %openstack_pre_user_group_create ironic ironic /sbin/nologin exit 0 %post %tmpfiles_create %{_tmpfilesdir}/ironic.conf %post api %systemd_post %{name}-api.service %preun api %systemd_preun %{name}-api.service %postun api %systemd_postun %{name}-api.service %post conductor %systemd_post %{name}-conductor.service %preun conductor %systemd_preun %{name}-conductor.service %postun conductor %systemd_postun %{name}-conductor.service %files %doc README.rst %license LICENSE %dir %attr(0750, ironic, ironic) %{_localstatedir}/lib/ironic %dir %attr(0750, ironic, ironic) %{_localstatedir}/cache/ironic %dir %attr(0750, ironic, ironic) %{_localstatedir}/log/ironic %_tmpfilesdir/ironic.conf %dir %{_sysconfdir}/ironic %dir %{_sysconfdir}/ironic/ironic.conf.d/ %{_sysconfdir}/ironic/README.config %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-ironic %config(noreplace) %{_sysconfdir}/sudoers.d/openstack-ironic %config(noreplace) %attr(0640, root, ironic) %{_sysconfdir}/ironic/ironic.conf.d/010-ironic.conf %config %{_sysconfdir}/ironic/rootwrap.conf %dir %{_sysconfdir}/ironic/rootwrap.d %config(noreplace) %{_sysconfdir}/ironic/rootwrap.d/ironic-utils.filters %{_bindir}/ironic %{_bindir}/ironic-pxe-filter %{_bindir}/ironic-status %{_bindir}/ironic-rootwrap %{_bindir}/ironic-dbsync %if 0%{?with_doc} %{_mandir}/man1/ironic.1.gz %endif %files -n python3-ironic %license LICENSE %{python3_sitelib}/ironic/ %{python3_sitelib}/ironic-*.egg-info %files doc %license LICENSE %doc doc/build/html %files api %license LICENSE %{_unitdir}/%{name}-api.service %if 0%{?suse_version} %{_sbindir}/rc%{name}-api %endif %{_bindir}/ironic-api %{_bindir}/ironic-api-wsgi %files conductor %license LICENSE %{_unitdir}/%{name}-conductor.service %if 0%{?suse_version} %{_sbindir}/rc%{name}-conductor %endif %{_bindir}/ironic-conductor %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor