<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Denis, I actually don't think that Swift needs to use oslo.messaging at all. The middleware loads the rabbit configuration for the Notifier class from the CONF object here:<br><a href="https://github.com/openstack/ceilometermiddleware/blob/master/ceilometermiddleware/swift.py#L112" rel="noreferrer" target="_blank">https://github.com/openstack/ceilometermiddleware/blob/master/ceilometermiddleware/swift.py#L112</a><br>and that conf object should use the config file sections that oslo_messaging relies on, right? So, this should really just require a change to the swift-proxy conf files to add the [oslo_messaging] sections, I think?</blockquote><br><div class="gmail_extra">Well, yes, it make sense. Current scheme supports only one RabbitMQ node with url parameter. If there exists possibility use some kind of oslo_messaging/rabbit_hosts - i'm ok with such approach.</div><div class="gmail_extra"><br><div class="gmail_quote">2015-12-01 19:30 GMT+03:00 Jay Pipes <span dir="ltr"><<a href="mailto:jaypipes@gmail.com" target="_blank">jaypipes@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 12/01/2015 08:17 AM, Richard Hawkins wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Is it possible to write the functionality you desire in your<br>
own middleware for Swift that lives outside of the Swift code? I would<br>
favor that approach for the following reasons:<br>
<br>
* You would have more control over code/changes so your middleware could<br>
stabilize and mature faster (don't have to wait for reviews from<br>
community for minor tweaks).<br>
<br>
* Since you are writing it, you get exactly what you want.<br>
<br>
* Swift would not gain more dependancies that would have to be installed.<br>
<br>
There have been a few projects in the past that have been successful<br>
middleware without being included (swauth, swift3, swift-informant).<br>
<br>
And in the end, if your middleware becomes wildly successful and<br>
everybody uses it, there would be no reason it could not be merged into<br>
the Swift code at a later time.<br>
</blockquote>
<br></span>
It's not Denis' middleware. It's the Ceilometer community's middleware for Swift to emit notification payloads that Ceilometer understands:<br>
<br>
<a href="https://github.com/openstack/ceilometermiddleware" rel="noreferrer" target="_blank">https://github.com/openstack/ceilometermiddleware</a><br>
<br>
Denis, I actually don't think that Swift needs to use oslo.messaging at all. The middleware loads the rabbit configuration for the Notifier class from the CONF object here:<br>
<br>
<a href="https://github.com/openstack/ceilometermiddleware/blob/master/ceilometermiddleware/swift.py#L112" rel="noreferrer" target="_blank">https://github.com/openstack/ceilometermiddleware/blob/master/ceilometermiddleware/swift.py#L112</a><br>
<br>
and that conf object should use the config file sections that oslo_messaging relies on, right? So, this should really just require a change to the swift-proxy conf files to add the [oslo_messaging] sections, I think?<br>
<br>
Best,<br>
-jay<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
Thanks,<br>
Richard Hawkins<br>
Software Developer - Cloud Files (OpenStack Swift)<br>
Rackspace<br>
<br>
<br>
<br></span>
------------------------------------------------------------------------<br>
*From:* Denis Egorenko <<a href="mailto:degorenko@mirantis.com" target="_blank">degorenko@mirantis.com</a>><br>
*Sent:* Tuesday, December 1, 2015 3:47 AM<br>
*To:* OpenStack Development Mailing List (not for usage questions)<br>
*Subject:* [openstack-dev] [swift] [oslo.messaging] [fuel] [ha] Is Swift<div><div class="h5"><br>
going to support oslo.messaging?<br>
Hello folks,<br>
<br>
The issue I want to raise is related to Swift and Oslo.messaging.<br>
Currently Swift doesn't support oslo.messaging middleware. There is no<br>
possible to setup RabbitMQ HA setup in swift configuration, so we faced<br>
the problem [1] in Fuel. If we want to use Ceilometer notifications for<br>
Swift, we should use ceilometermiddleware. It provides possibility<br>
configure properly transport settings for notifications [2]. The main<br>
problem that Fuel uses HA RabbitMQ setup (mirrored queues) with direct<br>
connection from clients. The client uses oslo.messaging to establish the<br>
connection with one of rabbitmq servers. oslo.messaging uses heartbeats<br>
to switch to another RabbitMQ server if/when there are any network<br>
issues. However, Swift doesn't use oslo.messaging at all. It's possible<br>
to specify only one RabbitMQ server in swift configuration hence there<br>
can be problems if specified server is down or has network flapping<br>
issues. Alternative solution is to use VIP for RabbitMQ [3]. This setup<br>
is not perfect also as timeout and connection restore time is much worse.<br>
<br>
So, the question is:<br>
Is Swift going to support oslo.messaging and particularly rabbit_hosts?<br>
<br>
[1] <a href="https://bugs.launchpad.net/fuel/+bug/1510064" rel="noreferrer" target="_blank">https://bugs.launchpad.net/fuel/+bug/1510064</a><br>
[2] <a href="https://review.openstack.org/#/c/152273" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/152273</a><br>
[3] <a href="https://review.openstack.org/#/c/248147" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/248147</a><br>
<br>
--<br>
Best Regards,<br>
Egorenko Denis,<br>
Deployment Engineer<br>
Mirantis<br>
<br>
<br></div></div>
__________________________________________________________________________<span class=""><br>
OpenStack Development Mailing List (not for usage questions)<br></span>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
<br>
__________________________________________________________________________<span class=""><br>
OpenStack Development Mailing List (not for usage questions)<br></span>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="color:rgb(136,136,136)"><span style="font-family:arial;font-size:small">Best Regards,</span><br></div><span style="color:rgb(136,136,136)">Egorenko Denis</span>,</div><div><span style="color:rgb(136,136,136)">Deployment Engineer</span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Mirantis</span><br></div></div></div></div>
</div></div>