root / settings.d / 15-queues.conf @ 1c382247
History | View | Annotate | Download (2.7 kB)
1 | 1277fb19 | Vangelis Koukis | # -*- coding: utf-8 -*- |
---|---|---|---|
2 | 1277fb19 | Vangelis Koukis | # |
3 | 1277fb19 | Vangelis Koukis | # Queues, exchanges and bindings for AMQP |
4 | 1277fb19 | Vangelis Koukis | ########################################### |
5 | 1277fb19 | Vangelis Koukis | |
6 | 1277fb19 | Vangelis Koukis | # Rabbit work queue endpoint |
7 | 1277fb19 | Vangelis Koukis | RABBIT_HOST = "62.217.120.67:5672" |
8 | 1277fb19 | Vangelis Koukis | RABBIT_USERNAME = "okeanos" |
9 | 1277fb19 | Vangelis Koukis | RABBIT_PASSWORD = "0k3@n0s" |
10 | 1277fb19 | Vangelis Koukis | RABBIT_VHOST = "/" |
11 | 1277fb19 | Vangelis Koukis | |
12 | 1277fb19 | Vangelis Koukis | EXCHANGE_GANETI = "ganeti" # Messages from Ganeti |
13 | 1277fb19 | Vangelis Koukis | EXCHANGE_CRON = "cron" # Messages from periodically triggered tasks |
14 | 1277fb19 | Vangelis Koukis | EXCHANGE_API = "api" # Messages from the REST API |
15 | 1277fb19 | Vangelis Koukis | EXCHANGES = (EXCHANGE_GANETI, EXCHANGE_CRON, EXCHANGE_API) |
16 | 1277fb19 | Vangelis Koukis | |
17 | 1277fb19 | Vangelis Koukis | def fix_amqp_settings(backend_prefix): |
18 | 1277fb19 | Vangelis Koukis | """Configure AMQP-specific settings |
19 | 1277fb19 | Vangelis Koukis | |
20 | 1277fb19 | Vangelis Koukis | Configure AMQP-specific settings based on backend_prefix. |
21 | 1277fb19 | Vangelis Koukis | This function *must* be called later in settings.py, with |
22 | 1277fb19 | Vangelis Koukis | BACKEND_PREFIX_ID as argument. |
23 | 1277fb19 | Vangelis Koukis | |
24 | 1277fb19 | Vangelis Koukis | """ |
25 | 8417d1bf | Georgios Gousios | global BINDINGS, QUEUES, QUEUE_DEBUG, BINDINGS_DEBUG |
26 | 8417d1bf | Georgios Gousios | |
27 | 8417d1bf | Georgios Gousios | BINDINGS = [] |
28 | 8417d1bf | Georgios Gousios | QUEUES = [] |
29 | 1277fb19 | Vangelis Koukis | |
30 | 1277fb19 | Vangelis Koukis | prefix = backend_prefix.split('-')[0] |
31 | 8417d1bf | Georgios Gousios | |
32 | 8417d1bf | Georgios Gousios | QUEUE_GANETI_EVENTS_OP = "%s-events-op" % prefix |
33 | 8417d1bf | Georgios Gousios | QUEUE_GANETI_EVENTS_NET = "%s-events-net" % prefix |
34 | 32ef827c | Georgios Gousios | QUEUE_CRON_CREDITS = "%s-credits" % prefix |
35 | 8417d1bf | Georgios Gousios | QUEUE_EMAIL = "%s-email" % prefix |
36 | 32ef827c | Georgios Gousios | QUEUE_RECONC = "%s-reconciliation" % prefix |
37 | 8417d1bf | Georgios Gousios | if DEBUG is True: |
38 | 8417d1bf | Georgios Gousios | QUEUE_DEBUG = "debug" # Debug queue, retrieves all messages |
39 | 8417d1bf | Georgios Gousios | |
40 | 8417d1bf | Georgios Gousios | QUEUES = (QUEUE_GANETI_EVENTS_OP, QUEUE_GANETI_EVENTS_NET, |
41 | 8417d1bf | Georgios Gousios | QUEUE_CRON_CREDITS, QUEUE_EMAIL, QUEUE_RECONC) |
42 | 8417d1bf | Georgios Gousios | |
43 | 8417d1bf | Georgios Gousios | if DEBUG is True: |
44 | 8417d1bf | Georgios Gousios | BINDINGS_DEBUG = [ |
45 | 8417d1bf | Georgios Gousios | # Queue # Exchange # RouteKey # Handler |
46 | 8417d1bf | Georgios Gousios | (QUEUE_DEBUG, EXCHANGE_GANETI, '#', 'dummy_proc'), |
47 | 8417d1bf | Georgios Gousios | (QUEUE_DEBUG, EXCHANGE_CRON, '#', 'dummy_proc'), |
48 | 8417d1bf | Georgios Gousios | (QUEUE_DEBUG, EXCHANGE_API, '#', 'dummy_proc'), |
49 | 8417d1bf | Georgios Gousios | ] |
50 | 8417d1bf | Georgios Gousios | QUEUES += (QUEUE_DEBUG,) |
51 | 8417d1bf | Georgios Gousios | |
52 | 1277fb19 | Vangelis Koukis | # notifications of type "ganeti-op-status" |
53 | 1277fb19 | Vangelis Koukis | DB_HANDLER_KEY_OP ='ganeti.%s.event.op' % prefix |
54 | 1277fb19 | Vangelis Koukis | # notifications of type "ganeti-net-status" |
55 | 1277fb19 | Vangelis Koukis | DB_HANDLER_KEY_NET ='ganeti.%s.event.net' % prefix |
56 | 8417d1bf | Georgios Gousios | |
57 | 8417d1bf | Georgios Gousios | BINDINGS = [ |
58 | 8417d1bf | Georgios Gousios | # Queue # Exchange # RouteKey # Handler |
59 | 960c15e0 | Georgios Gousios | (QUEUE_GANETI_EVENTS_OP, EXCHANGE_GANETI, DB_HANDLER_KEY_OP, 'update_db'), |
60 | 960c15e0 | Georgios Gousios | (QUEUE_GANETI_EVENTS_NET, EXCHANGE_GANETI, DB_HANDLER_KEY_NET, 'update_net'), |
61 | 8417d1bf | Georgios Gousios | (QUEUE_CRON_CREDITS, EXCHANGE_CRON, '*.credits.*', 'update_credits'), |
62 | 8417d1bf | Georgios Gousios | (QUEUE_EMAIL, EXCHANGE_API, '*.email.*', 'send_email'), |
63 | 8417d1bf | Georgios Gousios | (QUEUE_EMAIL, EXCHANGE_CRON, '*.email.*', 'send_email'), |
64 | 8417d1bf | Georgios Gousios | (QUEUE_RECONC, EXCHANGE_CRON, 'reconciliation.*', 'trigger_status_update'), |
65 | 8417d1bf | Georgios Gousios | ] |
66 | 8417d1bf | Georgios Gousios | |
67 | 1277fb19 | Vangelis Koukis | |
68 | 1277fb19 | Vangelis Koukis | # Fix up the AMQP-specific settings based on BACKEND_PREFIX_ID |
69 | 1277fb19 | Vangelis Koukis | # Make sure to call it again, if you modify it at some later point |
70 | 1277fb19 | Vangelis Koukis | fix_amqp_settings(BACKEND_PREFIX_ID) |