<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Thanks for the advise, Mohammed :-)</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">The several differences between current Trove and Octavia communication model are:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">- The attack surface between database and haproxy is different, it's much easier to hack database than haproxy. So the Octavia model is good, but doesn't mean it's suitable for Trove as well.</div><div class="gmail_default" style="font-family:verdana,sans-serif">- The Octavia guest agent normally doesn't initialize the communication with the control plane, except for sending the monitoring status via UDP, but Trove guest agent has to notify update back to control plane for database status change. This could be changed though.</div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div><div>---<br><font face="verdana, sans-serif">Cheers,<br>Lingxian Kong</font></div><div><font face="verdana, sans-serif">Catalyst Cloud</font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 2, 2019 at 6:33 AM Mohammed Naser <<a href="mailto:mnaser@vexxhost.com">mnaser@vexxhost.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sun, Mar 31, 2019 at 11:27 PM Lingxian Kong <<a href="mailto:anlin.kong@gmail.com" target="_blank">anlin.kong@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I'm Lingxian Kong, I'm going to serve as Trove PTL for the Train dev cycle. Since the master branch is open for contribution and review, for those who care about Trove, here are several things I'd like to bring to your attention and most importantly, need your feedback.<br>
><br>
> - Deprecate nova-network.<br>
><br>
> As I mentioned in the candidacy, The nova-network related code is spread in the repo, which makes it very difficult for new feature implementation and bugfix. Considering nova-network was deprecated in the OpenStack Newton release, I propose we also deprecate nova-network support in Trove and remove after several cycles according to the deprecation policy of the community. I'm not sure if there is still anyone using nova-network for Trove, especially in production. If yes, please reply to this email.<br>
><br>
> - Create service VM in admin project by default<br>
><br>
> Currently, Trove has configuration support to create the db instance in the admin project, which I think should be the default deployment model to reduce the security risk given all the db instances are communicating with RabbitMQ in the control plane.<br>
><br>
> - Remove SecurityGroup API extension<br>
><br>
> TBH, I don't know when and why that extension was added in Trove but since it's not included in Trove API document(<a href="https://developer.openstack.org/api-ref/database/" rel="noreferrer" target="_blank">https://developer.openstack.org/api-ref/database/</a>), I assume there is on one relies on that in production, so should be safe to remove.<br>
><br>
> - Remove SecurityGroup related database model<br>
><br>
> I don't have the history development background in my mind, but IMHO, i don't think it's reasonable for Trove to maintain such information in db.<br>
><br>
> - Security group management enhancement<br>
><br>
> Removing the API extension and database model doesn't mean Trove shouldn't support security group for the db instance, on the contrary, security should always be the first thing we consider for new features. The two tasks above are actually prerequisites for this one. In order to make it easy to maintain and as more secure as possible, Trove is not going to allow the end user to manipulate the security group associated with db instance. Trove will try to provide as more information as possible to make the debugging and performance tuning easy.<br>
><br>
> - Monitoring capability<br>
><br>
> Currently, there is no monitoring capability support in Trove, and I think that's the only main part missing for Trove to be running in production. I don't have a full picture in mind now but will try to figure out how to achieve that.<br>
><br>
> - Priorities of the previous dev cycles<br>
><br>
> Of course, I shouldn't put the previous dev cycle priorities away from the track, e.g. the Stein dev cycle priorities are well documented here <a href="https://etherpad.openstack.org/p/trove-stein-priorities-and-specs-tracking" rel="noreferrer" target="_blank">https://etherpad.openstack.org/p/trove-stein-priorities-and-specs-tracking</a><br>
><br>
> As Trove project has been experiencing some up and downs in the past, but it's still very useful in some deployment use cases and has some advantages over the container deployment model. As you could guess, the reason I raised my hand to lead Trove is that we(Catalyst Cloud) have been deploying Trove in production, so all those things are aiming at making Trove production ready, not only for private cloud but also for the public.<br>
><br>
> If you have any concerns related to what's mentioned above, please don't hesitate to reply. Alternately, I'm always in the #openstack-trove IRC channel and could answer any questions during the working hours of UTC+12.<br>
<br>
I think another thing is the deployment model of relying on RabbitMQ<br>
to talk to the control plane. That has been the biggest sticking<br>
point for deployers. I think adopting something similar to the<br>
Octavia service VM model with public/private key and HTTP API might be<br>
far more successful.<br>
<br>
> I really appreciate any feedback from the community.<br>
><br>
> ---<br>
> Cheers,<br>
> Lingxian Kong<br>
> Catalyst Cloud<br>
<br>
<br>
<br>
-- <br>
Mohammed Naser — vexxhost<br>
-----------------------------------------------------<br>
D. 514-316-8872<br>
D. 800-910-1726 ext. 200<br>
E. <a href="mailto:mnaser@vexxhost.com" target="_blank">mnaser@vexxhost.com</a><br>
W. <a href="http://vexxhost.com" rel="noreferrer" target="_blank">http://vexxhost.com</a><br>
</blockquote></div>