<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 9, 2017 at 10:00 PM, Dan Sneddon <span dir="ltr"><<a href="mailto:dsneddon@redhat.com" target="_blank">dsneddon@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Pete, thanks for mentioning network isolation and segmentation. That's<br>
my area of interest, since I'm focused on underlay networking for<br>
TripleO and bare-metal networking in Ironic.<br>
<br>
Network isolation is going to be important for several reasons:<br>
<br>
1) Separation of control and data plane in deployments<br>
2) Tenant isolation in multi-tenant Ironic BMaaS<br>
3) Network Function Virtualization (NFV) use cases<br>
<br>
The intention of the isolated networking model for TripleO was to<br>
separate control and data plane, as well as tenant from administrative<br>
traffic. A secondary goal was to make this highly configurable and<br>
customizable. This has been well received by many operators who have<br>
rigid security isolation requirements (such as PCI-DSS for financial<br>
transactions), or those who customize their underlay network to<br>
integrate into an existing networking topology. I'm thinking about how<br>
to do something similar in Kubernetes, perhaps with Kuryr.<br>
<br>
The Harbor project looks very interesting. Do you have any more<br>
information about how Harbor uses Raven to achieve isolation? Also, are<br>
you saying that Harbor uses an older (prototype) version of Raven, or<br>
are you referring to Raven itself as a prototype?<br></blockquote><div><br></div><div>I can answer to some of that :-)</div><div><br></div><div>Raven was the Python 3 asyncio based prototype my team built back</div><div>when I was at Midokura for integrating Kubernetes and Neutron as</div><div>something to then upstream to Kuryr with the help of the rest of the</div><div>community (taking the lessons learned from the PoC and improving</div><div>on it). So yes, Raven itself was a prototype (a quite functional one)</div><div>and led to what we know today in Kuryr as the kuryr-kubernetes</div><div>controller, which is now almost at the same level of features, missing</div><div>just two patches for the service support.</div><div><br></div><div>I have to note here, that Pete did some interesting modifications to</div><div>Raven like OVN support addition and leveraging the watcher model</div><div>to make, IIRC, the cluster services use the native OVN load balancer</div><div>rather than neutron-lbaas.</div><div><br></div><div>The Kuryr-kubernetes controller is built with pluggability in mind and it</div><div>has a system of drivers (using stevedore) for acquiring resources.  This </div><div>makes things like what Pete did easier to achieve with the new codebase</div><div>and also pick yourself the level of isolation that you want. Let's say that you want</div><div>to have the different OSt components pick different networks or even</div><div>projects, you would just need to make a very small driver like [0] or [1]</div><div>that could, for example, make an http request to some service that held</div><div>a mapping, read some specific annotation, etc.</div><div><br></div><div>In terms of isolation for deployments, we are starting discussion about</div><div>leveraging the new CNI support for reporting multiple interfaces (still not</div><div>implemented in k8s, but playing is fun) so that we can put the pods that</div><div>need it both in the control and in the data plane, we'll probably need to</div><div>tweak the interface of the drivers so that they can return an iterable.</div><div><br></div><div><br></div><div>[0] <a href="https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/drivers/default_project.py#L39">https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/drivers/default_project.py#L39</a></div><div>[1] <a href="https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/drivers/default_subnet.py#L56">https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/drivers/default_subnet.py#L56</a></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I'll be at the PTG Tuesday through Friday morning. I'm looking forward<br>
to having some conversations about this topic.<br>
<br>
--<br>
Dan Sneddon         |  Senior Principal OpenStack Engineer<br>
<a href="mailto:dsneddon@redhat.com">dsneddon@redhat.com</a> |  <a href="http://redhat.com/openstack" rel="noreferrer" target="_blank">redhat.com/openstack</a><br>
dsneddon:irc        |  @dxs:twitter<br>
<span class="gmail-"><br>
On 02/09/2017 09:56 AM, Pete Birley wrote:<br>
> Hi Flavio,<br>
><br>
> I've been doing some work on packaging Kuryr for use with K8s as an<br>
> underlay for OpenStack on Kubernetes. When we met up in Brno the Harbor<br>
> project I showed you used Tony's old Raven Prototype to provide the<br>
> network isolation and segmentation in K8s. I've since begun to lay the<br>
> groundwork for OpenStack-Helm to support similar modes of operation,<br>
> allowing both service isolation and also combined networking between<br>
> OpenStack and K8s, where pods and VMs can co-exist on the same Neutron<br>
> Networks.<br>
><br>
> I'm not sure I will have things fully functional within OpenStack-Helm<br>
> by the PTG, but it would be great to sit down and work out how we can<br>
> ensure that not only do we not end up replicating work needlessly, but<br>
> also find further opportunities to collaborate. I'll be in Atlanta all<br>
> week, though I think some of the OS-Helm and Kolla-K8s developers will<br>
> be leaving on Wed, would a particular day/time work best for you?<br>
><br>
><br>
> Cheers<br>
><br>
> Pete (portdirect)<br>
><br>
><br>
> On Thu, Feb 9, 2017 at 8:57 AM, Flavio Percoco <<a href="mailto:flavio@redhat.com">flavio@redhat.com</a><br>
</span><div><div class="gmail-h5">> <mailto:<a href="mailto:flavio@redhat.com">flavio@redhat.com</a>>> wrote:<br>
><br>
>     Greetings,<br>
><br>
>     I was talking with Tony and he mentioned that he's recording a new<br>
>     demo for<br>
>     kuryr and, well, it'd be great to also use the containerized version<br>
>     of TripleO<br>
>     for the demo.<br>
><br>
>     His plan is to have this demo out by next week and that may be too<br>
>     tight for the<br>
>     containerized version of TripleO (it may be not, let's try). That<br>
>     said, I think<br>
>     it's still a good opportunity for us to sit down at the PTG and play<br>
>     with this a<br>
>     bit further.<br>
><br>
>     So, before we set a date and time for this, I wanted to extend the<br>
>     invite to<br>
>     other folks and see if there's some interest. It be great to also<br>
>     have folks<br>
>     from Kolla and openstack-helm joining.<br>
><br>
>     Looking forward to hearing ideas and hacking with y'all,<br>
>     Flavio<br>
><br>
>     --<br>
>     @flaper87<br>
>     Flavio Percoco<br>
><br>
>     ______________________________<wbr>______________________________<wbr>______________<br>
>     OpenStack Development Mailing List (not for usage questions)<br>
>     Unsubscribe:<br>
>     <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>
</div></div>>     <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@<wbr>lists.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>
>     <<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 class="gmail-HOEnZb"><font color="#888888">><br>
> --<br>
><br>
> Port.direct <<a href="https://port.direct" rel="noreferrer" target="_blank">https://port.direct</a>><br>
><br>
><br>
><br>
> Pete Birley / Director<br>
> pete@port.direct <mailto:<a href="mailto:pete@port.direct">pete@port.direct</a>> / <a href="tel:%2B447446862551" value="+447446862551">+447446862551</a><br>
><br>
> *PORT.*DIRECT<br>
</font></span><span class="gmail-im gmail-HOEnZb">> United Kingdom<br>
> <a href="https://port.direct" rel="noreferrer" target="_blank">https://port.direct</a><br>
><br>
> This e-mail message may contain confidential or legally privileged<br>
> information and is intended only for the use of the intended<br>
> recipient(s). Any unauthorized disclosure, dissemination, distribution,<br>
> copying or the taking of any action in reliance on the information<br>
> herein is prohibited. E-mails are not secure and cannot be guaranteed to<br>
> be error free as they can be intercepted, amended, or contain viruses.<br>
> Anyone who communicates with us by e-mail is deemed to have accepted<br>
> these risks. Port.direct is not responsible for errors or omissions in<br>
> this message and denies any responsibility for any damage arising from<br>
> the use of e-mail. Any opinion and other statement contained in this<br>
> message and any attachment are solely those of the author and do not<br>
> necessarily represent those of the company.<br>
><br>
><br>
><br>
</span><div class="gmail-HOEnZb"><div class="gmail-h5">> ______________________________<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>
<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>
</div></div></blockquote></div><br></div></div>