Skip to content

Conversation

@Gere321123
Copy link
Contributor

Issue

I saw that the unitest only covers 16% of the async_replication.py file, so I added a few more now it's 45% (I can add more).

I would like to practice on a larger project and if you can tell me a smaller bug I would be happy to look into it. I am currently looking for a job and I think this is a good experience for me.

@dragomirp dragomirp requested review from a team, dragomirp, marceloneppel and taurus-forever and removed request for a team July 10, 2025 11:37
@taurus-forever
Copy link
Contributor

Dear @Gere321123

Thank you for your first contribution!
JFYI, we are on the final approach for PostgreSQL 16 stable release (branch 16/edge),
therefor PostgreSQL 14 (branch main) has less focus nowadays.
Still we are eager to merge this PR once PG16 is out!

Looking forward to hear your feedback and feel free to send us more PRs! 👍

@Gere321123
Copy link
Contributor Author

Any way, I think unit tests are useful for you, but if you can point out a minor bug or another repository that is more current, I would be happy to help with that too.

@taurus-forever
Copy link
Contributor

Any way, I think unit tests are useful for you, but if you can point out a minor bug or another repository that is more current, I would be happy to help with that too.

You can continue covering code with tests. Good job done!
Otherwise please check GH Issues labeled as "good first issue".
Sure we can find an advanced topic if you are ready to dive into!

@Gere321123
Copy link
Contributor Author

Okay

I gonna continue this to 70-80% after that I gonna pick a issue and try to solve it :D

( I gonna need a little more experience for the advance topic but I will have experience later )

@dragomirp
Copy link
Contributor

Hi, @Gere321123, thank you for your contribution. You can check the replication unit tests for the K8s Postgresql charm, as an example doing mostly the same thing.

@Gere321123
Copy link
Contributor Author

Okay I'm 64% and I'm going to try to fix that bug now (I was new to Mocking and I wouldn't call myself a pro, but it was a good experience). Later I'll go to a C++ project.

Also, if anyone knows a place that is looking for a hardworking master student, and could tell me about it, I'd be very happy.

Copy link
Member

@marceloneppel marceloneppel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, @Gere321123!

Thank you so much for the great contribution. You covered several cases in this PR.

I commented about minor things only.

relation = PostgreSQLAsyncReplication(mock_charm)
assert relation._can_promote_cluster(mock_event) is True

# 4.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I liked your descriptions before the previous checks. I'd like to see one here too.

Copy link
Contributor

@dragomirp dragomirp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution. Added a few comments.


def test_can_promote_cluster():
# 1. Test when cluster is not initialized
mock_charm = MagicMock()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency with all the other tests, it is better to create the test charm using a harness fixture, like here, then patch out the attributes as necessary in the individual test cases.

@@ -0,0 +1,880 @@
# Copyright 2024 Canonical Ltd.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, update the year to 2025.

# Copyright 2024 Canonical Ltd.
# See LICENSE file for licensing details.

# import json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, remove commented out code.

@taurus-forever
Copy link
Contributor

@Gere321123 we would like to have your contribution merged to the codebase, are you still interested?
Thank you in advance!

@Gere321123
Copy link
Contributor Author

Okay I can modify my test by tomorrow evening.

I'm a little bit busy now but I can fix this smaller issues

See you guys tomorrow :D

@Gere321123
Copy link
Contributor Author

Hi

I fix the smaller issues that was mentioned (most of it).

It was a joy and a good experience.

If you need something write me, but now I'm gonna be a little busy.

Copy link
Contributor

@taurus-forever taurus-forever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marceloneppel @dragomirp
I think it is a good state to merge it. please share your review and merge. tnx!

@dragomirp
Copy link
Contributor

Synced with main to get interim fixes.

Copy link
Member

@marceloneppel marceloneppel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for the contribution, @Gere321123!

@taurus-forever taurus-forever merged commit 848d15b into canonical:main Aug 5, 2025
1439 of 1476 checks passed
@taurus-forever
Copy link
Contributor

@Gere321123 your first contribution to the Charmed PostgreSQL project has been officially merged!
Well done! Do not hesitate to continue contributing us. ;-)

