From 12a34710df8e5606a4b7c839c526387b047a524b Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Thu, 17 Sep 2026 17:39:46 -0400 Subject: [PATCH] Do not mark demotion ready before database checks --- plugins/postgresql/plugin.py | 5 ++++- tests/test-demote-prepare.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/postgresql/plugin.py b/plugins/postgresql/plugin.py index 041aed7..2ad372b 100644 --- a/plugins/postgresql/plugin.py +++ b/plugins/postgresql/plugin.py @@ -627,7 +627,9 @@ def demote_prepare(config, runtime_state, request_parameters): return { "ocf_rc": 0, - "ready": True, + "ready": False, + "identity_validated": True, + "reason": "database_checks_pending", "mutation": False, "node": node_name, "target_node": target_node, @@ -638,5 +640,6 @@ def demote_prepare(config, runtime_state, request_parameters): "local_target": True, "successor_selected": True, "postgresql_mutated": False, + "database_checks": False, }, } diff --git a/tests/test-demote-prepare.py b/tests/test-demote-prepare.py index d082ad5..e034a38 100755 --- a/tests/test-demote-prepare.py +++ b/tests/test-demote-prepare.py @@ -43,7 +43,10 @@ result = plugin.demote_prepare( ) assert result["ocf_rc"] == 0 -assert result["ready"] is True +assert result["ready"] is False +assert result["identity_validated"] is True +assert result["reason"] == "database_checks_pending" +assert result["checks"]["database_checks"] is False assert result["mutation"] is False assert result["successor_node"] == "david-prodesk" print("valid_prepare accepted")