Freeze lab-tested PostgreSQL plugin engine
Extract PostgreSQL, Podman runtime and systemd lifecycle adapters while preserving existing lifecycle and scoring behavior. Update RPM layout and add guarded operator-run lab harnesses. Record successful manual stop/start, promotion, demotion and rewind-only rejoin with pinned installed hashes. The unfenced lab does not validate automatic failover, Pacemaker-managed transitions or divergent-data rewind. Validation: 103 offline tests, original-function differential checks, checksum manifest and whitespace checks passed.
This commit is contained in:
@@ -51,7 +51,11 @@ 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 refactored/managed-container.d/*.py %{buildroot}%{ocf_provider_dir}/managed-container.d/
|
||||
for subdir in . applications/postgresql lifecycles runtimes; do
|
||||
install -d %{buildroot}%{ocf_provider_dir}/managed-container.d/$subdir
|
||||
install -m 0644 refactored/managed-container.d/$subdir/*.sh %{buildroot}%{ocf_provider_dir}/managed-container.d/$subdir/
|
||||
done
|
||||
install -m 0644 refactored/managed-container.d/applications/postgresql/promotion_state.py %{buildroot}%{ocf_provider_dir}/managed-container.d/applications/postgresql/
|
||||
|
||||
%check
|
||||
python3 tests/verify_refactor.py
|
||||
@@ -59,6 +63,7 @@ python3 tests/test_promotion_scores.py
|
||||
python3 tests/test_promotion_scheduler.py
|
||||
python3 tests/test_promotion_cleanup.py
|
||||
python3 tests/test_disconnected_state.py
|
||||
python3 tests/test_plugin_engine.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
|
||||
@@ -70,9 +75,16 @@ cmp reference-metadata.xml other-cwd-metadata.xml
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%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
|
||||
%doc docs/operations.md docs/testing.md docs/review.md docs/plugin-engine.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
|
||||
%dir %{ocf_provider_dir}/managed-container.d/applications
|
||||
%dir %{ocf_provider_dir}/managed-container.d/applications/postgresql
|
||||
%dir %{ocf_provider_dir}/managed-container.d/lifecycles
|
||||
%dir %{ocf_provider_dir}/managed-container.d/runtimes
|
||||
%attr(0644,root,root) %{ocf_provider_dir}/managed-container.d/applications/postgresql/*.sh
|
||||
%attr(0644,root,root) %{ocf_provider_dir}/managed-container.d/applications/postgresql/*.py
|
||||
%attr(0644,root,root) %{ocf_provider_dir}/managed-container.d/lifecycles/*.sh
|
||||
%attr(0644,root,root) %{ocf_provider_dir}/managed-container.d/runtimes/*.sh
|
||||
|
||||
Reference in New Issue
Block a user