dragomirp added a commit that referenced this pull request Oct 16, 2025
* [MISC] Use latest/stable lxd (#804)

* Use latest stable lxd

* Test tweaks

* Test tweaks

* Update canonical/data-platform-workflows action to v31.0.1 (#805)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6874] Poll all members in the cluster topology script (#810)

* Poll all members in the cluster topology script

* Dual branch config

* Unit tests and bugfixes

* Add peers when starting the observer

* Retry sync up checks

* [DPE-6572] Add wal_keep_size config option (#799)

* Add wal_keep_size config option

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove parameter addition

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reset durability_wal_keep_size value to PG default

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Create pull_request_template.md (#814)

* Create SECURITY.md (#822)

* Update README file's security section (#827)

* Refactor headings for syntax best practice

* Update the Security section

* Sync docs from Discourse (#796)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Conditional checksum calculation (#812)

* Bump boto

* Conditional checksum calculation

* [DPE-6218] Static code analysis (#828)

* Create tiobe_scan.yaml

* Remove push trigger

* [MISC] Disable landscape subordinate test lxd (#831)

* Set series for ubuntu-advantage test and disable the landscape test

* Revert to LTS LXD

* Update charmcraft.yaml build tools (#815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Update snapped PostgreSQL (#832)

* [DPE-6345] LDAP I: Create access groups (#823)

* [DPE-6345] LDAP II: Include charm libs (#824)

* [DPE-6345] LDAP III: Define config and handlers (#825)

* [DPE-6345] LDAP IV: Define snap service (#838)

* [DPE-6345] LDAP V: Define mapping option (#849)

* [MISC] Disable network cut tests on arm (#844)

* Disable network cut tests on arm

* Back to LXD 5

* [DPE-6815] disable pgaudit during extensions changes (#842)

* disable pgaudit during extensions changes

* Bump libs

* Lock file maintenance Python dependencies (main) (#816)

* Lock file maintenance Python dependencies

* Fix linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Update dependency uv to v0.6.16 (#847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6664] Make username mandatory in set-password (#846)

* Make username mandatory

* Second get password method

* Default in get-password

* Add conditional expose directive (#853)

* Lock file maintenance Python dependencies (#854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Mandatory scope for promote action (#856)

* Update charmcraft.yaml build tools (#860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#861)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Sync docs from Discourse (#850)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Extend relation-user listing syntax (#868)

* Sync libs (#884)

* Remove runner password (#913)

* [DPE-6898] User->databases pg_hba rules (#885)

* Restrict each user to their allowed databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix sync users on replicas

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add default landscape user permission

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in pg_hba test, fix user->database mapping for upgrade from stable and skip event trigger function code when not a superuser

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improve users list check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix raft reinitialisation in tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Decrease the amount of API calls by one

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check users list directly

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Tweak test fast interval

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvements to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix linting

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update charmcraft.yaml build tools (#871)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Remove JujuVersion warning in 14/edge (#933)

* Remove JujuVersion warning

* Update libs

* Refactor v14 documentation for Sphinx (#919)

* initial starter pack transfer
* update conf.py
* import processed discourse pages
* fix internal references and some broken URLs
* fix some style errors
* organize navigation
* remove h1 heading anchors
* add images to repository
* edit home page
* update .readthedocs.yaml
* remove docs/requirements.txt from .gitignore scope
* fix incorrect paths
* remove shell syntax from code blocks
* remove juju 2 banners
* fix dropdown formatting
* fix and polish admonitions, collapsible, and misc formatting
* remove v16 docs
* remove reference to nonexistant page
* Join all tutorial pages
* rename how-to-guides to how-to
* polish cloud deployment guides and rename leftover how-to-guide references
* polish and sync how-to guides with k8s
* remove discourse sync workflow
* specify channel on all deploy commands
* misc polishing, add version to side nav
* add pg 16 admonitions
* ignore docs folder in charm workflows
* sync misc. pages with k8s
* Minor README update with new documentation link
* add new section to CLI-helpers reference
* pin commit for v16 tag on markdown lint workflow for added security
* Update README.md
* remove sphinx python dependency check workflow
* Update index.md: add link to roles.md (#928)

---------

Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>

* [DPE-7511] Fix the auth username pattern (#941)

* Fix auth username pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix another ocurrence of the pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update PG to 14.18 (#943)

* [DPE-7521] Fix HBA rules for Landscape related through PgBouncer (#946)

* Fix HBA rules for Landscape related through PgBouncer

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update comment

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Order users and databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add unit test for relations_user_databases_map property

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix typo

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-6662 Fix pgbackrest logs names on logs rotation (#939) (#949)

The pgBackRest activity (backup creation, stanza initialisation, etc) could take minutes,
as a result every minute logs rotation could move the current log A.log to A.log_$date.log
and will be moved further as logrorate rule operates all *.log files in the folder:

> /var/snap/charmed-postgresql/common/var/log/pgbackrest/*.log { ...

It results in:

-rw------- 1 postgres postgres     0 Feb 18 09:25 all-server.log
-rw------- 1 postgres postgres     0 Feb 18 09:19 all-server.log-20250218_09:18.log
-rw------- 1 postgres postgres     0 Feb 18 09:20 all-server.log-20250218_09:18.log-20250218_09:19.log
-rw------- 1 postgres postgres     0 Feb 18 09:21 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log
-rw------- 1 postgres postgres     0 Feb 18 09:22 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log
-rw------- 1 postgres postgres     0 Feb 18 09:23 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log
-rw------- 1 postgres postgres  1793 Feb 18 09:24 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log-20250218_09:23.log

The poposed fix:
 * move the log file to the new name without .log suffix.
 * use datetime format matching MySQL charms

Example:

-rw------- 1 postgres postgres    12 Feb 18 09:28 all-server.log
-rw------- 1 postgres postgres   322 Feb 18 09:29 all-server.log-20250218_0918
-rw------- 1 postgres postgres  7344 Feb 18 09:30 all-server.log-20250218_0918

(cherry picked from commit ffa77b2)

* Update Python dependencies (#904)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v31.1.1 (#872)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add redirects for all charmhub pages (14) (#961)

* feat: add rediraffe sphinx extension and discourse redirects for each page

* convert tabs to single space

* fix: minor style issues in README.md and CONTRIBUTING.md

* comment out old redirect extension to avoid confusion

* Update dependency requests to v2.32.4 [SECURITY] (#956)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Backport #959 to 14/edge (#963)

* Lock file maintenance Python dependencies (#874)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add forward slash to redirect paths (#964)

* fix typo (#965)

* Update dependency uv to v0.7.13 (#951)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Rename team (#972)

* [MISC] Check is_user_in_hba output (#973)

* Check is_user_in_hba output

* Drop extra parameter

* Update canonical/data-platform-workflows action to v32 (main) (#873)

* Update canonical/data-platform-workflows action to v32

* Update libs and release flow

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#976)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.7.14 (#995)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#996)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Don't restart during initial sync (#1000)

* Don't restart during initial sync

* Catch relations map exceptions

* Lock file maintenance Python dependencies (#1011)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7549] Add compression and restore max-process (#1009)

* Add compression and restore max-process

* Update libs

* typo: "chances" to "changes" (#1018)

* remove markdown linter action (#1028)

* Fix automatic doc checks (#1006)

* Fix spellcheck

* Fix some broken URLs

* fix remaining broken urls

* add missing backticks to toctrees

* small spellcheck fix

* DPE-7723: Update releases.md: fix arch for revs 429/430 (#1046)

## Issue

https://canonical-charmed-postgresql.readthedocs-hosted.com/14/reference/releases/ says
rev 430 is amd64
rev 429 is arm64

This is wrong:
```
juju download postgresql --revision 429
unp ./postgresql_r429.charm -d ./r429
grep amd ./r429/manifest.yaml 
  - amd64
```
 
## Solution

Update docs with proper pinning.
Fixes: #1045

* [DPE-6259] pgbackrest config perms (#1038)

* Remove read access to pgbackrest conf file

* Update libs

* Set extra user roles config for the test app

* Fix data-int base

* Set channel and series in ne rel tests

* Fix MicroStack links (#1063)

* [DPE-7594] Sync up pg_hba changes and remove trigger (#1070)

* Port user hash

* Blocking test app

* Update canonical/data-platform-workflows action to v32.2.1 (#1065)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1020)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Migrate config .github/renovate.json5 (#1074)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1010)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7871] Reorder map logic (#1075)

* Reorder map logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove unneeded check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* [DPE-7594] Add custom users to pg_hba filter (#1073)

* Add custom users to pg_hba filter

* Fix unit test

* Tests for async replication.py (#1033)

* def test_can_promote_cluster():

* test_handle_database_start

* _on_async_relation_changed

* test_on_secret_changed first if

* change a lit bit

* add tests for stop database function

* still need some upgrades

* add this

* add learning

* test__configure_primary_cluster

* clean up

* we don't need import application

* start test__on_async_relation_departed

* format

* done test__on_async_relation_departed

* test_on_async_relation_joined

* test_on_create_replication

* test_promote_to_primary

* add test

* test_wait_for_standby_leader

* formatize

* formatize 2.0

* test_get_partner_addresses

* test_handle_replication_change

* test_handle_forceful_promotion

* add tests

* test_on_async_relation_broken

* formatize

* finishing

* need some help

* date

* add aplications

* format

* promote_standby_cluster is none

* add unit name

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1077)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add SNAP revisions to Releases page (#1086)

* Add SNAP revisions to Releases page

For end-users, it is hard to find the proper/expected SNAP revison for
the specific Charm revision in Git. This should simplify it.

* fix broken URLs

---------

Co-authored-by: andreia <andreia.velasco@canonical.com>

* Update canonical/data-platform-workflows action to v32.2.2 (#1088)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update GitHub actions to v5 (#1090)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1091)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1089)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.12 (#1103)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-7968 Bump snap revision (remove python3-boto3 for CVE-2023-37920) (#1109)

* Lock file maintenance Python dependencies (#1104)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v32.2.3 (#1102)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update Charmhub home page (14) (#1110)

* Update metadata.yaml

* Update VM terminology

* Lock file maintenance Python dependencies (#1121)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.13 (#1119)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charm libs (#1127)

* Update canonical/data-platform-workflows action to v35 (#1120)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Enable ceph test on arm (#1129)

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update dependency uv to v0.8.14 (#1130)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Don't block if the snap cannot be installed (#1136)

* Lock file maintenance Python dependencies (#1131)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add back raft encryption check (#1146)

* DPE-8299 Bump disk cleanup timeout 1=>10 (#1148)

* [DPE-8005] Handle empty region (#1157)

* Handle empty region

* Handle invalid stanza name

* DPE-8296 Bump PostgreSQL to 14.19 (#1147)

* Lock file maintenance Python dependencies (#1143)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8296 Downgrade promote.yaml to _promote_charm.yaml@v31.1.1 (#1161)

D-p-w v32+ requires refresh v3 versioning, otherwise:
https://github.com/canonical/postgresql-operator/actions/runs/17777132580

> Invalid workflow file: .github/workflows/promote.yaml#L28
> error parsing called workflow ".github/workflows/promote.yaml" ->
> "canonical/data-platform-workflows/.github/workflows/_promote_charm.yaml@v35.0.2":
> failed to fetch workflow: workflow was not found.

* Remove reinits (#1168)

* [MISC] Config hash (#1166)

* Use Patroni API for is_restart_pending

* Cached props

* Magic sleep and legacy rel names

* Hash config value and restart only on change

* Tweaks

* Legacy interface fix

* Fix legacy test

* Increase idle period

* Wrong username

* Remove copypasta

* Update versions and release documentation (14) (#1158)

* Refactor charm version explanation pages

* refactor releases reference pages

* Move all legacy information to legacy charm page

* Add feature lists back to modern charm versions page

* fix broken references

* [MISC] Fix smoke test (#1184)

* Volume tests

* Manually deploying

* [DPE-8337] Disable Patroni config to prevent possible data loss (#1173)

* DPE-8337 Disable Patroni config to prevent possible dataloose

Disable Patroni config options explecitely:
remove_data_directory_on_rewind_failure and
remove_data_directory_on_diverged_timelines.

P.S. they are disabled by default in Patroni.

* DPE-8337 Fix integration tests

* Force set the rewind config

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1176)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-8430][DPE-8427] Mute error message to debug and creation of access roles (#1186)

* Mute error message to debug

* Create access roles

* Move setup of access roles to upgrade granted

* Try to use mnt for storage

* Skip disk cleanup

* Update charmcraft.yaml build tools (#1142)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8470 Bump snap for Patroni to 3.3.8 (#1197)

* [MISC] Set strict sync mode (#1196)

* Set strict sync mode

* Try bootstrapping with false strict mode

* Move increase writes check

* Try to cleanup only if the test didn't fail

* Add checks for strict mode

* Revert "Add checks for strict mode"

This reverts commit 85b7f61.

* Try using env to detect test failure

* Remove redundant arg

* Try stopping instead of cleaning

* Only set strict mode if there are multiple active units

* Check sync units as well

* Update dependency ops to v3 (#1019)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1203)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8395 Remove old revision of Juju Secret (#1195)

* Remove old revision of secret

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove secrets' old revision on upgrade

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove all previous secret revisions

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20782

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Revert "Handle juju/juju#20782"

This reverts commit 0e29e0e.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reapply "Handle juju/juju#20782"

This reverts commit 0e23c96.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20794

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Consider all secrets created by the charm

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check for secrets support

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove upgrade logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-8470 Temporary revert to Ops 2 (#1208)

Issue: 

Some tests start failing ops v3 (especially self-healing). It requires investigation,
but 14/stable is long waited for PS6 fixes.

Solution:

Temporary reverting ops to previous version 2 to release the next 14/stable

* Revert self healing 3

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Andreia <andreia.velasco@canonical.com>
Co-authored-by: Vladimir Izmalkov <48120135+izmalk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sinclert Pérez <sinclert.perez@canonical.com>
Co-authored-by: swetha1654 <swetha.swaminathan@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>
Co-authored-by: Mykola Marzhan <303592+delgod@users.noreply.github.com>
Co-authored-by: Tushar <30565750+tushar5526@users.noreply.github.com>
Co-authored-by: Gere_X <52193900+Gere321123@users.noreply.github.com>
delgod added a commit that referenced this pull request Oct 24, 2025
)

* [MISC] Use latest/stable lxd (#804)

* Use latest stable lxd

* Test tweaks

* Test tweaks

* Update canonical/data-platform-workflows action to v31.0.1 (#805)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6874] Poll all members in the cluster topology script (#810)

* Poll all members in the cluster topology script

* Dual branch config

* Unit tests and bugfixes

* Add peers when starting the observer

* Retry sync up checks

* [DPE-6572] Add wal_keep_size config option (#799)

* Add wal_keep_size config option

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove parameter addition

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reset durability_wal_keep_size value to PG default

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Create pull_request_template.md (#814)

* Create SECURITY.md (#822)

* Update README file's security section (#827)

* Refactor headings for syntax best practice

* Update the Security section

* Sync docs from Discourse (#796)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Conditional checksum calculation (#812)

* Bump boto

* Conditional checksum calculation

* [DPE-6218] Static code analysis (#828)

* Create tiobe_scan.yaml

* Remove push trigger

* [MISC] Disable landscape subordinate test lxd (#831)

* Set series for ubuntu-advantage test and disable the landscape test

* Revert to LTS LXD

* Update charmcraft.yaml build tools (#815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Update snapped PostgreSQL (#832)

* [DPE-6345] LDAP I: Create access groups (#823)

* [DPE-6345] LDAP II: Include charm libs (#824)

* [DPE-6345] LDAP III: Define config and handlers (#825)

* [DPE-6345] LDAP IV: Define snap service (#838)

* [DPE-6345] LDAP V: Define mapping option (#849)

* [MISC] Disable network cut tests on arm (#844)

* Disable network cut tests on arm

* Back to LXD 5

* [DPE-6815] disable pgaudit during extensions changes (#842)

* disable pgaudit during extensions changes

* Bump libs

* Lock file maintenance Python dependencies (main) (#816)

* Lock file maintenance Python dependencies

* Fix linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Update dependency uv to v0.6.16 (#847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6664] Make username mandatory in set-password (#846)

* Make username mandatory

* Second get password method

* Default in get-password

* Add conditional expose directive (#853)

* Lock file maintenance Python dependencies (#854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Mandatory scope for promote action (#856)

* Update charmcraft.yaml build tools (#860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#861)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Sync docs from Discourse (#850)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Extend relation-user listing syntax (#868)

* Sync libs (#884)

* Remove runner password (#913)

* [DPE-6898] User->databases pg_hba rules (#885)

* Restrict each user to their allowed databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix sync users on replicas

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add default landscape user permission

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in pg_hba test, fix user->database mapping for upgrade from stable and skip event trigger function code when not a superuser

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improve users list check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix raft reinitialisation in tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Decrease the amount of API calls by one

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check users list directly

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Tweak test fast interval

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvements to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix linting

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update charmcraft.yaml build tools (#871)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Remove JujuVersion warning in 14/edge (#933)

* Remove JujuVersion warning

* Update libs

* Refactor v14 documentation for Sphinx (#919)

* initial starter pack transfer
* update conf.py
* import processed discourse pages
* fix internal references and some broken URLs
* fix some style errors
* organize navigation
* remove h1 heading anchors
* add images to repository
* edit home page
* update .readthedocs.yaml
* remove docs/requirements.txt from .gitignore scope
* fix incorrect paths
* remove shell syntax from code blocks
* remove juju 2 banners
* fix dropdown formatting
* fix and polish admonitions, collapsible, and misc formatting
* remove v16 docs
* remove reference to nonexistant page
* Join all tutorial pages
* rename how-to-guides to how-to
* polish cloud deployment guides and rename leftover how-to-guide references
* polish and sync how-to guides with k8s
* remove discourse sync workflow
* specify channel on all deploy commands
* misc polishing, add version to side nav
* add pg 16 admonitions
* ignore docs folder in charm workflows
* sync misc. pages with k8s
* Minor README update with new documentation link
* add new section to CLI-helpers reference
* pin commit for v16 tag on markdown lint workflow for added security
* Update README.md
* remove sphinx python dependency check workflow
* Update index.md: add link to roles.md (#928)

---------

Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>

* [DPE-7511] Fix the auth username pattern (#941)

* Fix auth username pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix another ocurrence of the pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update PG to 14.18 (#943)

* [DPE-7521] Fix HBA rules for Landscape related through PgBouncer (#946)

* Fix HBA rules for Landscape related through PgBouncer

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update comment

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Order users and databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add unit test for relations_user_databases_map property

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix typo

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-6662 Fix pgbackrest logs names on logs rotation (#939) (#949)

The pgBackRest activity (backup creation, stanza initialisation, etc) could take minutes,
as a result every minute logs rotation could move the current log A.log to A.log_$date.log
and will be moved further as logrorate rule operates all *.log files in the folder:

> /var/snap/charmed-postgresql/common/var/log/pgbackrest/*.log { ...

It results in:

-rw------- 1 postgres postgres     0 Feb 18 09:25 all-server.log
-rw------- 1 postgres postgres     0 Feb 18 09:19 all-server.log-20250218_09:18.log
-rw------- 1 postgres postgres     0 Feb 18 09:20 all-server.log-20250218_09:18.log-20250218_09:19.log
-rw------- 1 postgres postgres     0 Feb 18 09:21 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log
-rw------- 1 postgres postgres     0 Feb 18 09:22 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log
-rw------- 1 postgres postgres     0 Feb 18 09:23 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log
-rw------- 1 postgres postgres  1793 Feb 18 09:24 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log-20250218_09:23.log

The poposed fix:
 * move the log file to the new name without .log suffix.
 * use datetime format matching MySQL charms

Example:

-rw------- 1 postgres postgres    12 Feb 18 09:28 all-server.log
-rw------- 1 postgres postgres   322 Feb 18 09:29 all-server.log-20250218_0918
-rw------- 1 postgres postgres  7344 Feb 18 09:30 all-server.log-20250218_0918

(cherry picked from commit ffa77b2)

* Update Python dependencies (#904)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v31.1.1 (#872)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add redirects for all charmhub pages (14) (#961)

* feat: add rediraffe sphinx extension and discourse redirects for each page

* convert tabs to single space

* fix: minor style issues in README.md and CONTRIBUTING.md

* comment out old redirect extension to avoid confusion

* Update dependency requests to v2.32.4 [SECURITY] (#956)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Backport #959 to 14/edge (#963)

* Lock file maintenance Python dependencies (#874)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add forward slash to redirect paths (#964)

* fix typo (#965)

* Update dependency uv to v0.7.13 (#951)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Rename team (#972)

* [MISC] Check is_user_in_hba output (#973)

* Check is_user_in_hba output

* Drop extra parameter

* Update canonical/data-platform-workflows action to v32 (main) (#873)

* Update canonical/data-platform-workflows action to v32

* Update libs and release flow

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#976)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.7.14 (#995)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#996)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Don't restart during initial sync (#1000)

* Don't restart during initial sync

* Catch relations map exceptions

* Lock file maintenance Python dependencies (#1011)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7549] Add compression and restore max-process (#1009)

* Add compression and restore max-process

* Update libs

* typo: "chances" to "changes" (#1018)

* remove markdown linter action (#1028)

* Fix automatic doc checks (#1006)

* Fix spellcheck

* Fix some broken URLs

* fix remaining broken urls

* add missing backticks to toctrees

* small spellcheck fix

* DPE-7723: Update releases.md: fix arch for revs 429/430 (#1046)

## Issue

https://canonical-charmed-postgresql.readthedocs-hosted.com/14/reference/releases/ says
rev 430 is amd64
rev 429 is arm64

This is wrong:
```
juju download postgresql --revision 429
unp ./postgresql_r429.charm -d ./r429
grep amd ./r429/manifest.yaml 
  - amd64
```
 
## Solution

Update docs with proper pinning.
Fixes: #1045

* [DPE-6259] pgbackrest config perms (#1038)

* Remove read access to pgbackrest conf file

* Update libs

* Set extra user roles config for the test app

* Fix data-int base

* Set channel and series in ne rel tests

* Fix MicroStack links (#1063)

* [DPE-7594] Sync up pg_hba changes and remove trigger (#1070)

* Port user hash

* Blocking test app

* Update canonical/data-platform-workflows action to v32.2.1 (#1065)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1020)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Migrate config .github/renovate.json5 (#1074)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1010)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7871] Reorder map logic (#1075)

* Reorder map logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove unneeded check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* [DPE-7594] Add custom users to pg_hba filter (#1073)

* Add custom users to pg_hba filter

* Fix unit test

* Tests for async replication.py (#1033)

* def test_can_promote_cluster():

* test_handle_database_start

* _on_async_relation_changed

* test_on_secret_changed first if

* change a lit bit

* add tests for stop database function

* still need some upgrades

* add this

* add learning

* test__configure_primary_cluster

* clean up

* we don't need import application

* start test__on_async_relation_departed

* format

* done test__on_async_relation_departed

* test_on_async_relation_joined

* test_on_create_replication

* test_promote_to_primary

* add test

* test_wait_for_standby_leader

* formatize

* formatize 2.0

* test_get_partner_addresses

* test_handle_replication_change

* test_handle_forceful_promotion

* add tests

* test_on_async_relation_broken

* formatize

* finishing

* need some help

* date

* add aplications

* format

* promote_standby_cluster is none

* add unit name

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1077)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add SNAP revisions to Releases page (#1086)

* Add SNAP revisions to Releases page

For end-users, it is hard to find the proper/expected SNAP revison for
the specific Charm revision in Git. This should simplify it.

* fix broken URLs

---------

Co-authored-by: andreia <andreia.velasco@canonical.com>

* Update canonical/data-platform-workflows action to v32.2.2 (#1088)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update GitHub actions to v5 (#1090)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1091)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1089)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.12 (#1103)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-7968 Bump snap revision (remove python3-boto3 for CVE-2023-37920) (#1109)

* Lock file maintenance Python dependencies (#1104)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v32.2.3 (#1102)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update Charmhub home page (14) (#1110)

* Update metadata.yaml

* Update VM terminology

* Lock file maintenance Python dependencies (#1121)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.13 (#1119)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charm libs (#1127)

* Update canonical/data-platform-workflows action to v35 (#1120)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Enable ceph test on arm (#1129)

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update dependency uv to v0.8.14 (#1130)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Don't block if the snap cannot be installed (#1136)

* Lock file maintenance Python dependencies (#1131)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add back raft encryption check (#1146)

* DPE-8299 Bump disk cleanup timeout 1=>10 (#1148)

* [DPE-8005] Handle empty region (#1157)

* Handle empty region

* Handle invalid stanza name

* DPE-8296 Bump PostgreSQL to 14.19 (#1147)

* Lock file maintenance Python dependencies (#1143)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8296 Downgrade promote.yaml to _promote_charm.yaml@v31.1.1 (#1161)

D-p-w v32+ requires refresh v3 versioning, otherwise:
https://github.com/canonical/postgresql-operator/actions/runs/17777132580

> Invalid workflow file: .github/workflows/promote.yaml#L28
> error parsing called workflow ".github/workflows/promote.yaml" ->
> "canonical/data-platform-workflows/.github/workflows/_promote_charm.yaml@v35.0.2":
> failed to fetch workflow: workflow was not found.

* Remove reinits (#1168)

* [MISC] Config hash (#1166)

* Use Patroni API for is_restart_pending

* Cached props

* Magic sleep and legacy rel names

* Hash config value and restart only on change

* Tweaks

* Legacy interface fix

* Fix legacy test

* Increase idle period

* Wrong username

* Remove copypasta

* Update versions and release documentation (14) (#1158)

* Refactor charm version explanation pages

* refactor releases reference pages

* Move all legacy information to legacy charm page

* Add feature lists back to modern charm versions page

* fix broken references

* [MISC] Fix smoke test (#1184)

* Volume tests

* Manually deploying

* [DPE-8337] Disable Patroni config to prevent possible data loss (#1173)

* DPE-8337 Disable Patroni config to prevent possible dataloose

Disable Patroni config options explecitely:
remove_data_directory_on_rewind_failure and
remove_data_directory_on_diverged_timelines.

P.S. they are disabled by default in Patroni.

* DPE-8337 Fix integration tests

* Force set the rewind config

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1176)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-8430][DPE-8427] Mute error message to debug and creation of access roles (#1186)

* Mute error message to debug

* Create access roles

* Move setup of access roles to upgrade granted

* Try to use mnt for storage

* Skip disk cleanup

* Update charmcraft.yaml build tools (#1142)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8470 Bump snap for Patroni to 3.3.8 (#1197)

* [MISC] Set strict sync mode (#1196)

* Set strict sync mode

* Try bootstrapping with false strict mode

* Move increase writes check

* Try to cleanup only if the test didn't fail

* Add checks for strict mode

* Revert "Add checks for strict mode"

This reverts commit 85b7f61.

* Try using env to detect test failure

* Remove redundant arg

* Try stopping instead of cleaning

* Only set strict mode if there are multiple active units

* Check sync units as well

* Update dependency ops to v3 (#1019)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1203)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8395 Remove old revision of Juju Secret (#1195)

* Remove old revision of secret

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove secrets' old revision on upgrade

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove all previous secret revisions

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20782

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Revert "Handle juju/juju#20782"

This reverts commit 0e29e0e.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reapply "Handle juju/juju#20782"

This reverts commit 0e23c96.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20794

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Consider all secrets created by the charm

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check for secrets support

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove upgrade logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-8470 Temporary revert to Ops 2 (#1208)

Issue: 

Some tests start failing ops v3 (especially self-healing). It requires investigation,
but 14/stable is long waited for PS6 fixes.

Solution:

Temporary reverting ops to previous version 2 to release the next 14/stable

* Revert "DPE-8395 Remove old revision of Juju Secret (#1195)" (#1216)

This reverts commit 27c5225.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Defer peer relation changed event while upgrading (#1224)

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* PgBackrest Dashboard and alert rules (#1191)

* feat: enable `pgbackrest_exporter` metrics collection

* feat: `pgbackrest` alerts and dashboard

* test: add unit tests for alerts

* doc: update docs

* fix: separate `pgbackrest-exporter` flag for peers

* test: mock `_setup_pgbackrest_exporter`

* chore: remove k8s from the dashboard name

* docs: fix typos & remove k8s

* Switch to charmlibs packages

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Andreia <andreia.velasco@canonical.com>
Co-authored-by: Vladimir Izmalkov <48120135+izmalk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sinclert Pérez <sinclert.perez@canonical.com>
Co-authored-by: swetha1654 <swetha.swaminathan@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>
Co-authored-by: Mykola Marzhan <303592+delgod@users.noreply.github.com>
Co-authored-by: Tushar <30565750+tushar5526@users.noreply.github.com>
Co-authored-by: Gere_X <52193900+Gere321123@users.noreply.github.com>
Co-authored-by: Yurii Kondrakov <yurii.kondrakov@canonical.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants