“services” section¶
You would want to have dedicated DB/messaging/memcached/etc for some of your services. Or you could have several backends and want to switch between them easily. This guide will describe how to make proper configuration for both cases.
All required configuration is located under services config group and can be
propagated via ccp.yaml
.
The following abstractions are being used all over the CCP:
- database
- rpc
- notifications
You should explicitly define backends for them before deployment. For example:
services:
database:
service_def: galera
rpc:
service_def: rabbitmq
notifications:
service_def: rabbitmq
Those services can be used in topology definition. You don’t have to define anything else. By default will be assumed that service has a name of service definition.
In the following example will be created dedicated databases for keystone and glance, dedicated memcached for keystone and horizon and those services will be connected through mapping section.
services:
database:
service_def: galera
keystone-db:
service_def: galera
glance-db:
service_def: galera
keystone-memcached:
service_def: memcached
horizon-memcached:
service_def: memcached
rpc:
service_def: rabbitmq
notifications:
service_def: rabbitmq
keystone:
service_def: keystone
mapping:
database: keystone-db
memcached: keystone-memcached
glance-api:
service_def: glance-api
mapping:
database: glance-db
glance-registry:
service_def: glance-registry
mapping:
database: glance-db
horizon:
service_def: horizon
mapping:
memcached: horizon-memcached
Note
Each galera instance should have it’s own subset of nodes.