Update Gnocchi with Ceph and Redis documentation.

Change-Id: Ibd8a5b491bf9a0ba5ecc631e3a2a2a83d85dbe01
This commit is contained in:
siavashsardari 2021-01-26 14:03:08 +03:30
parent 174b29da95
commit d16890c6d4

View File

@ -22,11 +22,11 @@ You have to add some pip packages to your gnocchi setup:
- cryptography - cryptography
- gnocchiclient - gnocchiclient
# this is what we want: # this is what we want:
# - "gnocchi[mysql,ceph,ceph_alternative_lib,redis]" # - "gnocchi[mysql,ceph,ceph_alternative_lib,redis,keystone]"
# but as there is no librados >=12.2 pip package we have to first install ceph without alternative support # but as there is no librados >=12.2 pip package we have to first install ceph without alternative support
# after adding the ceph repo to gnocchi container, python-rados>=12.2.0 is installed and linked automatically # after adding the ceph repo to gnocchi container, python-rados>=12.2.0 is installed and linked automatically
# and gnocchi will automatically take up the features present in the used rados lib. # and gnocchi will automatically take up the features present in the used rados lib.
- "gnocchi[mysql,ceph,redis]" - "gnocchi[mysql,ceph,redis,keystone]"
- keystonemiddleware - keystonemiddleware
- python-memcached - python-memcached
@ -50,7 +50,7 @@ storage for your gnocchi installation. The `supported storage systems`_ are:
.. _supported storage systems: https://gnocchi.xyz/intro.html#incoming-and-storage-drivers .. _supported storage systems: https://gnocchi.xyz/intro.html#incoming-and-storage-drivers
When your Swift installation uses Ceph as backend, the only one left for this When your Swift API endpoint uses Ceph as a backend, the only one left for this
setup is Redis. setup is Redis.
So first of all setup a redis server/cluster, e.g. with this `ansible role`_. So first of all setup a redis server/cluster, e.g. with this `ansible role`_.
@ -64,7 +64,7 @@ Cluster as incoming storage:
gnocchi_conf_overrides: gnocchi_conf_overrides:
incoming: incoming:
driver: redis driver: redis
redis_url: redis://{{ hostvars[groups['redis-master'][0]]['ansible_default_ipv4']['address'] }}:{{ hostvars[groups['redis-master'][0]]['redis_sentinel_port'] }}?sentinel=master01{% for host in groups['redis-slave'] %}&sentinel_fallback={{ hostvars[host]['ansible_default_ipv4']['address'] }}:{{ hostvars[host]['redis_sentinel_port'] }}{% endfor %} redis_url: redis://{{ hostvars[groups['redis-master'][0]]['ansible_default_ipv4']['address'] }}:{{ hostvars[groups['redis-master'][0]]['redis_sentinel_port'] }}?sentinel=master01{% for host in groups['redis-slave'] %}&sentinel_fallback={{ hostvars[host]['ansible_default_ipv4']['address'] }}:{{ hostvars[host]['redis_sentinel_port'] }}{% endfor %}&db=0
You also have to install additional pip/distro packages to use the redis You also have to install additional pip/distro packages to use the redis
cluster: cluster:
@ -77,11 +77,13 @@ cluster:
- libapache2-mod-wsgi - libapache2-mod-wsgi
- git - git
- build-essential - build-essential
- python-dev - python3-dev
- librados-dev
- libpq-dev - libpq-dev
- python-rados - python3-rados
# additional package for python redis client # additional package for python redis client
- python-redis - python3-redis
- libsystemd-dev
.. code-block:: yaml .. code-block:: yaml
@ -89,14 +91,15 @@ cluster:
- cryptography - cryptography
- gnocchiclient - gnocchiclient
# this is what we want: # this is what we want:
# - "gnocchi[mysql,ceph,ceph_alternative_lib,redis]" # - "gnocchi[mysql,ceph,ceph_alternative_lib,redis,keystone]"
# but as there is no librados >=12.2 pip package we have to first install ceph without alternative support # but as there is no librados >=12.2 pip package we have to first install ceph without alternative support
# after adding the ceph repo to gnocchi container, python-rados>=12.2.0 is installed and linked automatically # after adding the ceph repo to gnocchi container, python-rados>=12.2.0 is installed and linked automatically
# and gnocchi will automatically take up the features present in the used rados lib. # and gnocchi will automatically take up the features present in the used rados lib.
- "gnocchi[mysql,ceph,redis]" - "gnocchi[mysql,ceph,redis,keystone]"
- keystonemiddleware - keystonemiddleware
- python-memcached - python-memcached
- redis - redis
- systemd-python
.. note:: .. note::
@ -154,14 +157,15 @@ You also have to install additional packages:
- cryptography - cryptography
- gnocchiclient - gnocchiclient
# this is what we want: # this is what we want:
# - "gnocchi[mysql,ceph,ceph_alternative_lib,redis]" # - "gnocchi[mysql,ceph,ceph_alternative_lib,redis,keystone]"
# but as there is no librados >=12.2 pip package we have to first install ceph without alternative support # but as there is no librados >=12.2 pip package we have to first install ceph without alternative support
# after adding the ceph repo to gnocchi container, python-rados>=12.2.0 is installed and linked automatically # after adding the ceph repo to gnocchi container, python-rados>=12.2.0 is installed and linked automatically
# and gnocchi will automatically take up the features present in the used rados lib. # and gnocchi will automatically take up the features present in the used rados lib.
- "gnocchi[mysql,ceph,redis]" - "gnocchi[mysql,ceph,redis,keystone]"
- keystonemiddleware - keystonemiddleware
- python-memcached - python-memcached
- redis - redis
- systemd-python
# addiitional pip packages needed for zookeeper coordination backend # addiitional pip packages needed for zookeeper coordination backend
- tooz - tooz
- lz4 - lz4