Skip to content

Commit d8a1532

Browse files
authored
Merge pull request #1635 from rackerlabs/rabbitmq-queues-mirroring
fix: RabbitMQ queues HA
2 parents bcd5bc2 + f1730f7 commit d8a1532

18 files changed

Lines changed: 145 additions & 4 deletions

components/cinder/cinder-rabbitmq-queue.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,23 @@ spec:
5959
rabbitmqClusterReference:
6060
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
6161
namespace: openstack
62+
---
63+
apiVersion: rabbitmq.com/v1beta1
64+
kind: Policy
65+
metadata:
66+
name: cinder-ha-mode
67+
namespace: openstack
68+
spec:
69+
name: cinder-ha-mode
70+
vhost: "cinder" # default to '/' if not provided
71+
pattern: "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*"
72+
applyTo: "queues" # set to 'queues', 'exchanges', or 'all'
73+
priority: 1 # defaults to 0
74+
definition: # policy definition
75+
ha-mode: all
76+
ha-promote-on-failure: always
77+
ha-promote-on-shutdown: always
78+
ha-sync-mode: manual
79+
rabbitmqClusterReference:
80+
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
81+
namespace: openstack

components/cinder/values.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@ conf:
1414
volume_backend_name: netapp_nvme
1515
volume_driver: cinder_understack.dynamic_netapp_driver.NetappCinderDynamicDriver
1616
cinder:
17+
oslo_messaging_rabbit:
18+
amqp_durable_queues: true
1719
DEFAULT:
1820
enabled_backends: netapp_nvme
1921
default_volume_type: __DEFAULT__
2022
# add DriverFilter to the default list so our SVM filtering function gets called
2123
scheduler_default_filters: DriverFilter,AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter
24+
rabbitmq:
25+
policies: [] # Override the policy being injected by OSH
2226

2327
# typically overridden by environmental
2428
# values, but should include all endpoints

components/glance/glance-rabbitmq-queue.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,20 @@ spec:
5959
rabbitmqClusterReference:
6060
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
6161
namespace: openstack
62+
---
63+
apiVersion: rabbitmq.com/v1beta1
64+
kind: Policy
65+
metadata:
66+
name: glance-ha-mode
67+
namespace: openstack
68+
spec:
69+
name: glance-ha-mode
70+
vhost: "glance" # default to '/' if not provided
71+
pattern: "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*"
72+
applyTo: "queues" # set to 'queues', 'exchanges', or 'all'
73+
priority: 1 # defaults to 0
74+
definition: # policy definition
75+
ha-mode: all
76+
rabbitmqClusterReference:
77+
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
78+
namespace: openstack

components/glance/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ pod:
115115
failureThreshold: 6
116116

117117
conf:
118+
glance:
119+
oslo_messaging_rabbit:
120+
amqp_durable_queues: true
118121
glance_api_uwsgi:
119122
uwsgi:
120123
# This should be set to anything larger than 1.

components/horizon/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ conf:
3232
"enable_net_ports": True,
3333
"default_availability_zone": "Any",
3434
}
35+
oslo_messaging_rabbit:
36+
amqp_durable_queues: true
3537

3638
endpoints:
3739
dashboard:

components/ironic/ironic-rabbitmq-queue.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,20 @@ spec:
5959
rabbitmqClusterReference:
6060
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
6161
namespace: openstack
62+
---
63+
apiVersion: rabbitmq.com/v1beta1
64+
kind: Policy
65+
metadata:
66+
name: ironic-ha-mode
67+
namespace: openstack
68+
spec:
69+
name: ironic-ha-mode
70+
vhost: "ironic" # default to '/' if not provided
71+
pattern: "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*"
72+
applyTo: "queues" # set to 'queues', 'exchanges', or 'all'
73+
priority: 1 # defaults to 0
74+
definition: # policy definition
75+
message-ttl: 86400000
76+
rabbitmqClusterReference:
77+
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
78+
namespace: openstack

components/ironic/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ conf:
8787
dhcp:
8888
dhcp_provider: dnsmasq
8989
oslo_messaging_rabbit:
90-
rabbit_ha_queues: true
90+
amqp_durable_queues: true
9191
pxe:
9292
loader_file_paths: "snponly.efi:/usr/lib/ipxe/snponly.efi"
9393
inspector:

components/keystone/keystone-rabbitmq-queue.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,20 @@ spec:
5959
rabbitmqClusterReference:
6060
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
6161
namespace: openstack
62+
---
63+
apiVersion: rabbitmq.com/v1beta1
64+
kind: Policy
65+
metadata:
66+
name: keystone-ha-mode
67+
namespace: openstack
68+
spec:
69+
name: keystone-ha-mode
70+
vhost: "keystone" # default to '/' if not provided
71+
pattern: "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*"
72+
applyTo: "queues" # set to 'queues', 'exchanges', or 'all'
73+
priority: 1 # defaults to 0
74+
definition: # policy definition
75+
ha-mode: all
76+
rabbitmqClusterReference:
77+
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
78+
namespace: openstack

components/keystone/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ conf:
189189
backend_argument: memcached_expire_time:3600
190190
DEFAULT:
191191
max_token_size: 512
192+
oslo_messaging_rabbit:
193+
amqp_durable_queues: true
192194

193195
wsgi_keystone: |
194196
{{- $portInt := tuple "identity" "service" "api" $ | include "helm-toolkit.endpoints.endpoint_port_lookup" }}

components/neutron/neutron-rabbitmq-queue.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,20 @@ spec:
5959
rabbitmqClusterReference:
6060
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
6161
namespace: openstack
62+
---
63+
apiVersion: rabbitmq.com/v1beta1
64+
kind: Policy
65+
metadata:
66+
name: neutron-ha-mode
67+
namespace: openstack
68+
spec:
69+
name: neutron-ha-mode
70+
vhost: "neutron" # default to '/' if not provided
71+
pattern: "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*"
72+
applyTo: "queues" # set to 'queues', 'exchanges', or 'all'
73+
priority: 1 # defaults to 0
74+
definition: # policy definition
75+
ha-mode: all
76+
rabbitmqClusterReference:
77+
name: rabbitmq # rabbitmqCluster must exist in the same namespace as this resource
78+
namespace: openstack

0 commit comments

Comments
 (0)