charm-ceph-mon:master

Last commit made on 2024-04-10
Get this branch:
git clone -b master https://git.launchpad.net/charm-ceph-mon

Branch merges

Branch information

Name:
master
Repository:
lp:charm-ceph-mon

Recent commits

446d17f... by Luciano Lo Giudice

Implement key rotation for RadosGW daemons

This patchset implements the needed functionality on the ceph-mon
charm to rotate the key of a specified RadosGW daemon.

func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1195
Change-Id: I6dbbf6ca1292a34f5d3b4ff8f2966c8b77f53f48

0572504... by Luciano Lo Giudice

Implement the 'rotate-key' action for managers

This patchset implements key rotation for managers only. The user
can specified either the full entity name (i.e: 'mgr.XXXX') or
simply 'mgr', which stands for the local manager.

After the entity's directory is located, a new pending key is
generated, the keyring file is mutated to include the new key and
then replaced in situ. Lastly, the manager service is restarted.

Note that Ceph only has one active manager at a certain point,
so it only makes sense to call this action on _every_ mon unit.

Change-Id: Ie24b3f30922fa5be6641e37635440891614539d5
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1195

3805321... by Luciano Lo Giudice

Implement the 'list-entities' action

This action is the first step needed to implement key rotation
in charmed Ceph.

Change-Id: I59012621a0d9a2a1197fd7f8f0155cf85a37a056

945c958... by Zuul <email address hidden>

Merge "Don't expect a static job name"

fb32621... by Nobuto Murata

Don't expect a static job name

A job name passed via the prometheus_scrape library doesn't end up as a
static job name in the prometheus configuration file in the COS world
even though COS expects a fixed string. Practically we cannot have a
static job name like job=ceph in any of the alert rules in COS since the
charms will convert the string "ceph" into:

> juju_MODELNAME_ID_APPNAME_prometheus_scrape_JOBNAME(ceph)-N

Let's give up the possibility of the static job name and use "up{}" so
it will be annotated with the model name/ID, etc. without any specific
job related condition. It will break the alert rules when one unit have
more than one scraping endpoint because there will be no way to
distinguish multiple scraping jobs. Ceph MON only has one prometheus
endpoint for the time being so this change shouldn't cause an immediate
issue. Overall, it's not ideal but at least better than the current
status, which is an alert error out of the box.

The following alert rule:
> up{} == 0
will be converted and annotated as:
> up{juju_application="ceph-mon",juju_model="ceph",juju_model_uuid="UUID"} == 0

Closes-Bug: #2044062

Change-Id: I0df8bc0238349b5f03179dfb8f4da95da48140c7

762ad83... by Peter Sabaini

Fix: defer cos-prometheus for bootstrap

If a COS prometheus changed event is processed but bootstrap hasn't
completed yet, we need to retry the event at a later time.

Closes-bug: #2042891

Change-Id: I3d274c09522f9d7ef56bc66f68d8488150c125d8

35f9af8... by Peter Sabaini

Fixup: multisite alert rule help texts

Change-Id: I558804c8bbd162a15bd97a023ac612d32fd96b02

6ae78a6... by Zuul <email address hidden>

Merge "Add alerting rules for RGW multisite deployments"

24fccea... by Peter Sabaini

Add alerting rules for RGW multisite deployments

Add default prometheus alerting rules for RadosGW multisite deployments based
on the built-in Ceph RGW multisite metrics.

Note that the included prometheus_alerts.yml.default rule file
is included for reference only. The ceph-mon charm will utilize the
resource file from https://charmhub.io/ceph-mon/resources/alert-rules
for deployment so that operators can easily customize these rules.

Change-Id: I5a12162d73686963132a952bddd85ec205964de4

1c9f3b2... by Peter Sabaini

Don't error out on missing OSDs

Ceph reef has a behaviour change where it doesn't always return
version keys for all components. In
I12a1bcd32be2ed8a8e5ee0e304f716f5a190bd57 an attempt was made to fix
this by retrying, however this code path can also be hit when a
component such as OSDs are absent. While a cluster without OSDs
wouldn't be functional it still should not cause the charm to error.

As a fix, just make the OSD component optional when querying for a
version instead of retrying.

Change-Id: I5524896c7ad944f6f22fb1498ab0069397b52418