Tuesday, 2014-09-02

*** haomaiwang has joined #openstack-swift00:02
*** Trixboxer has quit IRC00:07
*** haomaiwang has quit IRC00:16
*** haomaiwang has joined #openstack-swift00:23
*** dmorita has joined #openstack-swift00:26
*** tsg has joined #openstack-swift00:26
*** haomaiwang has quit IRC00:30
*** haomaiwa_ has joined #openstack-swift00:30
*** tsg has quit IRC00:33
*** swat30 has quit IRC00:36
*** thurloat has quit IRC00:36
*** thurloat has joined #openstack-swift00:39
*** swat30 has joined #openstack-swift00:39
*** tsg has joined #openstack-swift00:40
*** haomaiwa_ has quit IRC00:41
openstackgerritYuan Zhou proposed a change to openstack/swift: Use mkstemp() instead of deprecated mktemp()  https://review.openstack.org/11808400:42
*** haomaiwa_ has joined #openstack-swift00:43
*** swills has left #openstack-swift01:05
*** addnull has joined #openstack-swift01:31
*** haomaiw__ has joined #openstack-swift01:39
*** haomaiwa_ has quit IRC01:40
*** nosnos has joined #openstack-swift01:48
*** developer has joined #openstack-swift01:49
*** haomaiw__ has quit IRC01:50
developerJust testing connection.01:50
*** haomaiwang has joined #openstack-swift01:56
*** miqui has quit IRC01:57
openstackgerritYuan Zhou proposed a change to openstack/swift: Use mkstemp() instead of deprecated mktemp()  https://review.openstack.org/11808401:58
*** haomaiwang has quit IRC02:01
*** haomaiwang has joined #openstack-swift02:02
*** zul has quit IRC02:08
*** miqui has joined #openstack-swift02:19
*** addnull has quit IRC02:31
*** addnull has joined #openstack-swift02:37
*** haomaiwang has quit IRC02:42
*** addnull has quit IRC02:47
*** haomaiwang has joined #openstack-swift02:48
*** addnull has joined #openstack-swift03:03
*** shakamunyi has joined #openstack-swift03:15
*** haomaiw__ has joined #openstack-swift03:15
*** haomaiwang has quit IRC03:19
*** shakamunyi has quit IRC03:20
*** haomaiw__ has quit IRC03:27
*** haomaiwang has joined #openstack-swift03:28
*** addnull has quit IRC03:38
*** xianghuihui has joined #openstack-swift03:39
*** xianghui has quit IRC03:42
*** nosnos has quit IRC03:44
*** nosnos has joined #openstack-swift03:45
*** nosnos has quit IRC03:49
*** haomaiwang has quit IRC03:52
*** haomai___ has joined #openstack-swift03:52
*** tsg has quit IRC03:53
*** addnull has joined #openstack-swift03:56
*** tsg has joined #openstack-swift04:04
openstackgerritTushar Gohad proposed a change to openstack/swift: EC: Make quorum_size() specific to storage policy  https://review.openstack.org/11106704:05
*** theanalyst has joined #openstack-swift04:05
*** developer has quit IRC04:07
openstackgerritTushar Gohad proposed a change to openstack/swift: EC: Make quorum_size() specific to storage policy  https://review.openstack.org/11106704:09
*** chandankumar has joined #openstack-swift04:11
*** addnull has quit IRC04:15
*** addnull has joined #openstack-swift04:15
*** shakamunyi has joined #openstack-swift04:16
*** nosnos has joined #openstack-swift04:17
*** xianghuihui has quit IRC04:19
*** addnull has quit IRC04:20
*** shakamunyi has quit IRC04:21
*** zaitcev has quit IRC04:21
*** chandankumar has quit IRC04:38
*** chandankumar has joined #openstack-swift04:51
*** kota_ has joined #openstack-swift04:54
*** addnull has joined #openstack-swift05:08
*** kopparam has joined #openstack-swift05:13
*** shakamunyi has joined #openstack-swift05:16
*** haomai___ has quit IRC05:17
*** shakamunyi has quit IRC05:21
*** haomaiwa_ has joined #openstack-swift05:24
*** nshaikh has joined #openstack-swift05:27
*** haomaiwa_ has quit IRC05:28
*** haomaiwang has joined #openstack-swift05:28
*** haomaiwang has quit IRC05:37
*** haomaiwa_ has joined #openstack-swift05:43
*** haomaiwa_ has quit IRC05:51
*** k4n0 has joined #openstack-swift06:06
*** shakamunyi has joined #openstack-swift06:17
*** shakamunyi has quit IRC06:22
openstackgerritKota Tsuyuzaki proposed a change to openstack/swift: Bump pyeclib version in requirements  https://review.openstack.org/11826406:25
*** bvandenh has joined #openstack-swift06:50
*** kopparam has quit IRC07:00
*** kopparam has joined #openstack-swift07:00
*** chandankumar has quit IRC07:01
*** openstackgerrit has quit IRC07:02
*** kopparam has quit IRC07:05
*** echevemaster has quit IRC07:16
*** addnull has quit IRC07:18
*** shakamunyi has joined #openstack-swift07:18
*** addnull has joined #openstack-swift07:20
*** shakamunyi has quit IRC07:22
*** joeljwright has joined #openstack-swift07:23
*** tsg has quit IRC07:24
*** bkopilov has joined #openstack-swift07:44
*** haomaiwang has joined #openstack-swift07:45
*** bkopilov has quit IRC07:49
*** kopparam has joined #openstack-swift07:49
*** acoles_away is now known as acoles08:01
*** mkollaro has joined #openstack-swift08:11
*** morganfainberg is now known as morganfainberg_Z08:12
*** geaaru has joined #openstack-swift08:14
*** shakamunyi has joined #openstack-swift08:19
*** foexle has joined #openstack-swift08:20
*** bkopilov has joined #openstack-swift08:22
mattoliverauWell I'm calling it a night, night all.08:22
acolesmattoliverau: good morning ;)08:23
*** shakamunyi has quit IRC08:23
mattoliverauacoles: lol, have a great day :)08:23
*** ppai has joined #openstack-swift08:28
*** infotection has quit IRC08:41
*** infotection has joined #openstack-swift08:46
*** zul has joined #openstack-swift09:02
*** shakamunyi has joined #openstack-swift09:20
*** shakamunyi has quit IRC09:24
*** addnull has quit IRC09:27
*** addnull has joined #openstack-swift09:27
*** aix has joined #openstack-swift09:29
*** addnull has quit IRC09:32
*** addnull has joined #openstack-swift09:38
*** kota_ has quit IRC09:42
*** shakamunyi has joined #openstack-swift10:20
*** shakamunyi has quit IRC10:25
*** IAm_thor has joined #openstack-swift10:27
*** IAm_thor has left #openstack-swift10:27
*** addnull has quit IRC10:47
*** Anju has joined #openstack-swift10:51
*** shakamunyi has joined #openstack-swift11:21
*** shakamunyi has quit IRC11:25
*** addnull has joined #openstack-swift11:31
*** tab___ has quit IRC11:39
*** k4n0 has quit IRC11:46
*** dmorita has quit IRC12:12
*** jasondotstar has quit IRC12:19
*** shakamunyi has joined #openstack-swift12:22
*** shakamunyi has quit IRC12:27
*** kopparam has quit IRC12:34
*** kopparam has joined #openstack-swift12:35
*** kopparam has quit IRC12:40
*** ppai has quit IRC12:50
*** Trixboxer has joined #openstack-swift12:51
*** tongli has joined #openstack-swift13:00
*** kenhui has joined #openstack-swift13:06
*** bsdkurt has joined #openstack-swift13:06
*** tdasilva has joined #openstack-swift13:17
*** shakamunyi has joined #openstack-swift13:23
*** annegent_ has joined #openstack-swift13:26
*** shakamunyi has quit IRC13:27
*** Anju has quit IRC13:42
*** lnxnut has joined #openstack-swift13:51
*** tdasilva has quit IRC13:58
*** sandywalsh has joined #openstack-swift13:59
*** bsdkurt has quit IRC14:02
*** openstackgerrit has joined #openstack-swift14:07
*** tsg has joined #openstack-swift14:08
*** shakamunyi has joined #openstack-swift14:10
*** shakamunyi has quit IRC14:11
*** judd7 has joined #openstack-swift14:13
*** tdasilva has joined #openstack-swift14:13
*** bkopilov has quit IRC14:16
*** mahatic has joined #openstack-swift14:17
*** bvandenh has quit IRC14:25
*** tsg has quit IRC14:28
*** bkopilov has joined #openstack-swift14:29
*** sandywalsh has quit IRC14:42
*** addnull has quit IRC14:47
*** shakamunyi has joined #openstack-swift14:47
*** nshaikh has quit IRC14:52
*** tsg has joined #openstack-swift14:55
*** bkopilov has quit IRC14:59
*** judd7 has quit IRC15:03
*** nosnos has quit IRC15:06
*** nosnos has joined #openstack-swift15:07
*** shakamunyi has quit IRC15:07
*** foexle has quit IRC15:10
*** shakamunyi has joined #openstack-swift15:11
*** nosnos has quit IRC15:11
*** pberis has quit IRC15:13
*** aerwin has joined #openstack-swift15:22
*** annegentle has quit IRC15:32
*** otoolee has quit IRC15:39
*** mahatic has quit IRC15:40
*** mwstorer has joined #openstack-swift15:44
*** gyee has joined #openstack-swift15:45
*** shakamunyi has quit IRC15:46
*** acoles has quit IRC15:51
*** acoles has joined #openstack-swift16:01
*** ChanServ sets mode: +v acoles16:01
*** shakamunyi has joined #openstack-swift16:04
*** tdasilva has quit IRC16:04
*** aerwin has quit IRC16:07
*** otoolee- has joined #openstack-swift16:10
*** morganfainberg_Z is now known as morganfainberg16:11
*** annegent_ has quit IRC16:13
*** annegent_ has joined #openstack-swift16:14
*** Alex_Gaynor has quit IRC16:17
*** Alex_Gaynor has joined #openstack-swift16:18
*** shakamunyi has quit IRC16:20
*** mahatic has joined #openstack-swift16:30
*** joeljwright has quit IRC16:31
samwebsterHi everyone.  I had a question about ring rebalancing.  When I change the devices in the ring around, which  of the swift processes is responsible for migrating the existing data to the new location?16:39
openstackgerritAlistair Coles proposed a change to openstack/swift: Check for change before container replicator updates db  https://review.openstack.org/11840116:40
*** tdasilva has joined #openstack-swift16:40
notmynamegood morning16:41
*** bill_az_ has joined #openstack-swift16:41
notmynameacoles: you're back!16:42
pelusegood morning and, yeah, welcome back acoles16:42
notmynamesamwebster: replication16:42
notmynamesamwebster: {account,container,object}-replicator16:42
acolesnotmyname: indeed, although in spirit i am still sailing on lake garda ;)16:42
notmynameacoles: :-)16:42
* tdasilva google images lake garda16:43
tdasilvawow!16:43
samwebsternotmyname: thanks!  How does the replicator know what needs to be moved?  Does it compare the ring in memory to the ring on disk?  If the replicator was down when I changed the ring file, would it still be able to move the old data to the new location?16:44
*** mahatic has quit IRC16:46
acolestdasilva: yeah, its pretty spectacular16:47
notmynamesamwebster: well, that's not a one-line answer :-)16:47
tdasilvaacoles: nice, sounds like you had a great time!16:47
acolestdasilva: btw hope to review patch soon, catching up...16:47
notmynamesamwebster: but, yes it automatically reloads the ring files from disk. and replication can be stopped and restarted and still work16:48
tdasilvaacoles: the constraints middleware?16:48
notmynameacoles: I thought tdasilva was just making a big deal out of it. then I saw the pictures. wow16:48
samwebsternotmyname: thanks for the help.16:49
acolestdasilva: https://review.openstack.org/115995 , but middleware too i guess ;)16:49
tdasilvaacoles: oh yes, it would be nice to get that landed16:49
tdasilvaacoles: the middleware one I'm still working on it, I think it will change quite a bit. I had a nice talk with torgomatic last week and we kinda of see a new direction for it16:50
acolestdasilva: ok, i'll wait for that then16:51
notmynamesamwebster: please ask if you have more questions. there's quite a few things online that I can point you to if i know what the questions are16:51
acolesnotmyname: google 'image ferrari museum' to complete the picture16:52
pelusedouble wow on the lake garda thing, man o man16:53
samwebsternotmyname:  My core question is that I'm wondering if all the swift services are down when I update the ring, how will the replicator know what to move?  If it doesn't have the old ring file to compare to, how does it know what needs to move?16:54
notmynamesamwebster: ah, ok. data placement is deterministic. so every object gets put into a "partition" of the ring keyspace, and the ring determines what partitions are on what drives. replication simply makes sure the partitions are in the right place based on the current version of the ring16:56
notmynamepeluse: acoles: tdasilva: I put a new link in the channel topic yesterday. https://wiki.openstack.org/wiki/Swift/ideas Just a few simpler ideas that IMO would be nice to have in Swift. a "I'm looking for something to do list"16:58
notmynameif you've got other stuff to add, that would be great16:58
notmyname /meeting train starting16:59
acolesnotmyname: ack17:00
samwebsternotmyname:  I'm guess I'm not clear on how it knows about the data in the old location.  If I initially had my container ring with the device "z1doriginal" and then change the device name to "z1dnew", how does it know to move the existing container db files in the z1doriginal device to the z1dnew device?17:03
*** judd7 has joined #openstack-swift17:04
*** dencaval has joined #openstack-swift17:04
tdasilvanotmyname: nice idea17:05
ahalesamwebster: the replicator looks at what partitions it has, what the ring says it should have, and if theres data that shouldnt be there (new ring / handoff writes / whatever) then it will try to put it where it thinks it should be, based on the ring it has17:11
samwebsterahale:  So it looks at the disk and finds the old database z1doriginal/..../1234.db.  It realizes that doesn't fit into the ring, so it sees where it should go and moves it there.  I think I see now.17:14
ahaleyep pretty much - at a basic level17:15
portante_hey folks, ric wheeler here at Red Hat suggested I take a look at this article at how to properly sync data to a local file system, thought I'd share it: http://lwn.net/Articles/457667/17:18
*** portante_ is now known as portante17:18
*** ChanServ sets mode: +v portante17:18
portanteit points out that after creating the temp file in the object server, we perform the rename, but I don't think we perform an fsync of the directory to make that rename persistent17:19
portanteit has been a while since I looked at the code, so if I am wrong, then we're good17:19
portanteotherwise, we might want to consider the impact/trade-off of fsync the directory itself after the rename17:19
* portante goes back to his little hole in the ground ...17:20
*** tdasilva has quit IRC17:20
*** tkay has joined #openstack-swift17:21
openstackgerritLorcan Browne proposed a change to openstack/swift: Add "--no-overlap" option to swift-dispersion populate  https://review.openstack.org/11841117:26
*** tdasilva has joined #openstack-swift17:28
*** bnelson has joined #openstack-swift17:35
*** tsg has quit IRC17:35
*** aix has quit IRC17:35
*** geaaru has quit IRC17:44
*** bkopilov has joined #openstack-swift17:49
*** miqui has quit IRC18:00
*** occup4nt has joined #openstack-swift18:23
*** occup4nt is now known as occupant18:23
*** shri1 has joined #openstack-swift18:26
*** mkollaro has quit IRC18:32
*** charz has quit IRC18:38
*** charz has joined #openstack-swift18:39
openstackgerritDavid Goetz proposed a change to openstack/swift: Delete expired objects in slightly smarter way.  https://review.openstack.org/11843418:47
openstackgerritDavid Goetz proposed a change to openstack/swift: Delete expired objects in slightly smarter way.  https://review.openstack.org/11843418:48
*** bnelson has quit IRC18:49
*** wer has joined #openstack-swift18:58
*** annegent_ has quit IRC19:22
peluseportante, hey welcome back man...19:26
peluseportante, if you have a dusty old 'add policy support to in process func tests' somewhere I'd be glad to pick it up.  Would like to get it in there, almost forgot about it...19:27
*** mahatic has joined #openstack-swift19:28
*** erlon has joined #openstack-swift19:29
*** tsg has joined #openstack-swift19:30
*** miqui has joined #openstack-swift19:40
*** samwebster has quit IRC19:44
*** bnelson has joined #openstack-swift19:45
pelusetsg, you there?19:46
*** mahatic has quit IRC19:46
tsgpeluse: yes19:46
peluseok, cool.  just checking my client19:46
dfghey anybody have time to check out https://review.openstack.org/#/c/117842/ ? ( i know it hasn't been there very long and i'm horrible about reviews but.. anyway. i'd like to move that one along if possible. it plus redbo's already approved change should really help container perf and I want to try it out)19:48
*** annegent_ has joined #openstack-swift19:52
*** morganfainberg is now known as needs19:57
*** needs is now known as needscoffee19:57
*** zacksh has quit IRC20:32
*** zacksh has joined #openstack-swift20:39
*** tdasilva has quit IRC20:45
*** needscoffee is now known as morganfainberg20:56
*** tab_ has joined #openstack-swift20:59
*** tsg has quit IRC21:00
*** tsg has joined #openstack-swift21:01
*** zaitcev has joined #openstack-swift21:07
*** ChanServ sets mode: +v zaitcev21:07
*** annegent_ has quit IRC21:14
*** tsg has quit IRC21:14
*** morganfainberg is now known as steve_notmorgan21:32
*** steve_notmorgan is now known as morganfainberg21:32
*** lnxnut has quit IRC21:46
dfglooks like I found the best way to stop all communication in the openstack-swift channel. ask for a review :)21:50
notmynameheh21:50
*** annegent_ has joined #openstack-swift21:53
*** taras_ has joined #openstack-swift21:57
taras_hi, i've been poking at swift implementation because I have prior experience with fixing sqlite footguns in mozilla. Was curious if swift trips over similar ones21:59
taras_came up with some observations in http://piratepad.net/D5eb87Rgrp21:59
*** annegent_ has quit IRC21:59
taras_is irc a good place to try to understand swift design?21:59
taras_or should i do mailing list?22:00
pelusedfg, I'll set aside some time tomorrow or Thu at the latest if its still in need of a second... booked the rest of today though22:00
taras_i'm curious why swift decided to use sqlite for keyvalue store?22:01
taras_which properties of sqlite are appealing for swift?22:01
*** annegent_ has joined #openstack-swift22:02
*** Trixboxer has quit IRC22:03
dfgpeluse: ok thx. no crazy rush or anytrhing22:03
pelusedfg, cool22:04
pelusetaras_, looks like some good questions, hopefully someone with some history will jump in here...22:04
pelusetaras_,  if not then formulating your observations into more specific questions and using the mailing list might work better22:05
taras_ok, happy to do that22:05
pelusetaras_,  wrt general swift design/arch hjave you reviewd the available dev and arch docs?22:06
pelusetaras_,  here:  http://docs.openstack.org/developer/swift/overview_architecture.html22:06
taras_yes22:06
pelusecool... if you have other questions not so sql-specific I might be able to help now... fire away.  my sql knowledge is limited to the changes I've had to make for features I've worked on (not part of original design)22:07
taras_yeah22:08
taras_though it's an extension of the sqlite question22:08
taras_do you know what the replication logic is22:08
taras_as i understand things are kept in sqlite22:08
taras_so one can copy that file over22:08
pelusereasonably well I suppse, what's the question?22:08
taras_and keep it in object server22:08
taras_but then how do you know which sqlite file to modify, when to fetch it from obj store and when to use local copy, etc22:09
taras_eg keeping listing in sqlite, allows to reuse the object store replication22:09
mattoliverauMorning all22:09
taras_but i'm not clear on what that actually looks like22:09
peluseso you're asking specifically about database replication as opposed to replciation of the objects themselves?22:10
taras_yes22:10
peluseOK, I haven't spent much time in that area either but do know the obj replication pretty well, let me scan the code real quick and at least give you some pointers of what to go look at22:11
* peluse looking at swift/container/replciator.py22:12
taras_btw, i love you guys for not overdoing it on indexes and not using an objrelational mapping22:12
zaitcevBut I can already tell that terminology needs to be adjusted. The "object server" in Swift only refers to the service that stores objects. It contains no sqlite of any kind.22:12
zaitcevThe sqlite underpins implementation of account and container servers.22:12
peluseahh, there's someone that can help!22:13
zaitcevoops22:13
pelusehehe22:13
taras_:)22:13
*** annegent_ has quit IRC22:15
zaitcevIn a sense, however, a and c servers are similar to o server, only instead of object bodies, they store sqlite DBs. The replication mechanisms are identical. We just rsync the xxxx.db over as needed. Well, with some complications.22:15
*** annegentle has joined #openstack-swift22:15
zaitcevEXCEPT22:15
zaitcevpeluse is working on an entirely new implementation for object server22:15
*** dmsimard is now known as dmsimard_away22:16
taras_zaitcev: so will new object server use a new way to list entries?22:16
taras_or will it only change details of sqlite/rsync replication22:17
zaitcevtaras_: no. Object server does not list entries even now. Only container server can do that.22:17
pelusezaitcev, what exactly am I working on?22:17
zaitcevpeluse: EC22:17
peluseahh, OK :)22:17
taras_zaitcev: so when you say "new object server", you assume "old container" server?22:17
peluseso to be clear thats not a totally new implementation for the object server, its a new stoage policy and will change some code paths in the proxy and obj servers both (conditionally) but not as much as you might think22:18
zaitcevtaras_: well... as far as replication is concerned, there's no chance. It adds a new columns and uses a view to look like the old one.22:18
zaitcevs/chace/change/22:18
taras_that's maily to support erasure coding?22:18
zaitcevYes22:18
zaitcevWell, policies.22:18
taras_ok22:18
taras_so my sqlite poking wont be time wasted22:19
zaitcevPolicy index attaches to container, so...22:19
zaitcevYou're not the first, I think almost every operator has tools to peek into .db. It's not officially encouraged, but people like it.22:19
* taras_ is not an op22:20
taras_i just read some blog posts re slow PUTs22:20
taras_so setup devstack to see how much blame can be placed on sqlite there22:20
taras_given my prior sqlite footgun-fixing experience on mozilla22:20
zaitcevooooh, nice22:20
*** tsg has joined #openstack-swift22:21
taras_so my data is super-sketchy, cos devstack :)22:21
*** kenhui has quit IRC22:21
zaitcevI remember how Awesome Bar came out in something like FF 23 or so. Man, it was shit.22:21
zaitcevLike, really hanging everything22:21
taras_ff4 yeah22:21
zaitcevAnd now I use it all the time22:21
taras_things got less bad somewhere between 14 and 2022:22
zaitcevThat far back, huh. Time flies.22:22
zaitcevAnyway, good luck.22:22
taras_pain lingers :)22:22
zaitcevSo, do you have any URLs for those blog posts?22:23
pelusetaras_, so if you want to look more at the implementation of the db replciator check out swift/common/db_replicator.py22:24
*** echevemaster has joined #openstack-swift22:24
taras_peluse: thank you22:24
zaitcevoh, wait, I see links in piratepad22:24
zaitcevtaras_: you need to engage torgomatic and clayg to answer some of the questions in the pad22:28
taras_hope they notice on mailing list22:29
pelusethey both watch ing22:30
peluseing=it22:30
torgomaticI'm sure there's suboptimal sqlite usage going on, I'm just glad taras_ is able to identify some of it22:41
taras_it's always a question of whether it actually matters22:43
zaitcevtaras_: what was the subject22:43
taras_didnt sent it yet22:43
taras_figured i'd poke irc first22:43
zaitcevaww22:43
zaitcevokay.22:43
torgomatictaras_: a change just landed to do INSERT batching, I think22:44
torgomaticlike in the last couple of days22:44
taras_hmm didnt see it when is scanned code last week22:46
zaitcevgo go gadget git pull22:46
torgomaticcommit 1fcd609622:46
taras_i don't see that in https://github.com/openstack/swift/commits/master22:48
taras_is there a devbranch?22:49
pelusehttps://github.com/openstack/swift/commit/85362fdf4e7e70765ba08cee288437a763ea547522:50
taras_ok22:50
taras_thanks22:51
taras_now i get it22:52
taras_ok22:52
taras_torgomatic: is not fsyncing the pending file an option?22:55
taras_eg S3 is ok with losing some PUTs22:55
taras_seems like if you have a powercut, it's reasonable to miss a few entries in a container22:55
torgomatictaras_: the problem is that, if all 3 container replicas hit by the same powercut at the same time, there's nothing that would eventually end up populating the listing22:56
taras_err nm, you dont fsync on flush22:57
taras_torgomatic: that's an orphan in s3 lingo22:57
torgomatictaras_: well, TIL22:57
taras_which is ok22:57
taras_anyway, thanks for pointing this out22:57
taras_i missed this22:58
*** judd7 has quit IRC23:04
*** tgohad has joined #openstack-swift23:08
*** tsg has quit IRC23:09
*** tongli has quit IRC23:16
*** tongli has joined #openstack-swift23:16
taras_torgomatic: ha23:53
taras_thanks23:53

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