#10198 Consume Fedora Messaging does not work.
Closed: Fixed 2 years ago by kevin. Opened 2 years ago by phracek.

Hi,

I have one instance of our betka consumer in Upstream -> Downstream project https://github.com/sclorg/betka-fedmsg.
Configuration looks like:

# A basic configuration for Fedora's message broker, using the example callback
# which simply prints messages to standard output.
#
# This file is in the TOML format.
amqp_url = "amqps://fedora:@rabbitmq.fedoraproject.org/%2Fpublic_pubsub"
callback = "fedora_messaging.example:printer"

[tls]
ca_cert = "/etc/fedora-messaging/cacert.pem"
keyfile = "/etc/fedora-messaging/fedora-key.pem"
certfile = "/etc/fedora-messaging/fedora-cert.pem"

[client_properties]
app = "Example Application"
# Some suggested extra fields:
# URL of the project that provides this consumer
app_url = "https://github.com/fedora-infra/fedora-messaging"
# Contact emails for the maintainer(s) of the consumer - in case the
# broker admin needs to contact them, for e.g.
app_contacts_email = ["jcline@fedoraproject.org"]

[exchanges."amq.topic"]
type = "topic"
durable = true
auto_delete = false
arguments = {}

# Queue names *must* be in the normal UUID format: run "uuidgen" and use the
# output as your queue name. If your queue is not exclusive, anyone can connect
# and consume from it, causing you to miss messages, so do not share your queue
# name. Any queues that are not auto-deleted on disconnect are garbage-collected
# after approximately one hour.
#
# If you require a stronger guarantee about delivery, please talk to Fedora's
# Infrastructure team.
[queues.QUEUE_NAME]
# Keep messages on broker restart
durable = true
# variables Delete the queue when the client terminates
auto_delete = true
# Refuse multiple simultaneous consumers
exclusive = true
arguments = {}

[[bindings]]
queue = "QUEUE_NAME"
exchange = "amq.topic"
routing_keys = ["org.fedoraproject.prod.github.push"]

[consumer_config]
example_key = "for my consumer"

[qos]
prefetch_size = 0
prefetch_count = 25

[log_config]
version = 1
disable_existing_loggers = true

[log_config.formatters.simple]
format = "[%(asctime)s %(levelname)s %(name)s] %(message)s"

When I started the consumer, then in logs I can see the output:

[2021-09-06 10:42:22,307 INFO twisted] Log opened.
[2021-09-06 10:42:22,317 INFO fedora_messaging.twisted.service] Authenticating with server using x509 (certfile: /etc/fedora-messaging/fedora-cert.pem, keyfile: /etc/fedora-messaging/fedora-key.pem)
[2021-09-06 10:42:22,418 INFO twisted] Starting factory FedoraMessagingFactoryV2(parameters=<URLParameters host=rabbitmq.fedoraproject.org port=5671 virtual_host=/public_pubsub ssl=True>, confirms=True)
[2021-09-06 10:42:22,419 DEBUG fedora_messaging.twisted.factory] Waiting for <Deferred at 0x7f294c998460> to fire with new connection
[2021-09-06 10:42:22,924 DEBUG fedora_messaging.twisted.protocol] Created AMQP channel id 1
[2021-09-06 10:42:22,978 DEBUG fedora_messaging.twisted.factory] AMQP handshake completed; connection ready for use
[2021-09-06 10:42:23,032 DEBUG fedora_messaging.twisted.protocol] Created AMQP channel id 2
[2021-09-06 10:42:23,203 DEBUG fedora_messaging.twisted.protocol] Created AMQP channel id 3
[2021-09-06 10:42:23,369 DEBUG fedora_messaging.twisted.protocol] Created AMQP channel id 2
[2021-09-06 10:42:23,529 INFO fedora_messaging.twisted.protocol] Successfully registered AMQP consumer Consumer(queue=QUEUE_NAME, callback=<bound method Celerize.fedora_messaging_callback of <ucho.celerize.Celerize object at 0x7f294eb27430>>)

The alone consumer is here:
https://github.com/sclorg/betka-fedmsg/blob/master/ucho/celerize.py

It was working properly a couple of months ago, but now not. I am not able to receive any message from Fedora Messaging 2.


I can see, the Fedora Messaging is working properly here https://apps.fedoraproject.org/datagrepper/raw?topic=org.fedoraproject.prod.github.push , I guess.

On Mon, Sep 06, 2021 at 11:02:38AM +0000, Petr Hracek wrote:

[queues.24B05BCB-FE84-4D3C-9C0E-6353F2EEA6AC]
...
[[bindings]]
queue = "<QUEUE_NAME>"

Is QUEUE_NAME something that is replaced in your actual file?

Of course. The QUEUE_NAME is real UUID generated by uuidgen
E.g.

$ uuidgen
478009FF-D12D-49AA-9D28-DF7849675EF8
$

Metadata Update from @zlopez:
- Issue priority set to: Waiting on Assignee (was: Needs Review)
- Issue tagged with: low-gain, medium-trouble

2 years ago

Can you tell us what the actual queue name is? With it I can have a look on the server if the messages are piling up or not

The actual queue name is: 24B05BCB-FE84-4D3C-9C0E-6353F2EEA6AC

Based on the conversation with @pingou can you please check if bridge fedmsg <-> Fedora Messaging is working properly.

I have tested several org.fedoraproject.prod.github.# queues, but none of them works.

The bridge was not working right. @abompard fixed it. :)

Metadata Update from @kevin:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata