Improve RabbitMQ HA checks in OSTF

Bug #1387567 reported by Bogdan Dobrelya
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Fuel Python (Deprecated)

Bug Description

RabbitMQ OSTF test performs only "rabbitmqctl cluster_status" check . No functionality is checked by OSTF, so it never covers pacemaker logic concerning assembly rabbitmq cluster.

There are some situations when OSTF doesn't reflect actual rabbitmq status:
- "rabbitmqctl cluster_status" shows that all nodes are running but pacemaker ocf script hasn't opened 5673 port in iptables yet (or there is remained an extra iptables rule that blocks 5673 port);
- "rabbitmqctl cluster_status" shows that all nodes are running but pacemaker is just checking if the rabbitmq starts (start phase) and it is going to shutdown rabbitmq before performing further steps;
- "rabbitmqctl cluster_status" shows that all nodes are running but it is still inaccessible thru haproxy because of haproxy, vip__management, network or any other issue. In this case rabbitmq looks like a nonworking for other services.

We want to make sure that rabbitmq is successfully assembled by pacemaker and ready to serve requests from other services.
The better way would be perform creating some queue and sending some test messages, but it is not realized in OSTF yet (please see https://gist.github.com/Mihalych/04bccd950361ac3c760f script for it).

Also, sometimes rabbitmq cluster looks healthy, but "rabbitmqctl list_channels" hangs and Openstack services cannot use channels as well. I believe this case should be also addressed.

Tags: ostf
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

related bug https://bugs.launchpad.net/fuel/+bug/1383247 (some code samples from https://review.openstack.org/#/c/131742/ could be reused, perhaps)

Changed in fuel:
milestone: none → 6.0
assignee: nobody → Fuel Python Team (fuel-python)
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Dennis Dmitriev (ddmitriev) wrote :

As I saw, OSTF has bunch of methods for work with rabbit's queues, but they aren't used in OSTF.

Perhaps it would be good to use list_queues() after list_nodes() in test_rabbit.py to ensure that rabbitmq is working fine thru vip__management:5672 in the current cluster.

Revision history for this message
Dennis Dmitriev (ddmitriev) wrote :
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 6.0 → 6.1
tags: added: ostf
Revision history for this message
Tatyanka (tatyana-leontovich) wrote :

Move to invalid according the same issue was adressed in bp https://blueprints.launchpad.net/fuel/+spec/ostf-rabbit-replication-tests

Changed in fuel:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.