commit ba0e3b6d93756389e4ed31e69bf94912dee1051a Author: MSVSphere Packaging Team Date: Tue Nov 26 15:32:43 2024 +0300 import ansible-pcp-2.3.0-5.el10 diff --git a/.ansible-pcp.metadata b/.ansible-pcp.metadata new file mode 100644 index 0000000..cbf549d --- /dev/null +++ b/.ansible-pcp.metadata @@ -0,0 +1 @@ +d8813fc9c3ee048a2a7f69c7e4aed8012adb9802 SOURCES/ansible-pcp-2.3.0.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3613b24 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ansible-pcp-2.3.0.tar.gz diff --git a/SPECS/ansible-pcp.spec b/SPECS/ansible-pcp.spec new file mode 100644 index 0000000..ee49f4e --- /dev/null +++ b/SPECS/ansible-pcp.spec @@ -0,0 +1,205 @@ +Name: ansible-pcp +Version: 2.3.0 +Release: 5%{?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 +BuildArch: noarch + +%if %{defined rhel} +%global collection_namespace redhat +%global collection_name rhel_metrics +%global ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace} +%else +%global collection_namespace performancecopilot +%global collection_name metrics +%endif + +%if 0%{?rhel} >= 8 +Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0) +%endif + +%if 0%{?rhel} >= 9 +BuildRequires: ansible-core +%global ansible_collection_build ansible-galaxy collection build . +%global ansible_collection_install ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz +%endif + +%if %{defined fedora} +BuildRequires: ansible-packaging +BuildRequires: ansible-packaging-tests +# There's ansible-lint errors that need to be addressed +# BuildRequires: python3-ansible-lint +%endif + +%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: + +%{collection_namespace}.%{collection_name}.pcp +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. + +%{collection_namespace}.%{collection_name}.redis +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. + +%{collection_namespace}.%{collection_name}.grafana +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. + +%{collection_namespace}.%{collection_name}.bpftrace +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. + +%{collection_namespace}.%{collection_name}.elasticsearch +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 +%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 + +%build +# 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 %{defined rhel} && 0%{?rhel} <= 8 +tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz . +%else +%ansible_collection_build +%endif + +%install +%if %{defined rhel} && 0%{?rhel} <= 8 +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 +%else +%ansible_collection_install +%endif + +%check +# There's outstanding ansible-lint failures that need to be addressed. +# %%if %%{defined fedora} +%if 0 +ansible-lint `find roles -name \*.yml` +%endif + +%files +%doc README.md +%license LICENSE +%{ansible_collection_files} + +%changelog +* Tue Nov 26 2024 MSVSphere Packaging Team - 2.3.0-5 +- Rebuilt for MSVSphere 10 + +* Mon Jun 24 2024 Troy Dawson - 2.3.0-5 +- Bump release for June 2024 mass rebuild + +* Wed Jun 19 2024 Nathan Scott 2.3.0-4 +- Rebuild for c10s. + +* Mon Jan 22 2024 Fedora Release Engineering - 2.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Nov 28 2023 Nathan Scott 2.3.0-1 +- Latest upstream release + +* Wed Jul 19 2023 Fedora Release Engineering - 2.2.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Nathan Scott 2.2.9-1 +- Latest upstream release + +* Wed Jan 18 2023 Fedora Release Engineering - 2.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Nov 28 2022 Nathan Scott 2.2.8-1 +- Latest upstream release + +* Sat Nov 19 2022 Maxwell G - 2.2.7-2 +- BuildRequire ansible-packaging on Fedora +- Resolves: rhbz#2126889 +- Fix inverted conditionals and build/install the collection using ansible-galaxy +- Keep ansible-lint disabled for now +- Remove unnecessary macros +- Exclude files with galaxy.yml build_ignore + +* Fri Oct 28 2022 Nathan Scott 2.2.7-1 +- Latest upstream release + +* Wed Jul 20 2022 Fedora Release Engineering - 2.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 21 2022 Nathan Scott 2.2.5-1 +- Latest upstream release + +* Tue Feb 15 2022 Nathan Scott 2.2.4-3 +- RHEL8.6+, RHEL9+, Fedora - add "ansible-core or ansible" dep + +* Wed Jan 19 2022 Fedora Release Engineering - 2.2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 17 2021 Nathan Scott 2.2.4-1 +- Small fixes for bpftrace, mssql roles and tests +- RHEL9 - add "Requires: ansible-core" +- Latest upstream release + +* Fri Nov 12 2021 Nathan Scott 2.2.2-1 +- Correct the URL listed for this package (BZ 2001902) +- Latest upstream release + +* Thu Aug 26 2021 Nathan Scott 2.2.1-1 +- Latest upstream release + +* Wed Jul 21 2021 Fedora Release Engineering - 2.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 25 2021 Nathan Scott 2.1.4-1 +- Latest upstream release + +* Thu Jun 03 2021 Nathan Scott 2.1.3-1 +- Latest upstream release + +* Fri Feb 05 2021 Nathan Scott 2.1.2-1 +- Add RHEL macros to the spec alongside Fedora +- Latest upstream release + +* Tue Jan 26 2021 Fedora Release Engineering - 2.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Nov 11 2020 Nathan Scott 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 1.0.0-1 +- Initial RPM spec build