Compare commits

..

2 commits

Author SHA1 Message Date
Troy Dawson
ead2d1da00 epel8-playground decommissioned : https://pagure.io/epel/issue/136 2022-01-31 09:36:45 -08:00
David Duncan
b74e2464e9 Revert "Add BuildRequires: make"
This reverts commit 18e0081bef.
2021-01-20 14:56:50 +00:00
9 changed files with 1 additions and 427 deletions

7
.gitignore vendored
View file

@ -1,7 +0,0 @@
/ec2-hibinit-agent-1.0.3.tar.gz
/ec2-hibinit-agent-1.0.4.tar.gz
*.~undo-tree~
amazon-ec2-hibinit-agent.spec
/ec2-hibinit-agent-1.0.5.tar.gz
/ec2-hibinit-agent-1.0.8.tar.gz
/ec2-hibinit-agent-1.0.9.tar.gz

View file

@ -1,42 +0,0 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
upstream_project_url: https://github.com/aws/amazon-ec2-hibinit-agent
upstream_tag_template: v{version}
upstream_package_name: amazon-ec2-hibinit-agent
downstream_package_name: ec2-hibinit-agent
jobs:
- job: pull_from_upstream
trigger: release
# Keeping dist-git branches non-divergent
# Requirs manual local merge from rawhide to stable release branches
# https://packit.dev/docs/fedora-releases-guide#keeping-dist-git-branches-non-divergent
dist_git_branches:
- fedora-rawhide
- job: koji_build
trigger: commit
allowed_pr_authors:
- packit
- all_admins
- all_committers
- '@cloud-sig' # string with @ needs quotes to be valid yaml
allowed_committers:
- all_admins
- all_committers
- '@cloud-sig' # string with @ needs quotes to be valid yaml
dist_git_branches:
- fedora-all
- epel-all
- job: bodhi_update
trigger: commit
allowed_builders:
- packit
- all_admins
- all_committers
- '@cloud-sig' # string with @ needs quotes to be valid yaml
dist_git_branches:
- fedora-branched # rawhide updates are created automatically
- epel-all

View file

@ -1,54 +0,0 @@
From f75434659a731ebdfc259990eb37777700900ea2 Mon Sep 17 00:00:00 2001
From: Dominik Wombacher <dominik@wombacher.cc>
Date: Thu, 7 Nov 2024 15:27:03 +0000
Subject: [PATCH 1/1] fix(rhel): Swapon with maximum priority before
hibernation
Apply swapon high priority related changes from /acpid.sleep.sh to /packaging/rhel/acpid.sleep.sh
Refs: https://github.com/aws/amazon-ec2-hibinit-agent/commit/a2303d269610a6e7415c5045766da605eaa7e30f
---
packaging/rhel/acpid.sleep.sh | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/packaging/rhel/acpid.sleep.sh b/packaging/rhel/acpid.sleep.sh
index ca3db22..9b381f9 100755
--- a/packaging/rhel/acpid.sleep.sh
+++ b/packaging/rhel/acpid.sleep.sh
@@ -3,11 +3,14 @@
PATH=/sbin:/bin:/usr/bin
failed='false'
+# Hibernation selects the swapfile with highest priority. Since there may be
+# other swapfiles configured, ensure /swap is selected as hibernation
+# target by setting to maximum priority.
+swap_priority=32767
+
hibernate()
{
- swapon /swap
- systemctl hibernate
-
+ swapon --priority=$swap_priority /swap && systemctl hibernate
if [ $? -ne 0 ]
then
logger "Hibernation failed, Sleeping 2 mins before retry"
@@ -15,6 +18,7 @@ hibernate()
else
failed='false'
fi
+ swapoff /swap
}
case "$2" in
@@ -26,6 +30,7 @@ case "$2" in
hibernate
if [ $failed == 'true' ];
then
+ swapoff /swap
sleep 2m
else
break
--
2.47.0

