@@ -468,10 +468,6 @@ def _on_peer_relation_changed(self, event: HookEvent):
468
468
if self .unit .is_leader () and not self ._reconfigure_cluster (event ):
469
469
event .defer ()
470
470
return
471
- #
472
- # if not self._validate_database_version(self._patroni.get_postgresql_version()):
473
- # self.unit.status = BlockedStatus(DIFFERENT_VERSIONS_PSQL_BLOCKING_MESSAGE)
474
- # return
475
471
476
472
if self ._update_member_ip ():
477
473
return
@@ -526,6 +522,8 @@ def _on_peer_relation_changed(self, event: HookEvent):
526
522
527
523
self ._update_new_unit_status ()
528
524
525
+ self ._validate_database_version ()
526
+
529
527
# Split off into separate function, because of complexity _on_peer_relation_changed
530
528
def _start_stop_pgbackrest_service (self , event : HookEvent ) -> None :
531
529
# Start or stop the pgBackRest TLS server service when TLS certificate change.
@@ -1584,15 +1582,17 @@ def client_relations(self) -> List[Relation]:
1584
1582
relations .append (relation )
1585
1583
return relations
1586
1584
1587
- def _validate_database_version (self , version : str ) -> bool :
1585
+ def _validate_database_version (self ) :
1588
1586
"""Checking that only one version of Postgres is used."""
1589
1587
peer_db_version = self .app_peer_data .get ("database-version" )
1590
1588
1591
1589
if self .unit .is_leader () and peer_db_version is None :
1592
- self .app_peer_data .update ({"database-version" : version })
1593
- return True
1590
+ self .app_peer_data .update ({"database-version" : self . _patroni . get_postgresql_version () })
1591
+ return
1594
1592
1595
- return peer_db_version == self ._patroni .get_postgresql_version ()
1593
+ if peer_db_version != self ._patroni .get_postgresql_version ():
1594
+ self .unit .status = BlockedStatus (DIFFERENT_VERSIONS_PSQL_BLOCKING_MESSAGE )
1595
+ return
1596
1596
1597
1597
1598
1598
if __name__ == "__main__" :
0 commit comments