RabbitMQ: It adds HA and ttl policy for notificaitons queues

This patchset introduces mirroring "notificaitons.*" queues messages across
rmq cluster nodes and add ttl expiration time for messages, utilizing
rabbitmq helm-toolkit

the configuration example:

rabbitmq:
  policies:
    - name: "test"
      vhost: "nova"
      definition: ".*"
      definition:
        ha-mode: all
  ...

equals:
 rabbitmqctl set_policies -p nova test ".*" "{"ha-mode":"all"}"
Signed-off-by: Ruslan Khanbikov <rk760n@att.com>

Change-Id: I61215de07cfaeb9d896126ef9abc94fcc9e429b9
Depends-On: I85240a50fb64a4d74454768034fe3bdcf25f3019
This commit is contained in:
Ruslan Khanbikov 2018-07-04 20:41:02 -07:00 committed by Pete Birley
parent 32934d8826
commit e0ed5d2708
6 changed files with 87 additions and 0 deletions

View File

@ -809,6 +809,21 @@ conf:
class: oslo_log.formatters.ContextFormatter
formatter_default:
format: "%(message)s"
rabbitmq:
#NOTE(rk760n): adding rmq policy to mirror messages from notification queues and set expiration time for the ones
policies:
- vhost: "cinder"
name: "ha_ttl_cinder"
definition:
#mirror messges to other nodes in rmq cluster
ha-mode: "all"
ha-sync-mode: "automatic"
#70s
message-ttl: 70000
priority: 0
apply-to: all
pattern: '(notifications)\.'
backends:
# Those options will be written to backends.conf as-is.
rbd1:

View File

@ -360,6 +360,20 @@ conf:
project_domain_name = {{ .Values.endpoints.identity.auth.glance.project_domain_name }}
auth_version = 3
{{- end -}}
rabbitmq:
#NOTE(rk760n): adding rmq policy to mirror messages from notification queues and set expiration time for the ones
policies:
- vhost: "glance"
name: "ha_ttl_glance"
definition:
#mirror messges to other nodes in rmq cluster
ha-mode: "all"
ha-sync-mode: "automatic"
#70s
message-ttl: 70000
priority: 0
apply-to: all
pattern: '(notifications)\.'
network:
api:

View File

@ -526,6 +526,21 @@ conf:
formatter_default:
format: "%(message)s"
rabbitmq:
#NOTE(rk760n): adding rmq policy to mirror messages from notification queues and set expiration time for the ones
policies:
- vhost: "heat"
name: "ha_ttl_heat"
definition:
#mirror messges to other nodes in rmq cluster
ha-mode: "all"
ha-sync-mode: "automatic"
#70s
message-ttl: 70000
priority: 0
apply-to: all
pattern: '(notifications)\.'
network:
api:
ingress:

View File

@ -589,6 +589,20 @@ conf:
identity:update_domain_config: rule:admin_required
identity:delete_domain_config: rule:admin_required
identity:get_domain_config_default: rule:admin_required
rabbitmq:
#NOTE(rk760n): adding rmq policy to mirror messages from notification queues and set expiration time for the ones
policies:
- vhost: "keystone"
name: "ha_ttl_keystone"
definition:
#mirror messges to other nodes in rmq cluster
ha-mode: "all"
ha-sync-mode: "automatic"
#70s
message-ttl: 70000
priority: 0
apply-to: all
pattern: '(notifications)\.'
rally_tests:
run_tempest: false
tests:

View File

@ -1605,6 +1605,21 @@ conf:
enabled: true
backend: dogpile.cache.memcached
rabbitmq:
#NOTE(rk760n): adding rmq policy to mirror messages from notification queues and set expiration time for the ones
policies:
- vhost: "neutron"
name: "ha_ttl_neutron"
definition:
#mirror messges to other nodes in rmq cluster
ha-mode: "all"
ha-sync-mode: "automatic"
#70s
message-ttl: 70000
priority: 0
apply-to: all
pattern: '(notifications)\.'
# Names of secrets used by bootstrap and environmental checks
secrets:
identity:

View File

@ -1161,6 +1161,20 @@ conf:
class: oslo_log.formatters.ContextFormatter
formatter_default:
format: "%(message)s"
rabbitmq:
#NOTE(rk760n): adding rmq policy to mirror messages from notification queues and set expiration time for the ones
policies:
- vhost: "nova"
name: "ha_ttl_nova"
definition:
#mirror messges to other nodes in rmq cluster
ha-mode: "all"
ha-sync-mode: "automatic"
#70s
message-ttl: 70000
priority: 0
apply-to: all
pattern: '(notifications)\.'
# Names of secrets used by bootstrap and environmental checks
secrets: