diff --git a/dnsmasq.conf b/dnsmasq.conf new file mode 100644 index 0000000..be1d83b --- /dev/null +++ b/dnsmasq.conf @@ -0,0 +1,10 @@ +# This is the recommend minimum for using introspection +port=0 +bind-interfaces +enable-tftp + +# These values do not have reasonable defaults +#tftp-root=/tftpboot +#interface= +#dhcp-range= +#dhcp-boot= diff --git a/ironic-inspector-10.5.0.tar.gz b/ironic-inspector-10.5.0.tar.gz deleted file mode 100644 index b6b708a..0000000 Binary files a/ironic-inspector-10.5.0.tar.gz and /dev/null differ diff --git a/ironic-inspector-10.6.0.tar.gz b/ironic-inspector-10.6.0.tar.gz new file mode 100644 index 0000000..baabcec Binary files /dev/null and b/ironic-inspector-10.6.0.tar.gz differ diff --git a/openstack-ironic-inspector.defaultconf b/ironic-inspector-dist.conf similarity index 81% rename from openstack-ironic-inspector.defaultconf rename to ironic-inspector-dist.conf index 5c59517..8b90644 100644 --- a/openstack-ironic-inspector.defaultconf +++ b/ironic-inspector-dist.conf @@ -1,4 +1,4 @@ [DEFAULT] log_dir = /var/log/ironic-inspector state_path = /var/lib/ironic-inspector -use_stderr = True \ No newline at end of file +use_stderr = False diff --git a/ironic-inspector-rootwrap-sudoers b/ironic-inspector-rootwrap-sudoers new file mode 100644 index 0000000..e530832 --- /dev/null +++ b/ironic-inspector-rootwrap-sudoers @@ -0,0 +1,2 @@ +Defaults:ironic-inspector !requiretty +ironic-inspector ALL=(root) NOPASSWD: /usr/bin/ironic-inspector-rootwrap /etc/ironic-inspector/rootwrap.conf * diff --git a/openstack-ironic-inspector.logrotate b/ironic-inspector.logrotate similarity index 72% rename from openstack-ironic-inspector.logrotate rename to ironic-inspector.logrotate index 469535f..51030e2 100644 --- a/openstack-ironic-inspector.logrotate +++ b/ironic-inspector.logrotate @@ -4,5 +4,4 @@ missingok compress copytruncate - su ironic-inspector ironic-inspector } diff --git a/openstack-ironic-inspector-conductor.service b/openstack-ironic-inspector-conductor.service index b478dcf..6a111bd 100644 --- a/openstack-ironic-inspector-conductor.service +++ b/openstack-ironic-inspector-conductor.service @@ -1,9 +1,9 @@ [Unit] Description=Hardware introspection service for OpenStack Ironic - Conductor -After=syslog.target network.target +After=network.target [Service] -ExecStart=/usr/bin/ironic-inspector-conductor +ExecStart=/usr/bin/ironic-inspector-conductor --config-file /etc/ironic-inspector/inspector-dist.conf --config-file /etc/ironic-inspector/inspector.conf User=ironic-inspector Restart=on-failure diff --git a/openstack-ironic-inspector-dnsmasq.service b/openstack-ironic-inspector-dnsmasq.service index f4e71aa..1339a08 100644 --- a/openstack-ironic-inspector-dnsmasq.service +++ b/openstack-ironic-inspector-dnsmasq.service @@ -1,6 +1,6 @@ [Unit] Description=PXE boot dnsmasq service for Ironic Inspector -After=openvswitch.service syslog.target network.target +After=openvswitch.service network.target [Service] Type=forking diff --git a/openstack-ironic-inspector.dnsmasqconf b/openstack-ironic-inspector.dnsmasqconf deleted file mode 100644 index cdb637f..0000000 --- a/openstack-ironic-inspector.dnsmasqconf +++ /dev/null @@ -1,3 +0,0 @@ -port=0 -bind-interfaces -enable-tftp diff --git a/openstack-ironic-inspector.service b/openstack-ironic-inspector.service index 42441f2..89d14fd 100644 --- a/openstack-ironic-inspector.service +++ b/openstack-ironic-inspector.service @@ -1,9 +1,9 @@ [Unit] Description=Hardware introspection service for OpenStack Ironic -After=syslog.target network.target +After=network.target [Service] -ExecStart=/usr/bin/ironic-inspector --config-file /etc/ironic-inspector/inspector.conf +ExecStart=/usr/bin/ironic-inspector --config-file /etc/ironic-inspector/inspector-dist.conf --config-file /etc/ironic-inspector/inspector.conf User=ironic-inspector Restart=on-failure diff --git a/openstack-ironic-inspector.spec b/openstack-ironic-inspector.spec index b00fc3a..8936fb6 100644 --- a/openstack-ironic-inspector.spec +++ b/openstack-ironic-inspector.spec @@ -1,280 +1,337 @@ -Name: openstack-ironic-inspector -Version: 10.5.0 -Release: 3 -Summary: Hardware introspection service for OpenStack Ironic -License: ASL 2.0 -URL: https://launchpad.net/ironic-inspector -Source0: ironic-inspector-10.5.0.tar.gz -Source1: openstack-ironic-inspector.sudoers -Source2: openstack-ironic-inspector.logrotate -Source3: openstack-ironic-inspector.defaultconf -Source4: openstack-ironic-inspector.dnsmasqconf -# systemd service files -Source5: openstack-ironic-inspector.service -Source6: openstack-ironic-inspector-dnsmasq.service -Source7: openstack-ironic-inspector-conductor.service +%global service ironic-inspector +%global modulename ironic_inspector +%{!?upstream_version: %global upstream_version %{version}} -BuildRequires: openstack-macros -BuildRequires: python3-flask -BuildRequires: python3-sqlalchemy -BuildRequires: python3-alembic -BuildRequires: python3-automaton -BuildRequires: python3-construct -BuildRequires: python3-devel -BuildRequires: python3-eventlet -BuildRequires: python3-fixtures -BuildRequires: python3-futurist -BuildRequires: python3-ironic-lib -BuildRequires: python3-ironicclient -BuildRequires: python3-jsonpath-rw -BuildRequires: python3-jsonschema -BuildRequires: python3-keystoneauth1 -BuildRequires: python3-keystonemiddleware -BuildRequires: python3-mock -BuildRequires: python3-netaddr -BuildRequires: python3-openstacksdk -BuildRequires: python3-oslo-concurrency -BuildRequires: python3-oslo-config -BuildRequires: python3-oslo-context -BuildRequires: python3-oslo-db -BuildRequires: python3-oslo-i18n -BuildRequires: python3-oslo-log -BuildRequires: python3-oslo-messaging -BuildRequires: python3-oslo-middleware -BuildRequires: python3-oslo-policy -BuildRequires: python3-oslo-serialization -BuildRequires: python3-oslo-utils -BuildRequires: python3-oslotest -BuildRequires: python3-pbr -BuildRequires: python3-pytz -BuildRequires: python3-retrying -BuildRequires: python3-stestr -BuildRequires: python3-stevedore -BuildRequires: python3-testscenarios -BuildRequires: python3-tooz -BuildRequires: sudo -BuildRequires: systemd +%global with_doc 0 +%global with_tests 1 -Requires: logrotate -Requires: python3-ironic-inspector -Requires(post): systemd -Requires(postun): systemd -Requires(preun): systemd +Name: openstack-ironic-inspector +Summary: Hardware introspection service for OpenStack Ironic +Version: 10.6.0 +Release: 1 +License: ASL 2.0 +URL: https://launchpad.net/ironic-inspector -BuildArch: noarch +Source0: https://tarballs.openstack.org/%{service}/%{service}-%{version}.tar.gz +Source1: openstack-ironic-inspector.service +Source2: openstack-ironic-inspector-dnsmasq.service +Source3: dnsmasq.conf +Source4: ironic-inspector-rootwrap-sudoers +Source5: ironic-inspector.logrotate +Source6: ironic-inspector-dist.conf +Source7: openstack-ironic-inspector-conductor.service + +BuildArch: noarch + +BuildRequires: git-core +BuildRequires: openstack-macros +BuildRequires: python3-devel +BuildRequires: python3-pbr +BuildRequires: python3-stestr +BuildRequires: systemd +# All these are required to run tests during check step +BuildRequires: python3-mock >= 3.0.5 +BuildRequires: python3-alembic +BuildRequires: python3-automaton +BuildRequires: python3-eventlet +BuildRequires: python3-fixtures +BuildRequires: python3-futurist +BuildRequires: python3-ironicclient +BuildRequires: python3-jsonschema +BuildRequires: python3-keystoneauth1 +BuildRequires: python3-keystonemiddleware +BuildRequires: python3-netaddr +BuildRequires: python3-oslo-concurrency +BuildRequires: python3-oslo-config +BuildRequires: python3-oslo-context +BuildRequires: python3-oslo-db +BuildRequires: python3-oslo-i18n +BuildRequires: python3-oslo-log +BuildRequires: python3-oslo-messaging +BuildRequires: python3-oslo-middleware +BuildRequires: python3-oslo-policy +BuildRequires: python3-oslo-serialization +BuildRequires: python3-oslo-utils +BuildRequires: python3-oslotest +BuildRequires: python3-six +BuildRequires: python3-sqlalchemy +BuildRequires: python3-stevedore +BuildRequires: python3-openstacksdk +BuildRequires: python3-testscenarios +BuildRequires: python3-testresources +BuildRequires: python3-tooz +BuildRequires: python3-construct +BuildRequires: python3-flask +BuildRequires: python3-ironic-lib +BuildRequires: python3-jsonpath-rw +BuildRequires: python3-retrying +BuildRequires: python3-pytz + +%{?systemd_requires} + +Requires: python3-alembic >= 1.4.2 +Requires: python3-automaton >= 1.9.0 +Requires: python3-construct >= 2.9.39 +Requires: python3-eventlet >= 0.26.0 +Requires: python3-flask >= 1.1.0 +Requires: python3-futurist >= 1.2.0 +Requires: python3-ironic-lib >= 4.3.0 +Requires: python3-jsonpath-rw >= 1.2.0 +Requires: python3-jsonschema >= 3.2.0 +Requires: python3-keystoneauth1 >= 4.2.0 +Requires: python3-keystonemiddleware >= 4.18.0 +Requires: python3-netaddr >= 0.7.18 +Requires: python3-openstacksdk >= 0.40.0 +Requires: python3-oslo-concurrency >= 3.26.0 +Requires: python3-oslo-config >= 6.8.0 +Requires: python3-oslo-context >= 2.19.2 +Requires: python3-oslo-db >= 6.0.0 +Requires: python3-oslo-i18n >= 3.15.3 +Requires: python3-oslo-log >= 3.36.0 +Requires: python3-oslo-messaging >= 5.32.0 +Requires: python3-oslo-middleware >= 3.31.0 +Requires: python3-oslo-policy >= 3.6.0 +Requires: python3-oslo-rootwrap >= 5.8.0 +Requires: python3-oslo-serialization >= 2.18.0 +Requires: python3-oslo-service >= 1.24.0 +Requires: python3-oslo-utils >= 4.5.0 +Requires: python3-pbr >= 2.0.0 +Requires: python3-pytz >= 2013.6 +Requires: python3-sqlalchemy >= 1.2.19 +Requires: python3-stevedore >= 1.20.0 +Requires: python3-tooz >= 2.5.1 +Requires: python3-tenacity >= 6.2.0 +Requires: python3-yaml >= 5.3.1 +Requires: python3-oslo-upgradecheck >= 1.2.0 + + +Obsoletes: openstack-ironic-discoverd < 1.1.1 +Provides: openstack-ironic-discoverd = %{upstream_version} %description Ironic Inspector is an auxiliary service for discovering hardware properties for a node managed by OpenStack Ironic. Hardware introspection or hardware properties discovery is a process of getting hardware parameters required for -scheduling from a bare metal node, given its power management credentials +scheduling from a bare metal node, given it’s power management credentials (e.g. IPMI address, user name and password). This package contains Python modules and an ironic-inspector service combining API and conductor in one binary. -%package -n python3-ironic-inspector -Summary: Hardware introspection service for OpenStack Ironic -Group: Development/Languages/Python -Requires: openstack-ironic-inspector-dnsmasq -Requires: python3-flask -Requires: python3-sqlalchemy -Requires: python3-alembic -Requires: python3-automaton -Requires: python3-construct -Requires: python3-eventlet -Requires: python3-futurist -Requires: python3-ironic-lib -Requires: python3-ironicclient -Requires: python3-jsonpath-rw -Requires: python3-jsonschema -Requires: python3-keystoneauth1 -Requires: python3-keystonemiddleware -Requires: python3-netaddr -Requires: python3-openstacksdk -Requires: python3-oslo-concurrency -Requires: python3-oslo-config -Requires: python3-oslo-context -Requires: python3-oslo-db -Requires: python3-oslo-i18n -Requires: python3-oslo-log -Requires: python3-oslo-messaging -Requires: python3-oslo-middleware -Requires: python3-oslo-policy -Requires: python3-oslo-rootwrap -Requires: python3-oslo-serialization -Requires: python3-oslo-service -Requires: python3-oslo-utils -Requires: python3-pbr -Requires: python3-pytz -Requires: python3-retrying -Requires: python3-stevedore -Requires: python3-tooz +%if 0%{?with_doc} +%package -n openstack-ironic-inspector-doc +Summary: Documentation for Ironic Inspector. -%description -n python3-ironic-inspector +BuildRequires: python3-sphinx +BuildRequires: python3-openstackdocstheme +BuildRequires: python3-sphinxcontrib-apidoc +# BuildRequires: python3-sphinxcontrib-rsvgconverter -Ironic Inspector is an auxiliary service for discovering hardware properties -for a node managed by OpenStack Ironic. Hardware introspection or hardware -properties discovery is a process of getting hardware parameters required for -scheduling from a bare metal node, given its power management credentials -(e.g. IPMI address, user name and password). - -This package contains Python modules and an ironic-inspector service combining -API and conductor in one binary. +%description -n openstack-ironic-inspector-doc +Documentation for Ironic Inspector. +%endif %package -n openstack-ironic-inspector-dnsmasq Summary: DHCP service for ironic-inspector using dnsmasq + +Requires: %{name} = %{version}-%{release} Requires: dnsmasq -Requires: openstack-ironic-inspector %description -n openstack-ironic-inspector-dnsmasq Ironic Inspector is an auxiliary service for discovering hardware properties for a node managed by OpenStack Ironic. Hardware introspection or hardware properties discovery is a process of getting hardware parameters required for -scheduling from a bare metal node, given its power management credentials +scheduling from a bare metal node, given it’s power management credentials (e.g. IPMI address, user name and password). This package contains a dnsmasq service pre-configured for using with ironic-inspector. %package -n openstack-ironic-inspector-conductor -Summary: Conductor service for Ironic Inspector -Requires: openstack-ironic-inspector +Summary: Conductor service for Ironic Inspector. + +Requires: %{name} = %{version}-%{release} %description -n openstack-ironic-inspector-conductor Ironic Inspector is an auxiliary service for discovering hardware properties for a node managed by OpenStack Ironic. Hardware introspection or hardware properties discovery is a process of getting hardware parameters required for -scheduling from a bare metal node, given its power management credentials +scheduling from a bare metal node, given it’s power management credentials (e.g. IPMI address, user name and password). This package contains an ironic-inspector conductor service, which can be used to split ironic-inspector into API and conductor processes. %package -n openstack-ironic-inspector-api -Summary: WSGI service service for Ironic Inspector -Requires: openstack-ironic-inspector +Summary: WSGI service service for Ironic Inspector. + +Requires: %{name} = %{version}-%{release} %description -n openstack-ironic-inspector-api Ironic Inspector is an auxiliary service for discovering hardware properties for a node managed by OpenStack Ironic. Hardware introspection or hardware properties discovery is a process of getting hardware parameters required for -scheduling from a bare metal node, given its power management credentials +scheduling from a bare metal node, given it’s power management credentials (e.g. IPMI address, user name and password). This package contains an ironic-inspector WSGI service, which can be used to split ironic-inspector into API and conductor processes. +%package -n python3-%{service}-tests +Summary: %{service} Unit Tests +%{?python_provide:%python_provide python2-%{service}-tests} + +Requires: %{name} = %{version}-%{release} + +%description -n python3-%{service}-tests +It contains the unit tests + %prep -%autosetup -p1 -n ironic-inspector-10.5.0 +%autosetup -v -p1 -n %{service}-%{upstream_version} +# Remove the requirements file so that pbr hooks don't add it +# to distutils requires_dist config %py_req_cleanup %build %{py3_build} +%if 0%{?with_doc} +export PYTHONPATH=. +sphinx-build -b html doc/source doc/build/html +rm -rf doc/build/html/.{doctrees,buildinfo} +%endif %install %{py3_install} +mkdir -p %{buildroot}%{_mandir}/man8 +install -p -D -m 644 ironic-inspector.8 %{buildroot}%{_mandir}/man8/ + # logs configuration install -d -m 750 %{buildroot}%{_localstatedir}/log/ironic-inspector install -d -m 750 %{buildroot}%{_localstatedir}/log/ironic-inspector/ramdisk -install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-ironic-inspector +install -p -D -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-ironic-inspector # install systemd scripts mkdir -p %{buildroot}%{_unitdir} -install -p -D -m 644 %{SOURCE5} %{buildroot}%{_unitdir} -install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir} +install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir} +install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir} install -p -D -m 644 %{SOURCE7} %{buildroot}%{_unitdir} # install sudoers file mkdir -p %{buildroot}%{_sysconfdir}/sudoers.d -install -p -D -m 440 %{SOURCE1} %{buildroot}%{_sysconfdir}/sudoers.d/openstack-ironic-inspector +install -p -D -m 440 %{SOURCE4} %{buildroot}%{_sysconfdir}/sudoers.d/ironic-inspector -# install configuration files +# generate example configuration files install -d -m 750 %{buildroot}%{_sysconfdir}/ironic-inspector export PYTHONPATH=. oslo-config-generator --config-file tools/config-generator.conf --output-file %{buildroot}/%{_sysconfdir}/ironic-inspector/inspector.conf oslopolicy-sample-generator --config-file tools/policy-generator.conf --output-file %{buildroot}/%{_sysconfdir}/ironic-inspector/policy.json + +# configuration contains passwords, thus 640 chmod 0640 %{buildroot}/%{_sysconfdir}/ironic-inspector/inspector.conf -install -p -D -m 640 %{SOURCE3} %{buildroot}/%{_sysconfdir}/ironic-inspector/inspector-dist.conf -install -p -D -m 640 %{SOURCE4} %{buildroot}/%{_sysconfdir}/ironic-inspector/dnsmasq.conf +install -p -D -m 640 %{SOURCE6} %{buildroot}/%{_sysconfdir}/ironic-inspector/inspector-dist.conf +install -p -D -m 644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/ironic-inspector/dnsmasq.conf # rootwrap configuration mkdir -p %{buildroot}%{_sysconfdir}/ironic-inspector/rootwrap.d install -p -D -m 640 rootwrap.conf %{buildroot}/%{_sysconfdir}/ironic-inspector/rootwrap.conf install -p -D -m 640 rootwrap.d/* %{buildroot}/%{_sysconfdir}/ironic-inspector/rootwrap.d/ -%pre -%openstack_pre_user_group_create ironic-inspector ironic-inspector /sbin/nologin -exit 0 +# shared state directory +mkdir -p %{buildroot}%{_sharedstatedir}/ironic-inspector -%post api -%systemd_post %{name}.service +# shared state directory for the dnsmasq PXE filter and the dnsmasq service +mkdir -p %{buildroot}%{_sharedstatedir}/ironic-inspector/dhcp-hostsdir -%preun api -%systemd_preun %{name}.service - -%postun api -%systemd_postun %{name}.service - -%post dnsmasq -%systemd_post %{name}-dnsmasq.service - -%preun dnsmasq -%systemd_preun %{name}-dnsmasq.service - -%postun dnsmasq -%systemd_postun %{name}-dnsmasq.service - -%post conductor -%systemd_post %{name}-conductor.service - -%preun conductor -%systemd_preun %{name}-conductor.service - -%postun conductor -%systemd_postun %{name}-conductor.service +%check +%if 0%{?with_tests} +PYTHON=%{__python3} stestr run --test-path ironic_inspector.test.unit +%endif %files %doc README.rst %license LICENSE -%dir %attr(0750, ironic-inspector, ironic-inspector) %{_localstatedir}/log/ironic-inspector -%dir %{_sysconfdir}/ironic-inspector +%config(noreplace) %attr(-,root,ironic-inspector) %{_sysconfdir}/ironic-inspector %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-ironic-inspector -%config(noreplace) %{_sysconfdir}/sudoers.d/openstack-ironic-inspector -%config(noreplace) %attr(0640, root, ironic-inspector) %{_sysconfdir}/ironic-inspector/inspector.conf -%config(noreplace) %attr(0640, root, ironic-inspector) %{_sysconfdir}/ironic-inspector/dnsmasq.conf -%config(noreplace) %attr(0640, root, ironic-inspector) %{_sysconfdir}/ironic-inspector/inspector-dist.conf -%config(noreplace) %attr(0640, root, ironic-inspector) %{_sysconfdir}/ironic-inspector/policy.json -%config %{_sysconfdir}/ironic-inspector/rootwrap.conf -%dir %{_sysconfdir}/ironic-inspector/rootwrap.d -%config(noreplace) %{_sysconfdir}/ironic-inspector/rootwrap.d/ironic-inspector.filters +%{_sysconfdir}/sudoers.d/ironic-inspector +%{python3_sitelib}/%{modulename} +%{python3_sitelib}/%{modulename}-*.egg-info +%exclude %{python3_sitelib}/%{modulename}/test +%{_bindir}/ironic-inspector %{_bindir}/ironic-inspector-rootwrap %{_bindir}/ironic-inspector-dbsync +%{_bindir}/ironic-inspector-status %{_bindir}/ironic-inspector-migrate-data +%{_unitdir}/openstack-ironic-inspector.service +%attr(-,ironic-inspector,ironic-inspector) %{_sharedstatedir}/ironic-inspector +%attr(-,ironic-inspector,ironic-inspector) %{_sharedstatedir}/ironic-inspector/dhcp-hostsdir +%attr(-,ironic-inspector,ironic-inspector) %{_localstatedir}/log/ironic-inspector +%attr(-,ironic-inspector,ironic-inspector) %{_localstatedir}/log/ironic-inspector/ramdisk/ +%doc %{_mandir}/man8/ironic-inspector.8.gz +%exclude %{python3_sitelib}/%{modulename}_tests.egg-info -%files -n python3-ironic-inspector +%if 0%{?with_doc} +%files -n openstack-ironic-inspector-doc %license LICENSE -%{python3_sitelib}/ironic_inspector/ -%{python3_sitelib}/ironic_inspector*.egg-info +%doc CONTRIBUTING.rst doc/build/html +%endif -%files dnsmasq +%files -n openstack-ironic-inspector-dnsmasq %license LICENSE -%{_unitdir}/%{name}-dnsmasq.service +%{_unitdir}/openstack-ironic-inspector-dnsmasq.service -%files api +%files -n openstack-ironic-inspector-conductor +%license LICENSE +%{_bindir}/ironic-inspector-conductor +%{_unitdir}/openstack-ironic-inspector-conductor.service + +%files -n openstack-ironic-inspector-api %license LICENSE -%{_unitdir}/%{name}.service -%{_bindir}/ironic-inspector %{_bindir}/ironic-inspector-api-wsgi -%files conductor +%files -n python3-%{service}-tests %license LICENSE -%{_unitdir}/%{name}-conductor.service -%{_bindir}/ironic-inspector-conductor +%{python3_sitelib}/%{modulename}/test + +%pre +getent group ironic-inspector >/dev/null || groupadd -r ironic-inspector +getent passwd ironic-inspector >/dev/null || \ + useradd -r -g ironic-inspector -d %{_sharedstatedir}/ironic-inspector -s /sbin/nologin \ +-c "OpenStack Ironic Inspector Daemons" ironic-inspector +exit 0 + +%post +%systemd_post openstack-ironic-inspector.service + +%post -n openstack-ironic-inspector-dnsmasq +%systemd_post openstack-ironic-inspector-dnsmasq.service + +%post -n openstack-ironic-inspector-conductor +%systemd_post openstack-ironic-inspector-conductor.service + +%preun +%systemd_preun openstack-ironic-inspector.service + +%preun -n openstack-ironic-inspector-dnsmasq +%systemd_preun openstack-ironic-inspector-dnsmasq.service + +%preun -n openstack-ironic-inspector-conductor +%systemd_preun openstack-ironic-inspector-conductor.service + +%postun +%systemd_postun_with_restart openstack-ironic-inspector.service + +%postun -n openstack-ironic-inspector-dnsmasq +%systemd_postun_with_restart openstack-ironic-inspector-dnsmasq.service + +%postun -n openstack-ironic-inspector-conductor +%systemd_postun_with_restart openstack-ironic-inspector-conductor.service %changelog +* Mon Jul 26 2021 liksh 10.6.0-1 +- Update to 10.6.0 + * Mon Mar 15 2021 joec88 - 10.5.0-3 - Add inspector-dist.conf; Add config-file option to service @@ -283,3 +340,5 @@ exit 0 * Thu Feb 4 2021 wangxiyuan - 10.5.0-1 - Package init + + diff --git a/openstack-ironic-inspector.sudoers b/openstack-ironic-inspector.sudoers deleted file mode 100644 index 71fc2a0..0000000 --- a/openstack-ironic-inspector.sudoers +++ /dev/null @@ -1,2 +0,0 @@ -Defaults:ironic-inspector !requiretty -ironic-inspector ALL = (root) NOPASSWD: /usr/bin/ironic-inspector-rootwrap /etc/ironic-inspector/rootwrap.conf *