After Octopus, the reporting about image states fails because of a
permission issue in Ceph. This change disables that status reporting
to allow a deployment to be healthy even when some tools cannot query
status.
Also modernize build and func testing: remove python 3.9 and xena from
tests
Related-Bug: #1879749
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1063
Change-Id: Id86fc043495b89609cf6873ec58aee1e2e388578
The mock third party library was needed for mock support in py2
runtimes. Since we now only support py36 and later, we can use the
standard lib unittest.mock module instead.
Note that https://github.com/openstack/charms.openstack is used during tests
and he need `mock`, unfortunatelly it doesn't declare `mock` in its
requirements so it retrieve mock from other charm project (cross dependency).
So we depend on charms.openstack first and when
Ib1ed5b598a52375e29e247db9ab4786df5b6d142 will be merged then CI
will pass without errors.
Depends-On: Ib1ed5b598a52375e29e247db9ab4786df5b6d142
Change-Id: I6cf34358b919d4ab568a329395207676bd2e531d
* Add optional parameter `pools` to the Juju actions: `resync-pools`,
`status`, `demote`, and `promote`.
* Add `bionic-train-image-mirroring` to the `gate_bundles`.
Change-Id: I9df77be628718bb60a1bdc65078c94d0b7bda9d4
Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/486
Change-Id: I423eb38f5197879c5f8f7999acb11ece3d26a6a4
Co-authored-by: Marius Oprin <morpin@cloudbasesolutions.com>
Signed-off-by: Marius Oprin <moprin@cloudbasesolutions.com>
Drop support for forwarding requests for manually created Erasure
Coded pools. The initial implementation was based on a incomplete
implementation of EC support in the supporting libraries.
Make use of the forwarding of broker requests to support both
BlueStore Compression and Erasure Coded pools created through
the broker request protocol by charms in the source model.
There is currently no support for forwarding or influencing these
properties for manually created pools.
Depends-On: I0d4ed457e1d59eabed3340f5dc7d8353d5d66f04
Depends-On: I16196053bee93bdc4e5c62f5467d9e786b047b30
Change-Id: I19f66f8594b9bdada5365582ce98365039235f9d
Update to match change in ``charms.openstack``
Depends-On: If1d645f4708e27b724f93cac0e14431137c885d7
Change-Id: I01053ff88e4dba58893dc20e171095f62524f480
There exist failure scenarios where abrupt shutdown and/or
interruptions to communication may lead to a split-brain situation
where the RBD Mirroring process in both Ceph clusters claim to be
the primary.
In such a situation the operator must decide which cluster has the
most recent data and should be elected primary by using the
``demote`` and ``promote`` (optionally with force parameter)
actions.
After making this decision the secondary cluster must be resynced
to track the promoted master, this is done by running the
``resync-pools`` action on the non-master cluster.
Change-Id: I4f57c9202ed4d055066286f808369ec0ddddb7ea
Pool mirror eligibility is currently done in generator expressions
repeated where needed.
Centralize this in one function.
Change-Id: I6e151621cefb4fe2c6339c9b16cd31c01b95e6f2
``demote`` is used to demote all images in all pools, used for
operator controlled fail over/fall back.
``promote`` is used to promote all images in all pools, used for
operator controlled or disaster recovery fail over/fall back.
``refresh-pools`` is used to refresh list of eligible pools from
local Ceph cluster. Side effect is to enable mirroring of pools
created manually without the use of the charm ceph broker protocol.
Change-Id: I9af983b37045f83a0a9703e2212b371b97dc3121
Depends-On: I97bfb9a2c0e30998566aee56d4630af6baa36d45
Fix a few discrepancies discovered during unit testing.
Add missing unit tests.
Add end to end functional test bundle.
Change-Id: Ic05c72f9e684f615b60a3975779e76526a0c9c64