03:02:02 <tfukushima> #startmeeting kuryr
03:02:03 <openstack> Meeting started Tue Jun 28 03:02:02 2016 UTC and is due to finish in 60 minutes.  The chair is tfukushima. Information about MeetBot at http://wiki.debian.org/MeetBot.
03:02:04 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
03:02:06 <openstack> The meeting name has been set to 'kuryr'
03:02:48 <tfukushima> Who's up for the Kuryr weekly meeting?
03:03:12 <tango> o/
03:03:21 <limao> o/
03:04:56 <vikasc> tfukushima, ping
03:05:15 <tfukushima> #info tango, limao, vikasc and tfukushima are present
03:05:56 <tfukushima> Hi folks, let me start with the overlapping IPAM issue
03:06:25 <tfukushima> #topic Overlapping IPAM
03:07:18 <tfukushima> So I can see patches submitted by vikasc. I reviewed some.
03:07:41 <tfukushima> #link kuryr patches https://review.openstack.org/#/q/project:openstack/kuryr
03:08:09 <vikasc> tfukushima,  due to recently merged "neutron prt active" patch of banix, some of the unit tests are failing
03:08:47 <tfukushima> vikasc: His patch was failing or his patch makes your patch failed?
03:08:50 <vikasc> tfukushima, I am working on fixing those
03:09:13 <vikasc> tfukushima, his patch made my patch test cases failed :)
03:09:21 <vikasc> tfukushima, which were under review
03:09:34 <tfukushima> Ok, that's unfortunate. :-/
03:09:44 <vikasc> tfukushima, to be precise, he added one more parameter to _get_fake_port api
03:09:57 <tfukushima> I see.
03:10:05 <vikasc> tfukushima, i suspect that is causing trouble, looking into it
03:10:43 <tfukushima> Good. I'll continue reviewing your patches as well.
03:10:50 <vikasc> thanks tfukushima
03:11:11 <tfukushima> vikasc: Any update on the pull request against Docker upstream?
03:11:26 <vikasc> tfukushima, unfortunately  no
03:11:53 <tfukushima> It seems they were busy to add new features like embedded Swam to 1.12. :-p
03:12:19 <vikasc> tfukushima, probably yes
03:13:02 <tfukushima> Anyways, take it easy. Making their CI happy would make the merge more possible, I guess.
03:13:51 <vikasc> tfukushima,  i will work on fixing test cases, initially i was hoping some signal from them. But your point makes more sense on fixing CI
03:14:27 <vikasc> tfukushima, once my current patches in Kuryr are in good shape will work on docker PR test cases
03:15:09 <tfukushima> vikasc: Yeah, at that point they'd take your pull requests seriously because they're (probably) too busy to look at every patch.
03:15:44 <vikasc> tfukushima, agreed, broken CI may also be one more reason for extra delay
03:16:36 <vikasc> tfukushima, I too was thinking on similar lines, and now after your suggestion  adding this to my TODO list
03:17:10 <tfukushima> vikasc: Thanks. Do you have any other updates you might want to share?
03:17:38 <vikasc> tfukushima, not on ipam, I want discussion on nested-vm/refactoring
03:18:06 <tfukushima> Ok, let's move to that topic.
03:18:12 <vikasc> tfukushima, thanks
03:18:21 <tfukushima> #topic Netsed VM/containers
03:18:37 <tfukushima> vikasc: Please go ahead.
03:19:14 <vikasc> tfukushima, i was discussing this with some of teammates over irc as well as on ml.
03:19:30 <vikasc> tfukushima, please give me a moment , i will share ml link
03:20:08 <vikasc> http://lists.openstack.org/pipermail/openstack-dev/2016-June/098209.html
03:20:08 <tfukushima> Please take your time. :-)
03:20:45 <tfukushima> #link [openstack-dev] [Kuryr] Refactoring into common library and kuryr-libnetwork + Nested_VMs http://lists.openstack.org/pipermail/openstack-dev/2016-June/098209.html
03:21:23 <vikasc> tfukushima, shall we have a very small break, so that all can be sync going through ml link?
03:22:05 <tfukushima> Sure. Let's have 5 mins break then.
03:22:12 <vikasc> tfukushima, +1
03:26:09 <vikasc> nested-vm spec did not have implementation level details. So i want to share, discuss and get validated my thi nking with all team members
03:26:16 <vikasc> *thinking
03:27:24 <vikasc> logic from current libnetwork which makes neutron calls can be moved to kuryr-controller.
03:28:09 <vikasc> current kuryr will be modified to make calls to kuryr-controller for any network related services
03:28:27 <vikasc> kuryr-controller is responsible for:
03:28:40 <vikasc> 1. making calls to other openstack services
03:28:58 <vikasc> 2. allocating segmentation id for containers on each vm
03:29:00 <tfukushima> vikasc: What kind of neutron calls would move? Like _get_networks_by_attrs and others?
03:29:36 <vikasc> tfukushima,  yes.. all neutron apis like get_port, create_subnet etc
03:30:09 <vikasc> tfukushima,  Otherwise we will have to store credentials on each vm
03:31:47 <tfukushima> Sorry for interrupting. Please go on if you didn't finish it yet.
03:32:38 <vikasc> tfukushima,  kuryr part running on each vm will be responsible only for:
03:33:28 <vikasc> 1. configuring local (inside vm) backened(ovs or midonet) for containers traffic tagging
03:33:55 <vikasc> 2. vif binding
03:34:44 <vikasc> But for anything related to neutron or allocation of tags will be done by central kuryr-controller
03:36:02 <vikasc> central kuryr-controller, apart from talking to neutron and per-vm tags allocation , will also be responsible for configuring ovs on compute machine for traffic untagging
03:36:23 <vikasc> tfukushima, my first iteration is done :)
03:37:02 <vikasc> tfukushima, not sure how much clear i was :)
03:38:28 <tfukushima> vikasc: Ok, so how the component on each VM (kuryr-agent?) talk to the centralized kuryr-controller?
03:38:52 <vikasc> tfukushima,  how about rest calls?
03:39:05 <vikasc> tfukushima,  just like a client
03:39:27 <tfukushima> Oh, I guessed it'd be done through RPC or something.
03:39:38 <vikasc> tfukushima, since it has to react to calls from libnetwork
03:40:41 <tfukushima> Ok, anyways I got the point.
03:40:42 <vikasc> tfukushima,  initially i was thinking of rpc but then rest calls was making more sense
03:41:24 <vikasc> tfukushima, so if get some improvements suggestion , i will update the current nested-vm spec
03:42:30 <tango> vikasc: is the agent talking to the controller now?
03:42:48 <vikasc> tfukushima, you mean in current code?
03:42:57 <tango> right
03:43:08 <vikasc> tfukushima, no..
03:43:11 <tfukushima> vikasc: tango is not me. :-)
03:43:20 <vikasc> oh, sorry
03:43:42 <tango> np :)
03:43:57 <vikasc> tango,  no.. currently agent/client/driver talks directly to neutron
03:44:28 <tango> ok, so what does the controller do now?
03:44:40 <vikasc> tango, there is no controller :D
03:45:01 <tango> ah ok, me learning Kuryr :)
03:45:06 <vikasc> tango,  everything is in libnetwork driver only
03:45:15 <vikasc> tango,  np :)
03:45:19 <tfukushima> I guess he meant kuryr/controller.py.
03:45:59 <vikasc> tango,  current controller.py has all linetwork api handling methods
03:46:35 <tfukushima> It'd delegate the actual Neutron API calls to the centralized "kuryr-controller". That's the idea I got from the discussion.
03:46:53 <vikasc> tfukushima,  +1
03:47:14 <tango> ok, I think I get the idea
03:47:48 <vikasc> tfukushima, would you suggest to update the nested-vm spec with the approach discussed here or should i wait more for inputs on ml
03:47:53 <vikasc> or irc or meetings
03:48:35 <vikasc> tfukushima, i discussed with gal also. He was also a bit positive about the approach. What would you suggest
03:48:50 <tfukushima> libnetwork requires only the remote driver to provides the HTTP APIs and its concern is just the interface of the input/output from/to Docker. Currently kuryr/controller.py calls the Neutron API directly by itself but there'd be more nodes and you'll get more responsibility for their configurations. So we want to have the centralized "kuryr-controller" to handle all the Neutron API calls.
03:49:32 <vikasc> tfukushima, exactly, nicely put
03:49:56 <tango> Thanks Taku, that's very helpful
03:50:24 <tango> vikasc: if you are going to update the spec, please also update the part about Magnum's API for container, which has been removed.
03:50:47 <vikasc> tango, sure.. I will take care
03:51:40 <vikasc> tfukushima, do you see any big hole in approach?
03:51:46 <tfukushima> So internally either RPC or REST API call works anyways for the way to communicate with kuryr-controller.
03:52:13 <vikasc> tfukushima, +1
03:53:41 <tfukushima> My personal preference is to make the communication done through the RPC with Protocol Buffers/gRPC but I'm not sure if it's possible in OpenStack world.
03:54:09 <tfukushima> I don't know how other OpenStack projects are handling the RPC needs.
03:54:09 <vikasc> tfukushima, lets add this as options in spec
03:54:46 <tfukushima> At least, I can't find protobuf library in global-requirements.txt: https://github.com/openstack/requirements/blob/master/global-requirements.txt
03:55:13 <tfukushima> Maybe they're just using AMQP for that.
03:55:21 <vikasc> tfukushima, i also think so
03:56:02 <vikasc> tfukushima, only 5 mins left
03:56:40 <tfukushima> Anyways I totally agree on the big idea. We need to investigate and think about the communication methods. I prefer RPC for the internal communications since it's considered private.
03:56:58 <tfukushima> But REST/HTTP API works as well.
03:57:06 <tfukushima> Ok, let's wrap it up.
03:57:17 <vikasc> tfukushima,  I would add these as alternatives
03:57:27 <vikasc> tfukushima, one more quick point
03:58:23 <vikasc> tfukushima, all this work will be applicable for k8s integration also, whatever we have today in kuryr-k8s-integration spec it is control path only.
03:59:09 <vikasc> tfukushima,  should we add one more section there for data path and refereing to nested-vm spec
03:59:24 <vikasc> *nested-container
03:59:49 <tfukushima> vikasc: Yes, exactly. We can reuse this mechanism for future-added components as well.
04:00:05 <tfukushima> Yes, I will add the description for that.
04:00:14 <tango> I have a really quick question, just to clarify:  is the openvswitch agent required on all nodes in the Swarm cluster?
04:00:27 <vikasc> tfukushima, exactly for any COEs.. please provide your opinion on ml also.
04:00:34 <vikasc> tango, you also please :)
04:01:06 <tango> vikasc: certainly
04:01:19 <tfukushima> tango: Yes if you're using Open vSwitch under your controller.
04:01:20 <vikasc> tfukushima, tango, there is lot of work left. :)
04:01:39 <tango> ok thanks
04:01:56 <tfukushima> Ok, guys we're running out our time.
04:02:09 <vikasc> tango,  ovs-agent is required on all compute machines for configuration of untagging part
04:02:47 <tango> Thanks for confirming
04:03:10 <vikasc> tango,  please note that traffic on vm's trunk port will come with different tags, now tag to subport mapping will be handled/configured by ovs-agent
04:03:52 <vikasc> tfukushima, done :)
04:04:11 <tfukushima> Good. So let's finish our meeting.
04:04:23 <tfukushima> Sorry for my disoganization this time. :-/
04:04:43 <vikasc> tfukushima, np :)
04:04:51 <tango> Good thing nobody is trying to kick us out :)
04:05:02 <vikasc> :D
04:05:09 <tfukushima> Yeah.
04:05:24 <tfukushima> limao: If you want to discuss something, we can do that in #openstack-kuryr channel.
04:05:39 <limao> yeah,thanks
04:05:50 <tfukushima> Alright, thanks for attending guys.
04:06:03 <tfukushima> #endmeeting