05:31:46 <soichi> #startmeeting taas
05:31:47 <openstack> Meeting started Wed Jan 11 05:31:46 2017 UTC and is due to finish in 60 minutes.  The chair is soichi. Information about MeetBot at http://wiki.debian.org/MeetBot.
05:31:48 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
05:31:50 <openstack> The meeting name has been set to 'taas'
05:32:04 <soichi> #link: https://wiki.openstack.org/wiki/Meetings/taas
05:32:33 <soichi> #topic: Loop detection of tap flows (to prevent creating a loop)
05:33:30 <soichi> i think this topic was homework for everyone :)
05:34:01 <soichi> vnyyad: hi
05:34:06 <vnyyad> hi
05:34:13 <vnyyad> happy new year to all!
05:35:02 <soichi> Happy New Year!
05:35:13 <kaz> hi, happy new year
05:35:25 <soichi> we'd like to discuss "loop detection of tap flows (to prevent creating a loop)"
05:35:51 <soichi> it is a cycle detection problem on a directed graph
05:36:03 <soichi> each tap flow has only one destination (tap service)
05:36:16 <vnyyad> soichi: was(is) there a usecase for mirroring a tap service port?
05:36:45 <soichi> i'm not sure about actual use case
05:37:26 <vnyyad> hmmm... because we can simple deny this in the first place to avoid cycles to keep it simple
05:37:51 <vnyyad> but yes if there is a use case we need the algo
05:38:06 <soichi> i agree with you
05:38:33 <soichi> this topic was submitted by yamamoto san
05:39:11 <vnyyad> ok but lets discuss it anyways... he might have a use case
05:39:20 <soichi> sure
05:39:29 <soichi> each tap flow has only one destination (tap service)
05:39:37 <soichi> and loop can be created when a tap flow is created from a tap service to another tap service
05:39:48 <soichi> so i guess we can use a graph G(V, E) where V=tap service, E=tap flow
05:40:58 <soichi> i think we can apply the cycle detection algo by using DFS (depth-first serach)
05:41:30 <vnyyad> yes. And this has to be run before creation of each tap flow
05:41:42 <soichi> sure
05:42:04 <soichi> reference: https://www.youtube.com/watch?v=rKQaZuoUR4M
05:42:44 <vnyyad> also if i remember now there was a discussion we had on limiting the number of flows a tenant can create, just to make sure they are not creating a mess in the network intentionally or by mistake
05:43:12 <soichi> i think so.
05:43:21 <vnyyad> so the number of Es in the graph will be limited and the the algo should not spend a lot a time finding the loop
05:43:39 <soichi> i agree
05:45:31 <soichi> kaz: do you have any comments?
05:45:40 <reedip> hi
05:45:47 <soichi> reedip: hi
05:45:51 <vnyyad> hi
05:45:58 <soichi> reedip: happy new year
05:46:07 <kaz> sorry, no i don't.
05:46:08 <reedip> happy new year soichi san :)
05:46:23 <kaz> reedip: hi
05:46:33 <reedip> hi kaz , vnyyad
05:46:38 <reedip> sorry for being late
05:46:55 <soichi> reedip: we are discussing abot loop detection of tap flows
05:47:01 <soichi> do you have any idea?
05:47:14 <reedip> yes, I am reading the logs for the same. No , I forgot it :P
05:47:18 <yamamoto_> hi
05:47:33 <soichi> yamamoto: hi
05:47:50 <reedip> hi yamamoto_ , do we have a use case for mirroring a tap port?
05:49:19 <yamamoto_> actually i don't know.
05:51:35 <vnyyad> any one else has a use-case for this?
05:52:41 <soichi> i don't have. So, guard creating a tap flow on tap service is simple, i think
05:52:58 <vnyyad> +1
05:53:04 <kaz> +1
05:54:05 <reedip> soichi : but when we mirror a port, do we know that the port is a normal port or a tap port ?? :)
05:55:36 <soichi> i think we can chaeck a tap service is already associated to the port
05:55:43 <vnyyad> we can always return an error when we detect it
05:55:46 <soichi> chaeck -> check
05:56:11 <reedip> soichi : No, my question is : You have a tap -service , and you created a tap flow on Port p1
05:56:28 <reedip> Port p1 is your source port
05:56:47 <reedip> the port created by tap-service is port p2 ( during creation of tap-service)
05:57:12 <reedip> now if a user tries to use port p2 as a source port for another tap-service, with destination port p3
05:57:25 <reedip> then would that work ?
05:57:41 <soichi> it is not work
05:57:59 <vnyyad> redeep: it wont
05:58:23 <soichi> we wonder is there such a use case
05:58:33 <vnyyad> block all attempts to make a already existing tap-service port as a source for a tap flow
05:58:57 <soichi> vnyyad: +1
06:00:14 <soichi> excuse me, but today i have to leave now. i'd like to pass the chair to kaz.
06:00:20 <soichi> #chair kaz
06:00:21 <openstack> Current chairs: kaz soichi
06:00:43 <soichi> see you next week
06:00:54 <reedip> so that means we need to add a check in out code as well
06:01:33 <reedip> adios vnyyad
06:02:00 <vnyyad> is the meeting over?
06:02:24 <kaz> no, still open,
06:02:28 <vnyyad> :)
06:02:54 <vnyyad> reedip: yes we need to add the check in the code
06:05:22 <kaz> reedip?
06:05:31 <reedip> hi ...
06:05:39 <reedip> sorry , was working on another item :D
06:06:08 <reedip> vnyyad : okay, should we add a bug for this ? Also we need to open blueprints in Tap-as-a-Service in launchpad
06:07:10 <vnyyad> reedip: for the blueprint i need to ask anil, as i am not able to do it for some reason
06:07:20 <reedip> vnyyad : ohk
06:08:42 <njohnston> I have a very general TaaS question; let me know when a good time to ask it would be
06:09:08 <kaz> #topic Open Discussion
06:09:28 <njohnston> Hi!  So I am starting to try and use TaaS by trying it out in a devstack.  My problem is that after setting it up using the directions from INSTALL.rst I keep getting the error "ImportError: Plugin 'taas' not found."  This seems like an FAQ; any advice?  Is there a chat channel you all hang out in, talking about TaaS, where I could check in for questions like this?
06:10:53 <vnyyad> njohnston: is this error on the taas agent side (compute nodes) or on the taas plugin side?
06:11:00 <yamamoto_> there's no such a channel.
06:12:23 <yamamoto_> there was a discussion about a channel but the consensus at that point was to use #openstack-neutron
06:12:49 <yamamoto_> as there would be little traffic anyway
06:12:51 <njohnston> OK, I can definitely ask there
06:13:18 <yamamoto_> at least i'm there when online.
06:13:27 <njohnston> Thanks, all!
06:14:19 <yamamoto_> wrt import error, i'm not sure.  have you followed devstack/README.rst?
06:14:32 <njohnston> yes
06:14:45 <njohnston> and this is on the taas plugin side, errors coming from neutron server
06:15:50 <yamamoto_> can you show us your local.conf?
06:17:26 <njohnston> yamamoto_: http://paste.openstack.org/show/594499/
06:19:05 <yamamoto_> i guess you should use stable/newton for taas as well?
06:19:27 <yamamoto_> otherwise looks ok to me
06:19:32 <vnyyad> +1
06:19:40 <kaz> +1
06:19:56 <yamamoto_> i'm not sure branch difference is a cause of the import error or not though.
06:21:45 <njohnston> thanks
06:21:48 <vnyyad> yamamoto: a difference in branch can cause this error, happened to me a month ago
06:22:37 <vnyyad> looks like the branches needed to match (branch of devstack and taas)
06:22:56 <vnyyad> but for me master devstack with master taas worked out well
06:25:04 <kaz> do you have any other topics?
06:25:22 <yamamoto_> njohnston: feel free to ask us again if matchin branches doesn't improve the situation.
06:25:45 <yamamoto_> i want to remind a few changes to review
06:26:09 <yamamoto_> #link https://review.openstack.org/#/c/256210/ spec
06:26:27 <yamamoto_> #link https://review.openstack.org/#/c/396022/ horizon
06:27:09 <yamamoto_> #link https://review.openstack.org/#/c/405261/ tox_install
06:27:10 <kaz> yamamoto_: thanks
06:27:25 <yamamoto_> #link https://review.openstack.org/#/c/413360/ tox_install (alternative)
06:27:47 <yamamoto_> tox_install thing might be less obvious
06:28:30 <yamamoto_> it's necessary to use the correct version of deps on gate
06:28:46 <yamamoto_> it needs to be backported to stable branch
06:28:58 <yamamoto_> that's all from me
06:29:22 <kaz> thank you
06:29:53 <njohnston> thanks all!
06:29:55 <reedip> Also the OSC is up
06:30:11 <kaz> we have no time left
06:30:14 <reedip> https://review.openstack.org/398767
06:30:25 <reedip> kaz : yeah, this is just for you guys to review :D
06:30:45 <yamamoto_> yea, use the dashboard link on the wiki for full list. :-)
06:31:02 <kaz> yes
06:31:28 <kaz> see you next week.
06:31:37 <kaz> #endmeeting