<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 18, 2017 at 6:43 PM, Curtis <span dir="ltr"><<a href="mailto:serverascode@gmail.com" target="_blank">serverascode@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, May 18, 2017 at 4:13 PM, Adrian Turjak <<a href="mailto:adriant@catalyst.net.nz">adriant@catalyst.net.nz</a>> wrote:<br>
> Hello fellow OpenStackers,<br>
><br>
> For the last while I've been looking at options for multi-region<br>
> multi-master Keystone, as well as multi-master for other services I've<br>
> been developing and one thing that always came up was there aren't many<br>
> truly good options for a true multi-master backend. Recently I've been<br>
> looking at Cockroachdb and while I haven't had the chance to do any<br>
> testing I'm curious if anyone else has looked into it. It sounds like<br>
> the perfect solution, and if it can be proved to be stable enough it<br>
> could solve a lot of problems.<br>
><br>
> So, specifically in the realm of Keystone, since we are using sqlalchemy<br>
> we already have Postgresql support, and since Cockroachdb does talk<br>
> Postgres it shouldn't be too hard to back Keystone with it. At that<br>
> stage you have a Keystone DB that could be multi-region, multi-master,<br>
> consistent, and mostly impervious to disaster. Is that not the holy<br>
> grail for a service like Keystone? Combine that with fernet tokens and<br>
> suddenly Keystone becomes a service you can't really kill, and can<br>
> mostly forget about.<br></span></blockquote><div><br></div><div>++</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
><br>
> I'm welcome to being called mad, but I am curious if anyone has looked<br>
> at this. I'm likely to do some tests at some stage regarding this,<br>
> because I'm hoping this is the solution I've been hoping to find for<br>
> quite a long time.<br>
<br>
</span>I was going to take a look at this a bit myself, just try it out. I<br>
can't completely speak for the Fog/Edge/Massively Distributed working<br>
group in OpenStack, but I feel like this might be something they look<br>
into.<br>
<br>
For standard multi-site I don't know how much it would help, say if<br>
you only had a couple or three clouds, but more than that maybe this<br>
starts to make sense. Also running Galera has gotten easier but still<br>
not that easy.<br></blockquote><div><br></div><div>When we originally tested a PoC fernet implementation, we did it globally distributed across five data centers. We didn't generate enough non-token load to notice significant service degradation due to replication lag or issues. I have heard replication across regions in the double digits is where you start getting into some real interesting problems (gyee was one of the folks in keystone who knew more about that). Dusting off those cases with something like cockroachdb would be an interesting exercise!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I had thought that the OpenStack community was deprecating Postgres<br>
support though, so that could make things a bit harder here (I might<br>
be wrong about this).<br>
<br>
Thanks,<br>
Curtis.<br>
<span class="im HOEnZb"><br>
><br>
> Further reading:<br>
> <a href="https://www.cockroachlabs.com/" rel="noreferrer" target="_blank">https://www.cockroachlabs.com/</a><br>
> <a href="https://github.com/cockroachdb/cockroach" rel="noreferrer" target="_blank">https://github.com/<wbr>cockroachdb/cockroach</a><br>
> <a href="https://www.cockroachlabs.com/docs/build-a-python-app-with-cockroachdb-sqlalchemy.html" rel="noreferrer" target="_blank">https://www.cockroachlabs.com/<wbr>docs/build-a-python-app-with-<wbr>cockroachdb-sqlalchemy.html</a><br>
><br>
> Cheers,<br>
> - Adrian Turjak<br>
><br>
><br>
> ______________________________<wbr>______________________________<wbr>______________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br>
<br>
<br>
</span><span class="HOEnZb"><font color="#888888">--<br>
Blog: <a href="http://serverascode.com" rel="noreferrer" target="_blank">serverascode.com</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>