ansible-pcp/ansible-pcp.spec

184 lines
6.0 KiB
RPMSpec
Raw Normal View History

Name: ansible-pcp
2022-10-28 02:52:04 +00:00
Version: 2.2.7
Release: 1%{?dist}
Summary: Ansible Metric collection for Performance Co-Pilot
License: MIT
URL: https://github.com/performancecopilot/ansible-pcp
Source: https://github.com/performancecopilot/ansible-pcp/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-build_ignore-unnecessary-files.patch
BuildArch: noarch
2021-06-03 04:39:43 +00:00
%if 0%{?rhel}
2021-02-05 06:25:03 +00:00
%global collection_namespace redhat
%global collection_name rhel_metrics
2021-06-03 04:39:43 +00:00
%else
%global collection_namespace performancecopilot
%global collection_name metrics
2021-02-05 06:25:03 +00:00
%endif
2020-11-11 19:24:33 +00:00
%if 0%{?rhel} >= 8
Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0)
%endif
2020-11-11 19:24:33 +00:00
# NOTE: Even though ansible-core is in 8.6, it is only available
# at *runtime*, not at *buildtime* - so we can't have
# ansible-core as a build_dep on RHEL8
%if 0%{?fedora} || 0%{?rhel} >= 9
%global have_ansible 0
%global ansible_build_dep ansible-core >= 2.11.0
%else
%if 0%{?rhel} && ! 0%{?epel}
%global have_ansible 1
%else
%global have_ansible 0
%global ansible_build_dep ansible >= 2.9.10
%endif
%endif
%if %{have_ansible}
BuildRequires: %{ansible_build_dep}
# package has been removed from RHEL9
2021-12-17 04:37:37 +00:00
%if 0%{?rhel} >= 9
%global have_ansible_lint 0
%else
%global have_ansible_lint 1
%endif
%else
%global have_ansible_lint 0
%global ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}
2021-12-17 04:37:37 +00:00
%endif
%if %{have_ansible_lint}
2020-11-11 19:24:33 +00:00
BuildRequires: python3-ansible-lint
2021-06-03 04:39:43 +00:00
%endif
2020-11-11 19:24:33 +00:00
%description
A collection containing roles for Performance Co-Pilot (PCP) and related
software such as Redis and Grafana. The collection is made up of several
Ansible roles, including:
2021-02-05 06:25:03 +00:00
%{collection_namespace}.%{collection_name}.pcp
2020-11-11 19:24:33 +00:00
A role for core PCP capabilities, configuring live performance analysis
with a large base set of metrics from the kernel and system services, as
well as data recording and rule inference.
2021-02-05 06:25:03 +00:00
%{collection_namespace}.%{collection_name}.redis
2020-11-11 19:24:33 +00:00
A role for configuring a local Redis server, suitable for use with a
Performance Co-Pilot archive repository (for single or many hosts) and
fast, scalable querying of metrics.
2021-02-05 06:25:03 +00:00
%{collection_namespace}.%{collection_name}.grafana
2020-11-11 19:24:33 +00:00
A role for configuring a local Grafana server, providing web frontend
visuals for Performance Co-Pilot metrics, both live and historically.
Data sources for Vector (live), Redis (historical) and interactive
bpftrace (eBPF) scripts can be configured by this role. The PCP REST
API service (from the core pcp role) should be configured in order to
use this role.
2021-02-05 06:25:03 +00:00
%{collection_namespace}.%{collection_name}.bpftrace
2020-11-11 19:24:33 +00:00
A role that extends the core PCP role, providing metrics from bpftrace
scripts using Linux eBPF facilities. Configuring authentication of a
local user capable of running bpftrace scripts via the PCP agent is a
key task of this role.
2021-02-05 06:25:03 +00:00
%{collection_namespace}.%{collection_name}.elasticsearch
2020-11-11 19:24:33 +00:00
A role that extends the core PCP role, providing metrics from a live
ElasticSearch instance for PCP analysis or exporting of PCP metric
values (and metadata) to ElasticSearch for the indexing and querying
of performance data.
%prep
%autosetup -p1
2021-06-03 04:39:43 +00:00
%if 0%{?rhel}
rm -vr roles/repository tests/*repository* tests/*/*repository* docs/repository
%endif
sed -i \
-e 's/^name: .*/name: %{collection_name}/g' \
-e 's/^namespace: .*/namespace: %{collection_namespace}/g' \
galaxy.yml
find . -name \*.yml -o -name \*.md | while read file; do
sed -i \
-e 's/performancecopilot.metrics/%{collection_namespace}.%{collection_name}/g' \
$file
done
2020-11-11 19:24:33 +00:00
%build
%if %{have_ansible}
2020-11-11 19:24:33 +00:00
%ansible_collection_build
%else
tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz .
%endif
2020-11-11 19:24:33 +00:00
%install
%if %{have_ansible}
2020-11-11 19:24:33 +00:00
%ansible_collection_install
%else
mkdir -p %{buildroot}%{ansible_collection_files}/%{collection_name}
cd %{buildroot}%{ansible_collection_files}/%{collection_name}
tar -xf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz
%endif
2020-11-11 19:24:33 +00:00
%check
2021-06-03 04:39:43 +00:00
mv yamllint.yml .yamllint.yml
mv yamllint_defaults.yml .yamllint_defaults.yml
%if %{have_ansible_lint}
2020-11-11 19:24:33 +00:00
ansible-lint `find roles -name \*.yml`
2021-06-03 04:39:43 +00:00
%endif
2020-11-11 19:24:33 +00:00
%files
%doc README.md
%license LICENSE
%{ansible_collection_files}
%changelog
2022-10-28 02:52:04 +00:00
* Fri Oct 28 2022 Nathan Scott <nathans@redhat.com> 2.2.7-1
- Latest upstream release
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
2022-04-21 06:58:31 +00:00
* Thu Apr 21 2022 Nathan Scott <nathans@redhat.com> 2.2.5-1
- Latest upstream release
* Tue Feb 15 2022 Nathan Scott <nathans@redhat.com> 2.2.4-3
- RHEL8.6+, RHEL9+, Fedora - add "ansible-core or ansible" dep
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2021-12-17 04:37:37 +00:00
* Fri Dec 17 2021 Nathan Scott <nathans@redhat.com> 2.2.4-1
- Small fixes for bpftrace, mssql roles and tests
- RHEL9 - add "Requires: ansible-core"
- Latest upstream release
2021-11-12 04:36:00 +00:00
* Fri Nov 12 2021 Nathan Scott <nathans@redhat.com> 2.2.2-1
- Correct the URL listed for this package (BZ 2001902)
2021-11-12 04:36:00 +00:00
- Latest upstream release
2021-08-26 11:39:58 +00:00
* Thu Aug 26 2021 Nathan Scott <nathans@redhat.com> 2.2.1-1
- Latest upstream release
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2021-06-25 08:13:57 +00:00
* Fri Jun 25 2021 Nathan Scott <nathans@redhat.com> 2.1.4-1
- Latest upstream release
2021-06-03 04:39:43 +00:00
* Thu Jun 03 2021 Nathan Scott <nathans@redhat.com> 2.1.3-1
- Latest upstream release
2021-02-05 06:25:03 +00:00
* Fri Feb 05 2021 Nathan Scott <nathans@redhat.com> 2.1.2-1
- Add RHEL macros to the spec alongside Fedora
- Latest upstream release
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2020-11-11 19:24:33 +00:00
* Wed Nov 11 2020 Nathan Scott <nathans@redhat.com> 2.0.3-1
- Updated for new version with changed namespace
- Ansible collection macros now used in the spec
- Added ansible-lint checking in %%check section
* Fri Oct 23 2020 Nathan Scott <nathans@redhat.com> 1.0.0-1
- Initial RPM spec build