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: I991fa5afc63c09fcb3f0982c08c815d5561b7f07
Ceph Bluestore Compression is a post-deploy configurable option
and allowing to update the broker request is required. Drop code
that gates the sending of pool broker request, the original issue
has been fixed in the interface code and it is now safe to call
multiple times.
Unpin flake8, fix minor lints.
Change-Id: Ib8a209fffddc882c4b42a620f284a0d0504a749f
* charm-helpers sync for classic charms
* charms.ceph sync for ceph charms
* rebuild for reactive charms
* sync tox.ini files as needed
* sync requirements.txt files to sync to standard
Change-Id: Icf6ef2ae4b845f4dc612a5d949144eb5c11030b1
The update-status hook is supposed to be lightweight; prior to this
change the charm was running all of the handlers including a no-op
checking for upgrades to openstack. This patchset builds on the
depends-on patchset and gates the update-status hook against those
handlers. Note that update-status is handled using the default handler.
Depends-On: I7ca97db646ada95d7f5541ca4e2cf14013c0d7a6
Change-Id: I1e14e609567d00bed6e8bb755acabd08c1113469
Closes-Bug: #1824119
Removing and adding back ceph-mon relation to gnocchi unit, the unit becomes
blocked. Since the flag ceph.create_pool.req.sent is already set, its not
triggered during subsequent add of ceph-mon relation. This makes the relation
inactive.
This patch resets the flag ceph.create_pool.req.sent based on the flags that
will be reset at ceph-client interface when relation is broken.
Change-Id: I3a1f4a0fa61c739c8e6d6581670438944dfcbc7c
Closes-Bug: #1856936
Due to a change in the ceph-client interface *1 the
storage-ceph.pools.available flag can be lost when the charm is
upgraded from an old version to the current version. To account for
this check the request status whenever there is an outstanding
ceph request.
*1 https://github.com/openstack/charm-interface-ceph-client/blame/master/requires.py#L107
Change-Id: I179df45af2fb2d4723cd579a1070ece0d18b5002
Closes-Bug: #1850618
Add new state ceph.create_pool.req.sent to gate sending the ceph
pool creation request. This fixes a problem where the changed
method in requires of ceph-client interface raises the
'{relation_name}.pools.available' state but the create_pool
method then removes it again.
Also remove snap functional tests as they are no longer
needed since that install method via charms is not
actively supported.
Change-Id: Iaf986d24f005bcc7c8f485cfc2eb1775e6dbbbdd
Closes-Bug: #1846480
Previously the default ``certificates.available`` handler was
enabled without the charm authors intervention, this was changed
in I12f45236632b608e07fdd35d31b90b84ca92eb1f.
Change-Id: I4cbe72ce281cb36c6e2c7d9f745b21cd21623e56
The Ceph relation adapter and keyring helper code was moved to
``charms.openstack`` as part of development of the
``ceph-rbd-mirror`` charm.
Port the Gnocchi charm to re-use this code.
Depends-On: If1d645f4708e27b724f93cac0e14431137c885d7
Depends-On: I97b4c30dabfcf65ec3fb876c2a09a44172be85e7
Change-Id: If0da7f1efcfa6b61aa210edcd76e9c3392e0e8e9
Gnocchi was providing its URL to client charms before its VIP was
completely setup. This change checks that an hacluster relation
exists and if so waits to provide its URL until the hacluster setup
is complete.
Depends-On: I23eb5e70537a62d5b9e5e24d09f37519b63a1717
Change-Id: I3a6991ecb4eca8659c08d5c5d00d35b8d22bf79e
Closes-Bug: #1749280
Minor refactor to drop use of local Memcache relation adapter
now that its been incorporated into charms.openstack.
Change-Id: I2b5d8ed26513574b34c1cdfd8edbe53bb1498343
Enable snap installation support for Gnocchi.
The Gnocchi snap provides nginx and uwsgi instead of
Apache2 + mod_wsgi so the config/restart map looks a
little different.
Snap support has been implemented using a subclass of
the GnocchiCharmBase class, which provides common
methods and properties to both deb and snap based
installations.
Snaps are only published for Ocata or later releases
of OpenStack.
Change-Id: I464025a2b72aba8c31a4a97ade39d2b2980c3a92
Ensure that the pool name requested matches the service name
for the application, inline with other OpenStack charms.
Change-Id: Ia3ee274b52bdb2cb90a17e43ec5a379e7765efe0