Freeze HA scoring and document reported production failover
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
FROM registry.fedoraproject.org/fedora:43
|
||||
RUN dnf -y install rpm-build python3 resource-agents git tar gzip diffutils findutils \
|
||||
RUN dnf -y install rpm-build python3 resource-agents pacemaker-cli git tar gzip diffutils findutils \
|
||||
coreutils bash nodejs && dnf clean all
|
||||
|
||||
+14
-1
@@ -5,7 +5,7 @@ Fedora 43, matching the saved lab package context. The workstation currently
|
||||
reports Fedora 44; this first workflow does not claim a Fedora 44 build test.
|
||||
It runs on main pushes, pull requests and manual dispatch.
|
||||
|
||||
The build installs only the OCF executable and nine modules, plus documentation.
|
||||
The build installs only the OCF executable and nine shell modules, one Python state helper, plus documentation.
|
||||
It includes no Quadlet, secrets, databases or cluster configuration. There are
|
||||
no RPM lifecycle scriptlets. Installation does not start, stop or restart a
|
||||
service or change maintenance mode. Host PostgreSQL packages are not required.
|
||||
@@ -72,3 +72,16 @@ on Fedora 43). No package was installed on either lab host.
|
||||
The Gitea server reports 1.27.3. Its Actions API returned HTTP 401 without
|
||||
authentication, so a successful local build does not establish runner checkout
|
||||
or artifact upload success. Check the first run in the repository's Actions tab.
|
||||
|
||||
The promotion-scoring review candidate additionally requires pacemaker-cli
|
||||
2.1.0 or later. Its %check includes scoring and synthetic-CIB scheduler tests.
|
||||
See notes/PROMOTION-SCORING.md in the source checkout for the unresolved
|
||||
disconnected-standby policy; do not deploy the candidate from CI artifacts.
|
||||
|
||||
The disconnected candidate adds a runtime Python 3 dependency and advertises
|
||||
`disconnected_max_age` (default 300 seconds). See
|
||||
[the current policy](../notes/DISCONNECTED-STANDBY.md) before any installation.
|
||||
|
||||
Current operating policy and operator-reported production validation are packaged
|
||||
from `docs/`. The source freeze is distinct from verified deployed-byte identity;
|
||||
see [testing](../docs/testing.md) for production snapshot status.
|
||||
|
||||
@@ -20,6 +20,8 @@ BuildRequires: resource-agents
|
||||
BuildRequires: hostname
|
||||
BuildRequires: diffutils
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: pacemaker-cli >= 2.1.0
|
||||
Requires: python3
|
||||
Requires: bash
|
||||
Requires: /usr/lib/ocf/lib/heartbeat/ocf-shellfuncs
|
||||
Requires: podman
|
||||
@@ -31,6 +33,7 @@ Requires: coreutils
|
||||
Requires: gawk
|
||||
Requires: sed
|
||||
Requires: hostname
|
||||
Requires: pacemaker-cli >= 2.1.0
|
||||
|
||||
%description
|
||||
OCF agent managing PostgreSQL through a persistent rootless systemd/Quadlet
|
||||
@@ -48,22 +51,28 @@ cp packaging/README.md RPM-BUILD.md
|
||||
%install
|
||||
install -d %{buildroot}%{ocf_provider_dir}/managed-container.d
|
||||
install -m 0755 refactored/managed-container %{buildroot}%{ocf_provider_dir}/managed-container
|
||||
install -m 0644 refactored/managed-container.d/*.sh %{buildroot}%{ocf_provider_dir}/managed-container.d/
|
||||
install -m 0644 refactored/managed-container.d/*.sh refactored/managed-container.d/*.py %{buildroot}%{ocf_provider_dir}/managed-container.d/
|
||||
|
||||
%check
|
||||
python3 tests/verify_refactor.py
|
||||
python3 tests/test_promotion_scores.py
|
||||
python3 tests/test_promotion_scheduler.py
|
||||
python3 tests/test_promotion_cleanup.py
|
||||
python3 tests/test_disconnected_state.py
|
||||
# Check the actual staged layout, including resolution from an unrelated cwd.
|
||||
agent="%{buildroot}%{ocf_provider_dir}/managed-container"
|
||||
"$agent" meta-data > staged-metadata.xml
|
||||
reference/managed-container meta-data > reference-metadata.xml
|
||||
refactored/managed-container meta-data > reference-metadata.xml
|
||||
cmp reference-metadata.xml staged-metadata.xml
|
||||
(cd /tmp && "$agent" meta-data) > other-cwd-metadata.xml
|
||||
cmp reference-metadata.xml other-cwd-metadata.xml
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc README.md packaging/PROVENANCE.md RPM-BUILD.md
|
||||
%doc README.md packaging/PROVENANCE.md RPM-BUILD.md notes/PROMOTION-SCORING.md notes/DISCONNECTED-STANDBY.md
|
||||
%doc docs/operations.md docs/testing.md docs/review.md
|
||||
%dir %{ocf_provider_dir}
|
||||
%attr(0755,root,root) %{ocf_provider_dir}/managed-container
|
||||
%dir %{ocf_provider_dir}/managed-container.d
|
||||
%attr(0644,root,root) %{ocf_provider_dir}/managed-container.d/*.sh
|
||||
%attr(0644,root,root) %{ocf_provider_dir}/managed-container.d/*.py
|
||||
|
||||
Reference in New Issue
Block a user