tl;dr. We’re seriously considering dropping Qpid support in ManageIQ.
Some background first…
How does ManageIQ use Qpid?
ManageIQ uses Qpid when connecting to OpenStack’s AMQP bus. This allows ManageIQ to grab events off the AMQP event stream and respond to actions taken outside of the ManageIQ web application that affect OpenStack.
Can we still get OpenStack Events without Qpid?
Yes. In fact, most upstream OpenStack implementations use RabbitMQ instead of Qpid for their AMQP bus. ManageIQ will still fully support RabbitMQ for AMQP integration with OpenStack.
Why do you want to abandon Qpid?
It’s a long story. But, it boils down to a few key points:
qpid_messagingrubygem that we use depends on files provided by the
qpid-cpp-client-develpackage in CentOS.
- For reasons outside our control, CentOS6 (which is based on RHEL6) does not ship
qpid-cpp-client-devel, but it does ship
- Since CentOS6 contains Qpid packages in the base distribution, Qpid packages cannot live in EPEL.
Because of these three points, our nightly build process is at least an order of magnitude more complex than it should be. We’ve reached out to the Qpid team directly, and they’re basically facing the same problem we are for EL6 derivatives.
What about with EL7?
Qpid is no longer in the base OS for EL7 derivatives. This means that Qpid packages could live in EPEL and enjoy all the benefits from that. However, I don’t believe our release process is ready to adopt EL7 just yet. But, we’ll keep that in our back pocket.
What does this mean for me?
If you have a strong dependency on Qpid with ManageIQ Community Edition, then we want to hear from you (respond directly to this post). To be honest, in most cases we’re likely going to ask if you can switch to RabbitMQ for AMQP support in OpenStack. If there is enough opposition to removing Qpid from ManageIQ, then we’ll take a closer look at our approach here. At this point, we don’t know how to quantify “enough opposition”. But, honestly it will have to be pretty monumental to justify the extra work involved in the nightly build process.
When is Qpid support being removed from ManageIQ?
We don’t have a strict timeline yet. But, if we don’t hear a great deal of opposition to this, then it will probably be soon. I’ll let @jrafanie fill in details there.
We sincerely hope this doesn’t affect anyone. But, if it does, please add comments to this post so we know you’re out there.