Wednesday, 2016-03-23

*** salv-orl_ has joined #openstack-kuryr00:02
*** salv-orlando has quit IRC00:05
*** salv-orl_ has quit IRC00:07
*** reedip_away is now known as reedip00:49
*** fawadkhaliq has quit IRC01:18
*** fawadkhaliq has joined #openstack-kuryr01:18
*** fawadkhaliq has quit IRC01:19
*** fawadkhaliq has joined #openstack-kuryr01:20
*** salv-orlando has joined #openstack-kuryr01:35
*** salv-orlando has quit IRC01:42
*** fawadkhaliq has quit IRC02:01
*** fawadkhaliq has joined #openstack-kuryr02:02
*** lezbar__ has quit IRC02:08
*** lezbar has joined #openstack-kuryr02:09
*** fawadkhaliq has quit IRC02:10
*** fawadkhaliq has joined #openstack-kuryr02:10
*** banix has joined #openstack-kuryr02:23
*** salv-orlando has joined #openstack-kuryr02:41
*** tfukushima has joined #openstack-kuryr02:47
*** salv-orlando has quit IRC02:51
*** fawadkhaliq has quit IRC02:51
*** fawadkhaliq has joined #openstack-kuryr02:52
*** fawadkhaliq has quit IRC03:01
*** fawadkhaliq has joined #openstack-kuryr03:01
*** fawadkhaliq has quit IRC03:01
*** fawadkhaliq has joined #openstack-kuryr03:02
*** yuanying has quit IRC03:21
*** yuanying_ has joined #openstack-kuryr03:21
*** yuanying_ has quit IRC03:24
*** yuanying has joined #openstack-kuryr03:24
*** yuanying has quit IRC03:29
*** tfukushima has quit IRC03:57
*** yuanying has joined #openstack-kuryr04:01
*** banix has quit IRC04:06
*** salv-orlando has joined #openstack-kuryr04:10
*** salv-orlando has quit IRC04:14
*** fawadkhaliq has quit IRC04:17
*** fawadkhaliq has joined #openstack-kuryr04:17
*** yamamoto_ has joined #openstack-kuryr04:30
*** fawadkhaliq has quit IRC04:35
*** fawadkhaliq has joined #openstack-kuryr04:36
*** fawadkhaliq has quit IRC04:40
*** fawadkhaliq has joined #openstack-kuryr04:41
*** fawadkhaliq has quit IRC04:41
*** fawadkhaliq has joined #openstack-kuryr04:42
*** fawadkhaliq has quit IRC04:42
*** fawadkhaliq has joined #openstack-kuryr04:43
*** fawadkhaliq has quit IRC04:46
*** fawadkhaliq has joined #openstack-kuryr04:46
*** fawadkhaliq has quit IRC04:47
*** fawadkhaliq has joined #openstack-kuryr04:48
*** fawadkhaliq has quit IRC04:48
*** fawadkhaliq has joined #openstack-kuryr04:49
*** salv-orlando has joined #openstack-kuryr05:42
*** salv-orlando has quit IRC05:49
*** fawadkhaliq has quit IRC06:03
*** fawadkhaliq has joined #openstack-kuryr06:04
*** fawadkhaliq has quit IRC06:20
*** fawadkhaliq has joined #openstack-kuryr06:21
*** fawadkhaliq has quit IRC06:25
*** fawadkhaliq has joined #openstack-kuryr06:25
*** fawadkhaliq has quit IRC06:26
*** fawadkhaliq has joined #openstack-kuryr06:26
*** fawadkhaliq has quit IRC06:27
*** fawadkhaliq has joined #openstack-kuryr06:28
*** fawadkhaliq has quit IRC06:28
*** fawadkhaliq has joined #openstack-kuryr06:29
*** wanghua has joined #openstack-kuryr06:51
*** salv-orlando has joined #openstack-kuryr06:58
*** salv-orlando has quit IRC07:15
*** oanson has joined #openstack-kuryr08:55
*** openstackgerrit has quit IRC09:03
*** openstackgerrit has joined #openstack-kuryr09:03
*** salv-orlando has joined #openstack-kuryr09:06
*** oanson has quit IRC09:58
*** wanghua has quit IRC10:04
*** oanson has joined #openstack-kuryr10:45
*** apuimedo has joined #openstack-kuryr10:55
*** salv-orl_ has joined #openstack-kuryr12:02
*** salv-orlando has quit IRC12:04
*** yamamoto_ has quit IRC12:20
*** oanson has quit IRC12:36
*** baohua has joined #openstack-kuryr12:39
*** banix has joined #openstack-kuryr13:09
*** yamamoto has joined #openstack-kuryr13:12
*** oanson has joined #openstack-kuryr13:22
*** banix has quit IRC13:27
*** lezbar has quit IRC13:33
*** lezbar has joined #openstack-kuryr13:35
*** mspreitz has joined #openstack-kuryr13:58
mspreitzwe have a meeting now about CNI, right?14:02
apuimedo#startmeeting k8s-kuryr part II14:02
openstackMeeting started Wed Mar 23 14:02:40 2016 UTC and is due to finish in 60 minutes.  The chair is apuimedo. Information about MeetBot at http://wiki.debian.org/MeetBot.14:02
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.14:02
openstackThe meeting name has been set to 'k8s_kuryr_part_ii'14:02
apuimedoWelcome to another kubernetes integration meeting14:03
apuimedowho is here for it?14:03
baohua:) morning & evening14:03
mspreitzo/14:03
baohuao/14:03
apuimedogsagie: fawadkhaliq salv-orl_: ping14:04
apuimedolet's hope we get at least 5 people :-)14:04
baohuasure, let wait for a while14:05
mspreitzBTW, banix told me he will join but about 20 min late14:05
apuimedobaohua: so maybe my mind synced with banix when I told you I thought the meeting was in 30mins :P14:06
baohuahaha, maybe :)14:06
apuimedowhile we wait14:06
apuimedotfukushima and I have been working on the prototype based on python 3.4 asyncio14:06
apuimedofor the api watcher14:07
apuimedo(we call it raven)14:07
apuimedoit watches the pod and the service endpoints14:07
*** salv-orl_ has quit IRC14:07
apuimedoand already adds data for the direct cni plugin to retrieve and use for plugging the container into the neutron provider14:07
gsagiehere14:08
baohuagreat, and sorry i may lost some context, is it watching the k8s resource changing and trigger our plugin to work?14:08
*** openstack has joined #openstack-kuryr14:21
apuimedoovs14:21
gsagie"hard pinging" heh14:21
baohuait works!14:21
apuimedobanix: lurking, eh?14:21
baohuahi banix14:22
mspreitzgsagie: my design goal is to keep the iptables-based kube-proxy working, as we use Neutron.14:22
banixthey throw a rock at me14:22
gsagiemspreitz: but which Neutron.. OVN ?14:22
banixhi, sorry for being late14:22
apuimedobanix: do you have to carry it up a hill then?14:22
banixjust joined14:22
apuimedogsagie: ovs14:22
banix:)14:22
gsagieapuimedo: so the reference implementation? ok thans14:22
gsagiethanks14:22
mspreitzgsagie: I think my design does not depend on what Neutron plugin / mechanism-drivers are being used.14:22
apuimedowith quite a bit of other vendors it would not work with kube-proxy14:22
mspreitzapuimedo: *which* kube proxy?14:23
gsagieapuimedo, mspreitz: you need to somehow count on some sord of service chaining then, and have the kube-proxy as a Neutron port14:23
apuimedoor it would require a bit of hacking around to make the k8s pod network available to the hosts (which is not a default in some neutron vendors)14:23
gsagiemspreitz: or you have another plan?14:23
apuimedogsagie: yes. that is an option I considered. Not for kube-proxy. Rather for dns14:24
apuimedoto put a port for the skydns in the neutron network14:24
mspreitzwoa, slow down, too many parallel threads and side topics.14:24
apuimedomspreitz: you are right14:24
apuimedolet's start properly now that we have enough people14:24
mspreitzMy aim is to support the iptables-based kube-proxy, not the userspace based one.14:24
apuimedowhich topic do you want to cover with?14:24
apuimedolet's do updates first14:25
apuimedo#topic updates14:25
apuimedomspreitz: can you give us some update on your work?14:25
gsagiemspreitz: but this can also be done in a namespace14:25
mspreitzI added the requested examples to my devref and slightly updated the design.  I also have some open questions posted in the new k8s place for that.14:25
apuimedogsagie: we'll get to this later14:25
gsagieokie14:26
apuimedomspreitz: you mean the google docs?14:26
apuimedoif so, please link it here14:26
mspreitzThere is a k8s issue opened for discussing the network policy design: https://github.com/kubernetes/kubernetes/issues/2246914:26
apuimedo#link https://github.com/kubernetes/kubernetes/issues/2246914:26
apuimedothanks mspreitz14:27
apuimedo#link https://review.openstack.org/#/c/290172/14:27
mspreitzThe main design work has deferred the questions of access from outside the cluster, but I could not avoid it in doing a plausible guestbook example.14:27
baohuais the problem on the lb side?14:28
apuimedoI see that you added the examples, thanks14:28
mspreitzThe first problem with access from the outside is that the design so far has no vocabulary for talking about external clients.14:29
apuimedofor those wondering from the last meeting14:29
apuimedohttps://review.openstack.org/#/c/290172/5..10/doc/source/devref/k8s_t1.rst14:29
apuimedo#link https://review.openstack.org/#/c/290172/5..10/doc/source/devref/k8s_t1.rst14:29
baohuathanks for the links14:29
apuimedothis is the diff against the version that we spoke about the last time14:29
apuimedomspreitz: well, I guess they do assume that if your service defines externalIP or uses loadbalancer, it is externally accessible14:30
mspreitzapuimedo: actually, that is contrary to the design approach that has been taken so far...14:31
mspreitzNote, for example, there there is explicitly no usage of existing "Service" instances.14:31
apuimedomspreitz: you mean that by default it is not, and you'd have to add it14:31
baohuai think if can access through nodeip, then the external should work with lb support.14:32
mspreitzI mean that the design approach has been one of orthogonality, the network policy has to say what is intended, no implicit anything except health checking.14:32
apuimedomspreitz: oh, sure. I was talking about what people may be doing provisionally, while we lack the vocabulary :P14:32
mspreitzI have not been thinking much about node IP, since my context is a public shared service that will not be offering node IP as an option.14:33
apuimedoonly node port then?14:33
baohuaoh, sure, that's the case14:34
mspreitzI am focused on the case of network policies allowing connections to a pod's 'cluster IP' address.14:34
baohuafor external clients?14:35
apuimedomspreitz: do we have any news on the policy language front?14:35
apuimedo(from the k8s-sig-network side)14:35
mspreitzI am including the problem of external clients.  Clearly they have to have an IP route to the cluster IP addresses.  As do the pod hosts (minions, nodes), for health checking.14:36
mspreitzConfiguring external clients has to be beyond the scope of this code, but it has to be something that can be done relatively easily.14:36
mspreitzMy thought is to put the k8s pods on Neutron tenant networks connected to a Neutron router connected to an "external network" (in Neutron terms).14:37
apuimedomspreitz: well. for what is worth14:37
apuimedowhat we do is14:37
mspreitzThat establishes a path, and naturally all the right routing table entries have to be in the right places.14:37
apuimedoPods -> tenant network -> router <- cluster ip network14:37
apuimedoand the cluseter ip network is where we put LBs that go into the pods (we do not use kube-proxy)14:38
mspreitzIIRC, "cluster IP" is the kind of address a pod gets, not a host.14:38
apuimedocluster IP is the IP that brings you to a replica of a pod14:38
apuimedoin one host it takes you to one replica, in another, to another14:38
apuimedothat's why we made it the VIP of the load balancer that we put in front of the pods14:39
mspreitzIf I understand the terminology correctly, an RC manages several "replicas", each of which is a "pod".14:39
apuimedothen, for external access, the router is connected to a neutron external net14:39
apuimedoand we can assign FIPs to the VIPs of the load balancers14:39
apuimedomspreitz: that is right14:39
apuimedoso, cluster ip -> pod_x14:40
apuimedowhere pod_x may be any of the pods that are replicas14:40
apuimedoand kube-proxy handles that with its iptables fiddling14:40
mspreitzapuimedo: are you saying that a given cluster IP is had by several pods (one on each of several hosts)?14:40
apuimedo(managing the cluster ip as a sort of a vip)14:41
apuimedomspreitz: that's what I saw looking at the iptables14:41
apuimedoof a deployment14:41
apuimedogenerally, it was redirecting the cluster ip to a pod in the same host14:41
mspreitzapuimedo: are you trying to report a fact about kubernetes?14:41
apuimedoI don't know what they do if there is no replica in that specific host14:41
apuimedomspreitz: I'm just stating what I saw14:42
mspreitzwas this using the userspace kube-proxy or the iptables-based one?14:42
*** dingboopt has quit IRC14:42
apuimedoin hopes that it gives some context as to why we use the cluster ips as VIPs of neutron LBs14:42
baohuaclusterip is virtual, only meaningful with kube-proxy rules to do the translation to real address14:42
*** dingboopt has joined #openstack-kuryr14:42
mspreitzslow down, let apuimedo answer14:43
apuimedoiptables based one IIRC. But I can't confirm it. tfukushima set it up, I only looked around14:43
mspreitzapuimedo: I think you may have confused "cluster IP" and "service IP".  The service IPs are virtual, the cluster IPs are real; each cluster IP is had by just one pod.14:43
apuimedobut what I saw was, cluster ip only defined in iptables redirects14:43
mspreitzapuimedo: so the virtual IP addrs you saw were NOT the addrs that each pod sees itself as having, right?14:44
banixi think that is the service ip14:44
apuimedomspreitz: right14:44
mspreitzapuimedo: you are saying "cluster IP" where you mean what is actually called "service IP".14:44
apuimedomspreitz: maybe. I've been known to confuse names in the past. I'll try to check it14:45
baohuasorry, mspreitz, i think we only have the clusterIP term.14:45
apuimedoI only recall cluster ip14:45
baohuaservice ip was the past14:45
mspreitz"service IP" and "cluster IP" are distinct concepts14:45
mspreitzbaohua: if you list services, does each one have an IP address?14:45
baohuayes, can u give some link to the concept doc? I've only seen the clusterIP14:46
apuimedomspreitz: https://coreos.com/kubernetes/docs/latest/getting-started.html14:46
apuimedolook at the "service_ip_range"14:46
apuimedo"Each service will be assigned a cluster IP out of this range"14:47
mspreitzbaohua: I can cite http://kubernetes.io/docs/user-guide/#concept-guide but it is not 1.214:47
mspreitzapuimedo: exactly...14:47
apuimedowhich is distinct from POD_NETWORK14:47
mspreitzexactly.14:47
apuimedopods don't get cluster_ips14:47
apuimedocluster ips are for services14:47
mspreitzthat POD_NETWORK thing configures the range for cluster IP addresses.14:47
apuimedonope14:48
apuimedoSERVICE_IP_RANGE=10.3.0.0/2414:48
mspreitzo gosh, I see the verbiage there14:48
apuimedois for cluster ip addresses14:48
baohuayes, that's what i think14:48
mspreitzfine, so let's say "pod IP" for the kind of address that a pod gets.14:48
apuimedok8s naming conventions are bringing headache to everybody :-)14:48
apuimedoright14:49
baohuathere're 3 types of ip: node, pod and clusterIP14:49
baohuanode is for the physical server, pod is for pod, and clusterIP for service14:49
apuimedoright14:49
mspreitzcould we please say "service IP" for those virtual ones?14:49
baohuaoh, on,pls14:49
baohuaas this term was utilized in old release14:49
baohuavery confusing14:49
mspreitzAnyway, back to the design.14:49
apuimedomspreitz: it will end up being more confusing, as people will check the current reference14:50
baohuapls unify to clusterIP14:50
apuimedocluster ip is for the service14:50
mspreitzMy aim is to support the iptables-based kube-proxy14:50
apuimedoand that's why we map it to a VIP of Neutron LBs when not using kube-proxy14:50
apuimedomspreitz: for supporting iptables-based-proxy14:50
apuimedocan you refresh my memory on what it does with the VIP (since I'm not sure I looked at the userspace one or not)14:51
apuimedowith the one I looked at14:51
apuimedoIt should be enough that the host can route into the neutron network that we use as POD_NETWORK14:51
apuimedo(of course, depending on vendor, but probably with ovs it would work)14:52
mspreitzapuimedo: we may have another terminology confusion.  When you say "kube proxy", do you mean specifically the userspace one and NOT the  iptables-based one?14:52
apuimedomspreitz: I mean the one I experienced (I only saw tons of iptables redirect rules, so I assume that it was the iptables-based one)14:53
apuimedothat's why I asked what you see in your deployments14:53
apuimedohow does it map the cluster ip to a pod14:53
mspreitzapuimedo: the userspace based kube-proxy also uses iptables entries.14:53
apuimedoto be able to know if my understanding is from one or the other :P14:53
mspreitzIn the userspace proxy, on each pod host, for each service, there is an iptables rule mapping dest=service & port=serviceport to dest=localhost & port=localaliasofthatservice14:54
mspreitzThere is a userspace process listening there and doing the loadbalancing.14:55
apuimedoand in the new one?14:55
mspreitzIn the iptables-based kube-proxy, on each host, for each service, there is an iptables rule matching dest=service & port=serviceport and jumping to a set of rules that stochastically choose among the service's endpoints.14:56
apuimedomspreitz: and you want to support the latter, right?14:56
mspreitzapuimedo: right14:56
mspreitzBecause it does not transform the client IP address.14:56
mspreitzSo the translation from network policy statement to security group rules is pretty direct.14:57
apuimedomspreitz: it would be very useful if you could post in the ML and/or devref examples of those chains that it uses for choosing14:57
mspreitzOK, I'll find a way to do that.14:57
apuimedoso that we can figure out how best to support this new kube-proxy backend14:57
apuimedo#topic others14:58
apuimedoany other topic in the last two minutes?14:58
apuimedoit may feel like we didn't get a lot decided, but I am very happy to have converged in our understanding of concepts and vocabulary14:59
banixgood14:59
mspreitzI am not sure we are accurately converged on "cluster IP"14:59
apuimedomspreitz: you'll get to love to the new name with time14:59
apuimedoit's like a that shoe that is a bit rough but that with time gets familiar and you keep using it out of habit15:00
banixlooks like this is the new name for what used to be called service ip. if i understand it correctly.15:00
apuimedoI'll never like the overloading of the name "namespaces" though15:00
apuimedobanix: that's right15:00
apuimedoI don't know what is it nowadays with people changing names and ips all the time15:01
baohua+115:01
apuimedoanything else, then?15:01
gsagieheh15:01
mspreitznot from me15:01
gsagienope15:01
baohuanope15:01
apuimedolet's meet next week?15:01
gsagiesure15:01
baohuasure, see u then15:01
banix14:30 UTC?15:01
banixif on Wednesday15:02
mspreitzOK with e15:02
apuimedo#info next week 14:30utc k8s-kuryr meeting15:02
apuimedo#endmeeting15:02
openstackMeeting ended Wed Mar 23 15:02:18 2016 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)15:02
openstackMinutes:        http://eavesdrop.openstack.org/meetings/k8s_kuryr_part_ii/2016/k8s_kuryr_part_ii.2016-03-23-14.02.html15:02
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/k8s_kuryr_part_ii/2016/k8s_kuryr_part_ii.2016-03-23-14.02.txt15:02
openstackLog:            http://eavesdrop.openstack.org/meetings/k8s_kuryr_part_ii/2016/k8s_kuryr_part_ii.2016-03-23-14.02.log.html15:02
apuimedothank you all for joining15:02
banixthanks15:02
*** banix has quit IRC15:02
apuimedogsagie: banix: don't escape yet15:02
apuimedo:-D15:02
apuimedowe should discuss release planning for the libnetwork driver15:02
apuimedobanix: and I'd love to have your re-use existing network for it15:03
gsagieapuimedo: you mean an OpenStack official release?15:03
*** baohua has quit IRC15:04
apuimedogsagie: yes15:04
gsagiei wonder if we are really stable enough, i personally dont feel we have tested this enough with the IPAM and backporting fixes to release can be a bit annoying, but really depends on you and banix experience15:05
apuimedogsagie: I would like the cores to take a decision on this15:06
apuimedoI feel that we could use some extra pressure of having a first official release15:06
gsagieapuimedo: good idea, want me to email everyone?15:06
apuimedogsagie: pretty please :-)15:06
gsagiei also need to see if its not too late for Mitaka15:07
apuimedogsagie: sure15:07
apuimedootherwise we'll just make some tag15:07
apuimedothat packagers can use15:07
gsagieyeah tag is a good idea regardless15:07
gsagiebefore we start adding Kubernetes integration15:08
gsagieapuimedo, will send to all of us and Thierry to make sure we can still create a stable release15:09
apuimedo;-)15:09
apuimedoperfect15:09
apuimedowell, that's all from me for now. gsagie I'll look at the slides draft this weekend. I'm completely swamped now15:09
gsagieapuimedo: np, if you want help send me the Kubernetes slides (if you have something) and i can start integrating15:11
gsagieor even just a structure15:11
apuimedook15:11
gsagieand i will build slides (from text)15:11
*** fawadkhaliq has quit IRC15:54
*** mspreitz has quit IRC15:56
*** fawadkhaliq has joined #openstack-kuryr16:31
*** salv-orlando has joined #openstack-kuryr16:31
fawadkhaliqapuimedo: sorry, I somehow didnt have this on my calendar and woke up after the meeting. I will catch up offline.16:32
*** fawadkhaliq has quit IRC16:35
*** fawadkhaliq has joined #openstack-kuryr16:36
*** salv-orlando has quit IRC16:38
apuimedonp ;-)16:40
*** banix has joined #openstack-kuryr16:42
*** salv-orlando has joined #openstack-kuryr16:42
*** salv-orlando has quit IRC16:54
banixapuimedo: gsagie sorry had to run/escapeā€¦ Saw the conversation; I will have the updated external network support done (ready for review) this week.17:00
*** fawadkhaliq has quit IRC17:36
*** fawadkhaliq has joined #openstack-kuryr17:37
*** fawadkhaliq has quit IRC17:39
*** fawadkhaliq has joined #openstack-kuryr17:39
*** fawadkhaliq has quit IRC17:41
*** fawadkhaliq has joined #openstack-kuryr17:41
*** fawadkhaliq has quit IRC17:47
*** yamamoto_ has quit IRC17:47
*** fawadkhaliq has joined #openstack-kuryr17:47
*** salv-orlando has joined #openstack-kuryr17:48
*** yamamoto has joined #openstack-kuryr17:52
apuimedothanks17:53
*** salv-orl_ has joined #openstack-kuryr18:01
*** salv-orlando has quit IRC18:04
*** yuanying_ has joined #openstack-kuryr18:07
*** yuanying has quit IRC18:09
openstackgerritMike Spreitzer proposed openstack/kuryr: Add devref for kubernetes translate 1 and 2  https://review.openstack.org/29017218:17
*** yamamoto has quit IRC18:19
*** yamamoto has joined #openstack-kuryr18:24
*** mestery_ has joined #openstack-kuryr18:28
*** yamamoto has quit IRC18:33
*** mestery has quit IRC18:33
*** mestery_ is now known as mestery18:33
*** yamamoto has joined #openstack-kuryr18:33
*** yamamoto has quit IRC18:33
*** yamamoto has joined #openstack-kuryr18:34
*** mestery_ has joined #openstack-kuryr18:34
*** yamamoto has quit IRC18:37
*** yamamoto has joined #openstack-kuryr18:44
*** yamamoto has quit IRC18:44
*** yamamoto has joined #openstack-kuryr18:44
*** yamamoto has quit IRC18:45
*** mestery_ has quit IRC18:46
*** openstack has joined #openstack-kuryr19:07
*** openstack has joined #openstack-kuryr19:21
*** yamamoto has joined #openstack-kuryr19:45
*** yamamoto has quit IRC19:53
*** openstack has joined #openstack-kuryr20:31
*** fawadkhaliq has quit IRC20:53
*** fawadkhaliq has joined #openstack-kuryr20:53
*** fawadkhaliq has quit IRC21:04
*** fawadk has joined #openstack-kuryr21:04
*** oanson has quit IRC21:04
*** banix has quit IRC21:49
*** fawadk has quit IRC22:53
*** fawadkhaliq has joined #openstack-kuryr22:53
*** fawadkhaliq has quit IRC22:55
*** fawadkhaliq has joined #openstack-kuryr22:56
*** fawadkhaliq has quit IRC23:07
*** fawadkhaliq has joined #openstack-kuryr23:08
*** openstack has joined #openstack-kuryr23:22
*** fawadkhaliq has quit IRC23:39
*** fawadkhaliq has joined #openstack-kuryr23:49

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