Revision 8417d1bf
b/settings.d/15-queues.conf | ||
---|---|---|
50 | 50 |
EXCHANGE_API = "api" # Messages from the REST API |
51 | 51 |
EXCHANGES = (EXCHANGE_GANETI, EXCHANGE_CRON, EXCHANGE_API) |
52 | 52 |
|
53 |
QUEUE_GANETI_EVENTS = "events" |
|
54 |
QUEUE_CRON_CREDITS = "credits" |
|
55 |
QUEUE_EMAIL = "email" |
|
56 |
QUEUE_RECONC = "reconciliation" |
|
57 |
QUEUE_DEBUG = "debug" # Debug queue, retrieves all messages |
|
58 |
QUEUES = (QUEUE_GANETI_EVENTS, QUEUE_CRON_CREDITS, QUEUE_EMAIL, QUEUE_RECONC) |
|
59 |
|
|
60 |
BINDINGS_DEBUG = [ |
|
61 |
# Queue # Exchange # RouteKey # Handler |
|
62 |
(QUEUE_DEBUG, EXCHANGE_GANETI, '#', 'dummy_proc'), |
|
63 |
(QUEUE_DEBUG, EXCHANGE_CRON, '#', 'dummy_proc'), |
|
64 |
(QUEUE_DEBUG, EXCHANGE_API, '#', 'dummy_proc'), |
|
65 |
] |
|
66 |
|
|
67 |
BINDINGS = [ |
|
68 |
# Queue # Exchange # RouteKey # Handler |
|
69 |
(QUEUE_GANETI_EVENTS, EXCHANGE_GANETI, 'ganeti.*.event.op', 'update_db'), |
|
70 |
(QUEUE_GANETI_EVENTS, EXCHANGE_GANETI, 'ganeti.*.event.net', 'update_net'), |
|
71 |
(QUEUE_CRON_CREDITS, EXCHANGE_CRON, '*.credits.*', 'update_credits'), |
|
72 |
(QUEUE_EMAIL, EXCHANGE_API, '*.email.*', 'send_email'), |
|
73 |
(QUEUE_EMAIL, EXCHANGE_CRON, '*.email.*', 'send_email'), |
|
74 |
(QUEUE_RECONC, EXCHANGE_CRON, 'reconciliation.*', 'trigger_status_update'), |
|
75 |
] |
|
76 |
|
|
77 | 53 |
def fix_amqp_settings(backend_prefix): |
78 | 54 |
"""Configure AMQP-specific settings |
79 | 55 |
|
... | ... | |
82 | 58 |
BACKEND_PREFIX_ID as argument. |
83 | 59 |
|
84 | 60 |
""" |
85 |
global DB_HANDLER_KEY_OP, DB_HANDLER_KEY_NET, BINDINGS, QUEUES |
|
61 |
global BINDINGS, QUEUES, QUEUE_DEBUG, BINDINGS_DEBUG |
|
62 |
|
|
63 |
BINDINGS = [] |
|
64 |
QUEUES = [] |
|
86 | 65 |
|
87 | 66 |
prefix = backend_prefix.split('-')[0] |
67 |
|
|
68 |
QUEUE_GANETI_EVENTS_OP = "%s-events-op" % prefix |
|
69 |
QUEUE_GANETI_EVENTS_NET = "%s-events-net" % prefix |
|
70 |
QUEUE_CRON_CREDITS = "credits" |
|
71 |
QUEUE_EMAIL = "%s-email" % prefix |
|
72 |
QUEUE_RECONC = "reconciliation" |
|
73 |
if DEBUG is True: |
|
74 |
QUEUE_DEBUG = "debug" # Debug queue, retrieves all messages |
|
75 |
|
|
76 |
QUEUES = (QUEUE_GANETI_EVENTS_OP, QUEUE_GANETI_EVENTS_NET, |
|
77 |
QUEUE_CRON_CREDITS, QUEUE_EMAIL, QUEUE_RECONC) |
|
78 |
|
|
79 |
if DEBUG is True: |
|
80 |
BINDINGS_DEBUG = [ |
|
81 |
# Queue # Exchange # RouteKey # Handler |
|
82 |
(QUEUE_DEBUG, EXCHANGE_GANETI, '#', 'dummy_proc'), |
|
83 |
(QUEUE_DEBUG, EXCHANGE_CRON, '#', 'dummy_proc'), |
|
84 |
(QUEUE_DEBUG, EXCHANGE_API, '#', 'dummy_proc'), |
|
85 |
] |
|
86 |
QUEUES += (QUEUE_DEBUG,) |
|
87 |
|
|
88 | 88 |
# notifications of type "ganeti-op-status" |
89 | 89 |
DB_HANDLER_KEY_OP ='ganeti.%s.event.op' % prefix |
90 | 90 |
# notifications of type "ganeti-net-status" |
91 | 91 |
DB_HANDLER_KEY_NET ='ganeti.%s.event.net' % prefix |
92 |
BINDINGS[0] = ("events-%s-op" % prefix, EXCHANGE_GANETI, DB_HANDLER_KEY_OP, 'update_db') |
|
93 |
BINDINGS[1] = ("events-%s-net" % prefix, EXCHANGE_GANETI, DB_HANDLER_KEY_NET, 'update_net') |
|
94 |
QUEUES += ("events-%s-op" % prefix, "events-%s-net" % prefix) |
|
92 |
# notifications of type "email" |
|
93 |
EMAIL_HANDLER_KEY = '*.email.%s.*' % prefix |
|
94 |
|
|
95 |
BINDINGS = [ |
|
96 |
# Queue # Exchange # RouteKey # Handler |
|
97 |
(QUEUE_GANETI_EVENTS_OP, EXCHANGE_GANETI, 'ganeti.*.event.op', 'update_db'), |
|
98 |
(QUEUE_GANETI_EVENTS_NET, EXCHANGE_GANETI, 'ganeti.*.event.net', 'update_net'), |
|
99 |
(QUEUE_CRON_CREDITS, EXCHANGE_CRON, '*.credits.*', 'update_credits'), |
|
100 |
(QUEUE_EMAIL, EXCHANGE_API, '*.email.*', 'send_email'), |
|
101 |
(QUEUE_EMAIL, EXCHANGE_CRON, '*.email.*', 'send_email'), |
|
102 |
(QUEUE_RECONC, EXCHANGE_CRON, 'reconciliation.*', 'trigger_status_update'), |
|
103 |
] |
|
104 |
|
|
95 | 105 |
|
96 | 106 |
# Fix up the AMQP-specific settings based on BACKEND_PREFIX_ID |
97 | 107 |
# Make sure to call it again, if you modify it at some later point |
Also available in: Unified diff