Monday, 2017-01-30

openstackgerritHongbin Lu proposed openstack/kuryr-libnetwork: Add prefix to specified name of subnetpool  https://review.openstack.org/42662300:49
openstackgerritHongbin Lu proposed openstack/kuryr-libnetwork: Add prefix to the specified name of subnetpool  https://review.openstack.org/42662300:56
*** v1k0d3n has quit IRC02:00
*** v1k0d3n has joined #openstack-kuryr02:02
*** hongbin has joined #openstack-kuryr02:44
*** yuanying has joined #openstack-kuryr04:48
openstackgerritHongbin Lu proposed openstack/kuryr: Update the libnetwork devref  https://review.openstack.org/42664405:08
*** hongbin has quit IRC05:10
*** saneax-_-|AFK is now known as saneax05:29
*** yedongcan has joined #openstack-kuryr06:09
*** yamamoto has quit IRC07:27
*** pcaruana has joined #openstack-kuryr08:15
*** devvesa has joined #openstack-kuryr08:19
*** saneax is now known as saneax-_-|AFK08:27
*** saneax-_-|AFK is now known as saneax08:36
apuimedoirenab: pong08:48
*** apuimedo has quit IRC08:50
*** apuimedo has joined #openstack-kuryr08:51
*** apuimedo has quit IRC08:59
*** apuimedo has joined #openstack-kuryr09:00
*** saneax is now known as saneax-_-|AFK09:01
irenabapuimedo, good morning09:03
apuimedoirenab: good morning09:06
apuimedo:-)09:06
*** saneax-_-|AFK is now known as saneax09:11
*** saneax is now known as saneax-_-|AFK09:15
*** janki has joined #openstack-kuryr09:31
openstackgerritLuis Tomas Bolivar proposed openstack/kuryr-kubernetes: [WIP] Adding pool of ports to speed up containers booting/deletion  https://review.openstack.org/42668709:32
*** jchhatbar_ has joined #openstack-kuryr09:36
apuimedoltomasbo: starting the week in a good note!09:38
*** janki has quit IRC09:38
ltomasbo:D09:38
ltomasbothis is just a push of what I did last Friday09:39
ltomasboI will work on that later on! It is just a quick PoC (as you saw it)09:39
apuimedo:-)09:39
*** garyloug has joined #openstack-kuryr09:41
*** jchhatbar_ has quit IRC09:41
*** janki has joined #openstack-kuryr09:41
*** saneax-_-|AFK is now known as saneax09:58
*** janki has quit IRC09:58
openstackgerritIlya Chukhnakov proposed openstack/kuryr-kubernetes: Improve pipeline/Async logging  https://review.openstack.org/42390310:13
openstackgerritDongcan Ye proposed openstack/kuryr-libnetwork: Modify fake v4 subnet result  https://review.openstack.org/42669810:22
*** yedongcan has left #openstack-kuryr10:23
*** neiljerram has joined #openstack-kuryr10:30
*** yuanying_ has joined #openstack-kuryr10:48
*** yuanying has quit IRC10:51
*** janki has joined #openstack-kuryr11:12
openstackgerritLuis Tomas Bolivar proposed openstack/kuryr-kubernetes: [WIP] Adding pool of ports to speed up containers booting/deletion  https://review.openstack.org/42668711:16
*** yuanying_ has quit IRC11:25
*** dims has joined #openstack-kuryr11:26
irenabltomasbo: hi11:38
openstackgerritLuis Tomas Bolivar proposed openstack/kuryr-kubernetes: [WIP] Adding pool of ports to speed up containers booting/deletion  https://review.openstack.org/42668711:39
irenabmay I ask you to add some notes regarding what you want to achive and how you want to address it in the blueprint description11:39
ltomasboirenab, yes you can!11:41
irenabltomasbo: :-)11:41
ltomasbo:D11:41
ltomasboI will update the description with more detailed information11:42
irenabltomasbo: thanks!11:44
*** janki has quit IRC12:30
*** janki has joined #openstack-kuryr12:51
*** devvesa has quit IRC12:53
*** gsagie has joined #openstack-kuryr12:54
irenabivc_: apuimedo : check this email tread: https://groups.google.com/forum/#!msg/kubernetes-dev/O_u9otoPRkE/tjHlpV3SBwAJ12:55
*** garyloug has quit IRC13:05
*** devvesa has joined #openstack-kuryr13:08
*** garyloug has joined #openstack-kuryr13:20
*** saneax is now known as saneax-_-|AFK13:29
*** saneax-_-|AFK is now known as saneax13:37
ivc_irenab thats one weird discussion. i'd say 'watch' is all we need, not even that 'getall' as OP suggested13:41
irenabivc_: I was also suprised by the approach, but looks the k8s team has some history behind this13:42
ivc_irenab i'm not sure if it actually is 'k8s team' and not just some random guys who got it wrong13:44
ivc_anyway they are talking about 'cache' and we try to be stateless to prevent such sync issues13:46
ivc_so far the only stateful thing we need (to be implemented) is the cleanup code (in case k8s resource was deleted during kuryr downtime) - where we can't rely on watch history13:47
ivc_and thats pretty close to the neutron port reuse (and we already got ltomasbo working on it https://review.openstack.org/#/c/426687/ !)13:48
irenabivc_: just wanted you to be aware of the reasoning for what is done currently13:50
apuimedoivc_: and I saw ltomas work functioning :-)13:53
irenabapuimedo: I think ivc_ would balme me on being too pedantic again, but I asked ltomasbo to summarize his direction on blueprint :-)13:53
apuimedoirenab: good point!13:54
ivc_apuimedo, ltomasbo its quite close to what i had in mind, just instead of inheriting i'd rather make a composable decorator so we can reuse the 'pool' with any backend13:54
apuimedothe process is. We get reuse -> We do pre-allocation and pool management13:54
irenabwhere pool is stored?13:55
apuimedoivc_: I didn't look at the patch yet, only at the hack we were doing in between13:55
apuimedoirenab: I was considering Thirdparty objects13:55
irenabaouso k8s store13:55
apuimedok8s store, yes13:55
apuimedootherwise HA will be a pita13:56
irenabyea13:56
irenabapuimedo: what about multi tenancy?13:56
ivc_apuimedo i'd say we don't store it anywhere but memory and rely on neutron device_owner/tags13:56
irenabwill do since tenant for now?13:56
irenabsingle13:56
apuimedoivc_: that's what ltomasbo proposes13:56
apuimedo:-)13:56
irenabivc_: we may need sheduler to be involved later on, maybe k8s is better13:57
apuimedoirenab: I'm ashamed to say13:57
apuimedothat I don't have concrete tenancy plans13:57
apuimedoI want it13:57
apuimedobut I still didn't come up with the mapping13:57
ivc_irenab problem with storing it in k8s is that you'll need to add tons of code for proper syncing13:57
apuimedoit is about trading operation time and complexity (maintaining the pool on k8s) for fast failover13:58
irenabivc_: becouse of 3rd party, not a regular watch?13:58
apuimedowhich, admittedly, in active/passive HA, which we do13:58
apuimedomakes the in-memory approach win13:58
apuimedoso until we have active/active, the thirdparty is not as strong an option13:59
ivc_irenab because neutron and k8s 3rd party store have to be synced somehow13:59
ivc_sync is bad13:59
apuimedoivc_: the good thing is, if the neutron pool surface is only big batch ops, the sync is easier14:00
apuimedoanyway, let's move over to the meeting channel14:00
ivc_sure14:00
irenabapuimedo: ivc_ I sujject we discuss it on the ltomasbo bp (or patch)14:01
ivc_irenab in this case we do indeed need some doc (maybe not bp, but just a devref tho)14:03
irenabivc_: I meant we can even disuss it on launchpad, but devref is much more convenient14:04
ivc_irenab btw i've updated that patch and added the link to that 'generic' bp :)14:04
irenabivc_:  saw it, +2 already :-)14:04
openstackgerritMerged openstack/kuryr-libnetwork: Remove subnetpool_id tag for Neutron existing subnet  https://review.openstack.org/41973514:09
mchiappe1or14:19
*** mchiappe1o is now known as mchiappero14:20
apuimedomchiappero: that's a funny way to start the irc day14:25
apuimedo:P14:25
*** mattmceuen has joined #openstack-kuryr14:28
openstackgerritMerged openstack/kuryr-kubernetes: Bump tox min version to 2.3.1  https://review.openstack.org/42497214:34
openstackgerritMerged openstack/kuryr-kubernetes: Improve pipeline/Async logging  https://review.openstack.org/42390314:39
*** hongbin has joined #openstack-kuryr14:45
janonymousirenab, apuimedo: i will add a patch for that in requirements for starting up client migration.14:48
apuimedojanonymous: check the mailing list thread from Magnum to see which conclusions they reached14:49
apuimedoas well14:49
janonymousapuimedo: ohh sure14:49
apuimedothanks Jaivish14:50
janonymousapuimedo:but only dims mail about client and no reply from magnum team14:53
janonymousapuimedo:should i ping container channel?14:53
* apuimedo will check when the meeting ends14:54
apuimedosorry to keep you up so late (still in Japan, right?)14:54
janonymousapuimedo: yeah :)14:55
janonymousapuimedo: i think i wake up at night :P14:56
apuimedo:-)14:57
dimsjanonymous : apuimedo : i talked to strigazi as well on containers, please feel free to ping them again14:58
apuimedoalraddarla: ping14:58
alraddarlaapuimedo, pong14:58
mchiapperoapuimedo: sorry, it was the wrong terminal :D14:58
apuimedomchiappero: :-)14:58
apuimedoalraddarla: I see that contrail is not integrated with openstack/os-vif14:59
alraddarlaapuimedo, mattmceuen is also here to chat about this :)14:59
apuimedoso I guess that we could have the os-vif plug first in kuryr-kubernetes and if it works, push it to openstack/os-vif and drop from kuryr-kubernetes14:59
janonymousdims,apuimedo: sure15:00
* apuimedo checking contrail binding code15:01
mattmceuenWith OpenContrail not falling under OpenStack governance, would that present a challenge with getting the os-vif plug into openstack/os-vif?15:01
apuimedomattmceuen: nope15:01
apuimedoit only prevents us from putting an upstream gate for it15:02
apuimedoprobably15:02
apuimedo(although not sure)15:02
apuimedoalraddarla: mattmceuen: Is this the binding code? https://github.com/openstack/nova/blob/e8cd3acf2d926c493aa4ae809397b2994a6679fc/nova/virt/libvirt/vif.py#L705-L74515:02
mattmceuenWe'll need to check.  We don't have hands-on experience developing for contrail yet, but have teammates who have.15:04
mattmceuenLooks promising!15:04
apuimedomattmceuen: very well, so the first step is to check if the binding is really just calling vrouter-port-control15:04
apuimedoand if it is, make it into something that os-vif.plug can run. @ivc_: os-vif could load drivers that live in kuryr-k8s, right?15:05
ivc_apuimedo yes15:05
mattmceuenIf that's the case, what SDN controller would be a good one to model after for kuryr integration?15:06
hongbinapuimedo: i have a question about the subnet creation in libnetwork, will be your next guest after you finish the current discussion15:06
apuimedomattmceuen: unfortunately, this would be the first that is not already part of openstack/os-vif15:06
apuimedomattmceuen: let me get you a couple of links15:07
apuimedohongbin: good!15:07
apuimedokeep 'em coming everybody15:07
apuimedomattmceuen: alraddarla: https://github.com/openstack/os-vif/blob/master/vif_plug_ovs/ovs.py15:08
apuimedothis is an example of a class that implements an os-vif plugin15:08
apuimedowe do not need all the methods implemented though15:08
apuimedoafaik we only call plug()15:08
apuimedothen, the other part is15:08
apuimedohttps://github.com/openstack/kuryr-kubernetes/blob/794ec706c5fbe0da6e49bf20ba2439d8eb39ae7e/kuryr_kubernetes/os_vif_util.py#L258-L28115:10
apuimedoIn case that you need to serialize more fields for contrail inside teh vif annotation, this is an example of a newer serialization we added15:10
apuimedoand finally15:10
apuimedohttps://github.com/openstack/kuryr-kubernetes/blob/794ec706c5fbe0da6e49bf20ba2439d8eb39ae7e/kuryr_kubernetes/cni/binding/bridge.py15:11
apuimedohere's the veth creation code and l3 config15:11
apuimedos/l3/l2/15:11
apuimedoif contrail needed anything different, you'd probably have a module like this one15:12
apuimedomattmceuen: alraddarla: sorry for the extra work, the first extern driver pays the price :/15:12
mattmceuenGotcha.  Thanks for all this helpful material apuimedo, this will get us off to a great start!15:12
alraddarlaapuimedo, no problem! this is great! We are going to start looking into this15:12
mattmceuenWe'll dig in today/tomorrow to wrap our heads around this and hit you up with questions shortly thereafter :-D15:13
alraddarla^ guaranteed :)15:13
apuimedomattmceuen: alraddarla: please ping ivc_, irenab or me if you need help15:13
alraddarla(the questions part)15:13
apuimedocool15:13
apuimedoalraddarla: also, I'd appreciate if you document the steps you follow, so that we can leave it as a guide for others ;-)15:14
alraddarlaNo problem apuimedo!15:14
alraddarlaThanks again15:14
apuimedoyou're welcome15:14
apuimedo!15:14
apuimedobtw. Is anybody in the channel going to the PTG?15:15
janonymousapuimedo:just last question for today, about k8s  client brief, should i do in vtg or details are required early15:20
apuimedojanonymous: we can talk about it earlier on the mailing list15:23
apuimedoand work it into the vtg as well15:23
janonymousapuimedo: cool! thanks )15:24
hongbinapuimedo: have a minute?15:25
apuimedohongbin: go ahead :-)15:26
hongbinapuimedo: i am looking at the code to create subnet in libnetwork15:27
hongbinapuimedo: it seems it creates a new subnet as long as there is not existing subnet with the pool cidr?15:27
apuimedoyes. I think that's what vikasc did when he split into ipam (before it was it all remote driver)15:28
hongbinapuimedo: i wonder if the logic could be modified a bit, kuryr creates a new subnet if there is not exsiting subnet in the network/subnetpool15:29
hongbinapuimedo: because i don't see why kuryr needs to create a subnet if there is already one (even with a smaller cidr)15:30
*** saneax is now known as saneax-_-|AFK15:30
apuimedohongbin: I'm missing the differnece :P15:30
apuimedo*difference15:30
hongbinapuimedo: right now: create subnet if there is no subnet with the pool cidr15:30
hongbinapuimedo: proposed: create subnet if there is no subnet in the network/subnetpool (no cidr requirement)15:31
apuimedooh, I see15:32
hongbinapuimedo: this handles the case that subnetpool and subnet are of different cidr (right now, kuryr assumes it is the same)15:33
apuimedolet me look for the code15:33
hongbinsure15:33
*** janki has quit IRC15:34
apuimedohongbin: so you are arguing for removing the 'cidr=six.text_type(cidr)' from https://github.com/openstack/kuryr-libnetwork/blob/master/kuryr_libnetwork/controllers.py#L638-L63915:40
apuimedois that right?15:40
hongbinapuimedo: yes15:40
hongbinapuimedo: this is because there are cases that subnetpool and subnet with a different cidr15:41
apuimedolike?15:42
apuimedoyou mean a manually created subnet that is not bound to the pool?15:42
hongbinapuimedo: yes15:42
hongbinapuimedo: for example, devstack create shared-default-subnetpool and private-subnet15:42
hongbinapuimedo: they are under different cidr15:43
apuimedoright15:46
hongbinapuimedo: i think simply pick a subnet under the subnetpool is enough15:46
hongbinapuimedo: it seems there is no need to require picking the one with the same cidr15:47
apuimedohongbin: won't that break the user assumptions, if they create a docker net with a cidr15:48
apuimedoand then they create containers on that net and the ips are on a different range?15:48
hongbinapuimedo: kuryr should check if the subnet is under the pool15:49
hongbinapuimedo: user request a net with cidr -> find a subnetpool with the cidr -> find a subnet under the pool15:50
hongbinapuimedo: then the subnet must within the requested cidr (just with a smaller range)15:50
apuimedoright15:52
hongbinof course, the range doesn't match exactly15:53
hongbinthat is the drawback15:53
apuimedoand that's a bit of problem15:53
apuimedobecause we let neutron do the ipam15:53
apuimedoand we risk getting addreses out of the --ip-range the docker user passed15:54
apuimedowhich is not acceptable15:54
hongbini see15:54
hongbinanother option is dropping the --ip-range option when users specify the subnetpool15:54
apuimedohongbin: how?15:56
apuimedojust erroring out saying it is not supported to specify both?15:56
hongbinapuimedo: wait, --ip-range is the pool cidr?15:56
apuimedommm, don't remember now :P15:57
apuimedoI'll have to check15:57
hongbinapuimedo: https://review.openstack.org/#/c/426644/1/doc/source/devref/libnetwork_remote_driver_design.rst15:57
hongbinapuimedo: it seems if both --subnet and --ip-range are given, kuryr picked the --ip-range as pool cidr15:58
apuimedoyup15:58
apuimedowhich is the intuitive thing with Neutron, but not for Docker afaict15:58
hongbinthere is a problem of picking a smaller cidr than --ip-range?15:59
apuimedoyou mean if subnet is smaller than ip-range?15:59
hongbinif yes, then we have to disallow --ip-range when using specified subnetpool15:59
hongbinyes15:59
apuimedoI think with docker it's the other way around16:00
apuimedothat subnet can't be smaller than ip-range16:00
apuimedobut I have to check16:00
hongbinok16:00
apuimedohongbin: I'll check it later16:00
hongbinapuimedo: sure. thanks for answering the questions16:00
apuimedomaybe we should bring this up to the ML so vikas, yedongcan and limao can comment on it16:01
apuimedogotta go for a while now16:01
hongbinok16:01
*** devvesa has quit IRC16:01
hongbinwill do that16:01
leifmadseno/17:15
*** oanson has quit IRC17:15
*** oanson has joined #openstack-kuryr17:17
*** saneax-_-|AFK is now known as saneax17:25
*** garyloug has quit IRC18:15
*** saneax is now known as saneax-_-|AFK18:33
*** tonanhngo has joined #openstack-kuryr18:34
*** neiljerram has quit IRC18:49
*** tonanhngo has quit IRC20:09
*** tonanhngo has joined #openstack-kuryr21:53
*** yamamoto has joined #openstack-kuryr22:03
apuimedoleifmadsen: hey!22:39
apuimedostill around?22:39
leifmadsenapuimedo: aye22:43
leifmadsenkind of anyways heh22:44
apuimedo:-)22:44
*** saneax-_-|AFK is now known as saneax23:03
*** pmannidi has joined #openstack-kuryr23:39

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!