View file

@ -1,59 +0,0 @@
From 0197c7173a5ad1470060862a0be96b9a976bdf49 Mon Sep 17 00:00:00 2001
From: Frank Liang <xiliang@redhat.com>
Date: Thu, 2 Jan 2025 22:28:12 +0800
Subject: [PATCH] rhel: fix swapoff breaks hibernate process
hibernate() always calling swapoff breaks hibernation process.
The hibernation wont continue if call swapoff too fast in rhel or amazon
linux.
"swapon --priority=32767 /swap && systemctl hibernate ;echo $?; swapoff /swap"
Signed-off-by: Frank Liang <xiliang@redhat.com>
---
packaging/rhel/acpid.sleep.sh | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/packaging/rhel/acpid.sleep.sh b/packaging/rhel/acpid.sleep.sh
index 9b381f9..1e55b51 100755
--- a/packaging/rhel/acpid.sleep.sh
+++ b/packaging/rhel/acpid.sleep.sh
@@ -11,29 +11,24 @@ swap_priority=32767
hibernate()
{
swapon --priority=$swap_priority /swap && systemctl hibernate
- if [ $? -ne 0 ]
- then
+ if [ $? -ne 0 ]; then
logger "Hibernation failed, Sleeping 2 mins before retry"
failed='true'
+ swapoff /swap
+ sleep 2m
else
failed='false'
fi
- swapoff /swap
}
case "$2" in
SBTN)
# The iteration had been placed here to add retry logic to hibernation
# in case of failures and to avoid force stop of instances after 20min
- for i in 1 2 3
- do
+ for i in 1 2 3; do
hibernate
- if [ $failed == 'true' ];
- then
- swapoff /swap
- sleep 2m
- else
- break
+ if [ $failed == 'false' ]; then
+ break
fi
done
;;
--
2.48.1

View file

@ -1,3 +0,0 @@
# ec2-hibinit-agent
The Amazon Linux hibernation agent

View file

@ -1,3 +0,0 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.97.1.post1.dev4+g1268842e.

1
dead.package Normal file
View file

@ -0,0 +1 @@
epel8-playground decommissioned : https://pagure.io/epel/issue/136

View file

