charm-gnocchi/src
Alex Kavanagh f4fa5dd94c
Updates for caracal testing support
These updates, on the master branch, are to support testing the caracal
packages and support of the charms for caracal.  They do NOT lock the charms
down, and don't change the testing branches to stable branches.

Change-Id: I97b3f9d3e810a7325f288e220e2d4c95c832eb39
2024-03-29 10:50:55 -07:00
..
files Sync charm/ceph helpers, tox, and requirements 2019-10-11 11:29:24 +00:00
lib/charm/openstack This change add several configuration options to enable HTTP checks 2023-03-06 14:01:57 -03:00
reactive Add Ceph BlueStore Compression support 2020-10-06 13:18:07 +02:00
templates Enable S3 storage backend for Gnocchi 2020-06-30 15:31:00 +00:00
tests Updates for caracal testing support 2024-03-29 10:50:55 -07:00
README.md Add blurb about Ceph BlueStore compression 2020-10-20 13:14:22 +02:00
config.yaml Add 2023.2 Bobcat support 2023-08-04 21:15:35 +00:00
copyright Initial charm version 2017-07-03 14:50:32 +01:00
icon.svg Update icon 2017-08-01 17:11:03 +01:00
layer.yaml Rebuild for sync layer-openstack 2019-08-22 09:00:19 +02:00
metadata.yaml Updates for caracal testing support 2024-03-29 10:50:55 -07:00
test-requirements.txt Update to build using charmcraft 2022-02-01 20:01:33 +00:00
tox.ini Updates for caracal testing support 2024-03-29 10:50:55 -07:00
wheelhouse.txt Updates to flip all libraries back to master 2021-05-03 16:04:48 +01:00

README.md

Overview

Gnocchi is an open-source, multi-tenant timeseries, metrics, and resources database. It provides an HTTP REST interface to create and manipulate the data. It is designed to store metrics at a very large scale while providing access to metrics and resources information and history.

Usage

Configuration

See file config.yaml for the full list of configuration options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

Ceph BlueStore compression

This charm supports BlueStore inline compression for its associated Ceph storage pool(s). The feature is enabled by assigning a compression mode via the bluestore-compression-mode configuration option. The default behaviour is to disable compression.

The efficiency of compression depends heavily on what type of data is stored in the pool and the charm provides a set of configuration options to fine tune the compression behaviour.

Note: BlueStore compression is supported starting with Ceph Mimic.

Deployment

Gnocchi is typically deployed as part of an OpenStack cloud, providing storage for Ceilometer, the telemetry collection service. To deploy Gnocchi to an existing OpenStack cloud (which already includes Ceilometer):

juju deploy gnocchi
juju deploy memcached
juju add-relation gnocchi:shared-db percona-cluster:shared-db
juju add-relation gnocchi:coordinator-memcached memcached:cache
juju add-relation gnocchi:identity-service keystone:identity-service
juju add-relation gnocchi:storage-ceph ceph-mon:client
juju add-relation gnocchi:metric-service ceilometer:metric-service

The Gnocchi API should now be used to service information queries. As such, once re-configuration caused by the above relations has settled, the Ceilometer API will be disabled.

Gnocchi then needs to be initialised with the current Ceilometer data:

juju run-action --wait ceilometer/leader ceilometer-upgrade

S3 storage backend support

The gnocchi charm by default uses Ceph as a storage backend (the default value of option storage-backend is 'ceph') but it also has support for S3 storage.

Note: S3 storage support is available starting with OpenStack Stein.

To configure Gnocchi to use S3 the following configuration options must be set accordingly:

  • storage-backend
  • s3-region-name
  • s3-endpoint-url
  • s3-access-key-id
  • s3-secret-access-key

For an encrypted S3 endpoint that is not managed by charmed Vault, the config option trusted-ssl-ca-cert needs to be configured.

See file config.yaml for more details on the above options.

Policy overrides

Policy overrides is an advanced feature that allows an operator to override the default policy of an OpenStack service. The policies that the service supports, the defaults it implements in its code, and the defaults that a charm may include should all be clearly understood before proceeding.

Caution: It is possible to break the system (for tenants and other services) if policies are incorrectly applied to the service.

Policy statements are placed in a YAML file. This file (or files) is then (ZIP) compressed into a single file and used as an application resource. The override is then enabled via a Boolean charm option.

Here are the essential commands (filenames are arbitrary):

zip overrides.zip override-file.yaml
juju attach-resource gnocchi policyd-override=overrides.zip
juju config gnocchi use-policyd-override=true

See appendix Policy Overrides in the OpenStack Charms Deployment Guide for a thorough treatment of this feature.

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.