I need to create a RabbitMQ queue from command line.
./rabbitmqadmin -u user1 -p password1 -N rabbit@rabbitmq-0.rabbitmq.default.svc.cluster.local declare queue name=CompName.Player1
But instead of adding the queue I get:
**Not found: /api/queues/%2F/CompName.Player1
I tried these but had no success, also the rabbitmq log shows no events when running these rabbitmqadmin commands:
./rabbitmqadmin declare queue name=Test1
./rabbitmqadmin -u user1 -p password1 declare queue name=CompName.Player1
curl -i -u user1:password1 -H "content-type:application/json" -XPUT -d'{"durable":true}' http://localhost:15672/api/queues/%2f/CompName.Player1
Adding the queue manually via management web UI works but it's not an option for a kubernetes solution.
I got it. I think at some point the API endpoint got updated so all calls must go to http://localhost:15672/rabbitmq/api. Here's the configuration line that was added that caused the issues:
management.path_prefix = /rabbitmq
Here are the working examples:
./rabbitmqadmin -u user1 -p password1 --path-prefix=http://localhost:15672/rabbitmq declare queue name=CompName.Player1
curl -i -u user1:password1 -H "content-type:application/json" -XPUT -d'{"durable":true}' http://localhost:15672/rabbitmq/api/queues/%2f/CompName.Player1
Also this worked:
import pika
import sys
connection = pika.BlockingConnection(
pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='CompName.Player1', durable=True)
connection.close()```