canonical / discourse-k8s-operator

discourse-k8s-operator - charm repository.
Apache License 2.0
7 stars 5 forks source link

Feat/ Redis HA fix #283

Closed alithethird closed 2 months ago

alithethird commented 2 months ago

Includes the Redis HA fix. This fixes 2 different bugs: 1- https://bugs.launchpad.net/juju/+bug/2063087 2- https://github.com/canonical/discourse-k8s-operator/issues/268

Overview

Started using app databag for Redis hostname. Add tests to test out Redis in HA mode.

Rationale

Previously was not able to use Redis in HA mode

Juju Events Changes

Module Changes

Library Changes

Checklist

alithethird commented 2 months ago

One question, what are now the restrictions to integrate with Redis? A specific version?

Should we fallback to the previous functionality if "leader-host" is not there? Otherwise, should we tell the user that this charm requires a Redis charm revision greater than X?

Ok, that is a great question. I did not think of that. I think I should ask @gregory-schiano about this.

I think the fallback to unit data if leader-host doesn't exist is a great idea. What do you think?

github-actions[bot] commented 2 months ago

Test coverage for 8aa08d6bdb8317385995b8f99f4596e96bc4521a

Name              Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------
src/charm.py        373     41     94     15    88%   184, 192-193, 205, 337->345, 378->383, 395, 583-585, 590-591, 603-605, 610-611, 623-625, 648-650, 692->exit, 702->exit, 751-754, 764-765, 789-790, 802-803, 830-832, 834->839, 836-837, 879-880, 896-897, 907->exit, 921
src/database.py      29      1      8      1    95%   56
-------------------------------------------------------------
TOTAL               402     42    102     16    88%

Static code analysis report

Run started:2024-09-09 06:25:23.083683

Test results:
    No issues identified.

Code scanned:
    Total lines of code: 2359
    Total lines skipped (#nosec): 2
    Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
    Total issues (by severity):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
    Total issues (by confidence):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
Files skipped (0):