@ -1,258 +0,0 @@
%{?python_enable_dependency_generator}
%global modulenames ec2hibernatepolicy
%global selinuxtype targeted
%global moduletype services
%global project amazon-ec2-hibinit-agent
# Usage: _format var format
# Expand 'modulenames' into various formats as needed
# Format must contain '$x' somewhere to do anything useful
%global _format() export %1=""; for x in %{modulenames}; do %1+=%2; %1+=" "; done;
Name: ec2-hibinit-agent
Version: 1.0.9
Release: 8%{?dist}
Summary: Hibernation setup utility for Amazon EC2
License: Apache-2.0
URL: https://github.com/aws/amazon-%{name}
Source0: https://github.com/aws/%{project}/archive/v%{version}/%{name}-%{version}.tar.gz
# Ensure swapon with maximum priority before hibernation
# Upstream Patch: https://github.com/aws/amazon-ec2-hibinit-agent/pull/49)
Patch1: 0001-swapon-with-maximum-priority-before-hibernation.patch
Patch2: 0002-rhel-fix-swapoff-breaks-hibernate-process.patch
BuildArch: noarch
BuildRequires: make
BuildRequires: systemd-rpm-macros
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: selinux-policy
BuildRequires: selinux-policy-devel
%{?selinux_requires}
Requires: acpid
Requires: grubby
Requires: systemd
Requires: tuned
%description
An EC2 agent that creates a setup for instance hibernation
%prep
%autosetup -p1 -n %{project}-%{version}
# Fix build with setuptools 62.1
# https://github.com/aws/amazon-ec2-hibinit-agent/issues/24
sed -i "20i packages=[]," setup.py
%build
%py3_build
# Makefile generates pp.bz2 from .tt file.
# Generating tt file https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/security-enhanced_linux-the-sepolicy-suite-sepolicy_generate
make -C %{_builddir}/%{project}-%{version}/packaging/rhel/ec2hibernatepolicy
%install
%py3_install
mkdir -p %{buildroot}%{python3_sitelib}
mkdir -p "%{buildroot}%{_unitdir}"
mkdir -p %{buildroot}%{_sysconfdir}/acpi/events
mkdir -p %{buildroot}%{_sharedstatedir}/hibinit-agent
mkdir -p %{buildroot}%{_sysconfdir}/acpi/actions
install -p -m 644 "%{_builddir}/%{project}-%{version}/hibinit-agent.service" %{buildroot}%{_unitdir}
install -p -m 644 "%{_builddir}/%{project}-%{version}/acpid.sleep.conf" %{buildroot}%{_sysconfdir}/acpi/events/sleepconf
mkdir -p %{buildroot}%{_prefix}/lib/systemd/logind.conf.d
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep
install -p -m 644 "%{_builddir}/%{project}-%{version}/etc/hibinit-config.cfg" %{buildroot}/%{_sysconfdir}/hibinit-config.cfg
install -p -m 644 "%{_builddir}/%{project}-%{version}/packaging/rhel/00-hibinit-agent.conf" %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/00-hibinit-agent.conf
install -p -m 755 "%{_builddir}/%{project}-%{version}/packaging/rhel/acpid.sleep.sh" %{buildroot}%{_sysconfdir}/acpi/actions/sleep.sh
install -p -m 755 "%{_builddir}/%{project}-%{version}/packaging/rhel/sleep-handler.sh" %{buildroot}%{_prefix}/lib/systemd/system-sleep/sleep-handler.sh
#Disable transparent huge page
mkdir -p %{buildroot}%{_sysconfdir}/tuned/nothp_profile
install -p -m 644 "%{_builddir}/%{project}-%{version}/packaging/rhel/tuned.conf" %{buildroot}%{_sysconfdir}/tuned/nothp_profile/tuned.conf
# Install policy modules
%_format MODULES $x.pp.bz2
install -d %{buildroot}%{_datadir}/selinux/packages
install -m 0644 %{_builddir}/%{project}-%{version}/packaging/rhel/ec2hibernatepolicy/$MODULES \
%{buildroot}%{_datadir}/selinux/packages
%files
%doc README.md
%license LICENSE.txt
%config(noreplace) %{_sysconfdir}/hibinit-config.cfg
%{_unitdir}/hibinit-agent.service
%{_bindir}/hibinit-agent
%config(noreplace) %{_sysconfdir}/acpi/events/sleepconf
%config(noreplace) %{_sysconfdir}/acpi/actions/sleep.sh
%{python3_sitelib}/ec2_hibinit_agent-*.egg-info/
%dir %{_sharedstatedir}/hibinit-agent
%ghost %attr(0600,root,root) %{_sharedstatedir}/hibinit-agent/hibernation-enabled
%dir %{_prefix}/lib/systemd/logind.conf.d
%dir %{_prefix}/lib/systemd/system-sleep
%dir %{_sysconfdir}/tuned/nothp_profile
%config(noreplace) %{_sysconfdir}/tuned/nothp_profile/tuned.conf
%{_prefix}/lib/systemd/system-sleep/sleep-handler.sh
%{_prefix}/lib/systemd/logind.conf.d/00-hibinit-agent.conf
%attr(0644,root,root) %{_datadir}/selinux/packages/*.pp.bz2
%pre
%selinux_relabel_pre -s %{selinuxtype}
%post
%systemd_post hibinit-agent.service
#
# Install all modules in a single transaction
#
%_format MODULES %{_datadir}/selinux/packages/$x.pp.bz2
%selinux_modules_install -s %{selinuxtype} $MODULES
#
# Disable THP by switching to nothp_profile profile
#
tuned-adm profile nothp_profile
%preun
%systemd_preun hibinit-agent.service
%postun
%systemd_postun_with_restart hibinit-agent.service
#
# Enable THP
#
tuned-adm profile virtual-guest
# https://fedoraproject.org/wiki/SELinux/IndependentPolicy
if [ $1 -eq 0 ]; then
%selinux_modules_uninstall -s %{selinuxtype} $MODULES
fi
%posttrans
%selinux_relabel_post -s %{selinuxtype}
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 1.0.9-7
- Rebuilt for Python 3.14
* Tue Mar 18 2025 Frank Liang <xiliang@redhat.com> - 1.0.9-6
- Include upstream Patch to fix swapoff breaks hibernate process
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Nov 08 2024 Dominik Wombacher <dominik@wombacher.cc> - 1.0.9-4
- Include upstream Patch to ensure swapon with maximum priority before hibernation
- Resolves rhbz#2322884
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.0.9-2
- Rebuilt for Python 3.13
* Sun Jun 02 2024 Packit <hello@packit.dev> - 1.0.9-1
- Update to version 1.0.9
* Mon Apr 8 2024 Dominik Wombacher <dominik@wombacher.cc> - 1.0.8-1
- Update to 1.0.8
- migrated to SPDX license
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 1.0.5-2
- Rebuilt for Python 3.12
* Tue Apr 25 2023 David Duncan <<davdunc@amazon.com>> - 1.0.5-1
- Ensure we swapon the hibinit swapfile with the highest priority
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 21 2022 Lumír Balhar <lbalhar@redhat.com> - 1.0.4-5
- Fix compatibility with newer setuptools
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 1.0.4-4
- Rebuilt for Python 3.11
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jul 01 2021 David Duncan <davdunc@amazon.com> - 1.0.4-1
- Update to v1.0.4
* Sat Jun 05 2021 Python Maint <python-maint@redhat.com> - 1.0.3-8
- Rebuilt for Python 3.10
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.0.3-7
- Rebuilt for Python 3.10
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.3-6
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 21 17:27:18 UTC 2021 David Duncan <davdunc@amazon.com> - 1.0.3-4
- Add BuildRequires: make, FESCo issue: #2500
* Tue Nov 03 2020 Mohamed Aboubakr <mabouba@amazon.com> - 1.0.3-3
- Moving selinux folder in packaging directory.
- Use make file to generate .pp.bz2 file
* Fri Oct 02 2020 David Duncan <davdunc@amazon.com> - 1.0.3-2
- Modify Spec for build requirements
* Thu Aug 13 2020 Mohamed Aboubakr <mabouba@amazon.com> - 1.0.3-1
- Support Redhat and Fedora by adding sepolicy
- Ignore handle hibernation in systemd configuration
* Fri Jan 24 2020 Frederick Lefebvre <fredlef@amazon.com> - 1.0.1-2
- Restart the hibinit-agent service on upgrade
* Thu Jan 23 2020 Frederick Lefebvre <fredlef@amazon.com> - 1.0.1-1
- Added IMDSv2 support
- Renamed spec file to match the actual package name
* Fri Jun 14 2019 Anchal Agarwal <anchalag@amazon.com> - 1.0.0-4
- Added hibernation re-try logic in case of hibernation failure
* Wed Nov 07 2018 Matt Dees <mattdees@amazon.com> - 1.0.0-2
- Clean up hibernation configured check
* Wed Oct 31 2018 Anchal Agarwal <anchalag@amazon.com> - 1.0.0-1
- Initial build

View file

@ -1 +0,0 @@
SHA512 (ec2-hibinit-agent-1.0.9.tar.gz) = a056f3cf19775f1dca2079bf810d3a73cb0ddd4ad9de585e5878b5061683fc271577c02cf85a4332510f9e958bc84180a0a559a2f3f5de6c215002336b31f155