21:01:09 #startmeeting swift 21:01:10 Meeting started Wed Feb 27 21:01:09 2019 UTC and is due to finish in 60 minutes. The chair is notmyname. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:01:11 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:01:11 aka "party time" 21:01:13 The meeting name has been set to 'swift' 21:01:17 \o/ 21:01:17 who's here for the swift team meeting? 21:01:20 o/ 21:01:28 🕺 21:01:46 whoa. fancy emoji there 21:01:50 o/ 21:02:00 hi o/ 21:02:06 hello 21:02:19 welcome 21:02:27 #topic general stuff 21:02:47 (1) I hope everyone has booked (or is in the process of booking) summit/ptg details 21:03:09 the ptg is thursday, friday, and saturday. summit is monday, tuesday, and wednesday 21:03:18 yup 21:03:31 from talking to people, it seems that most people are going to arrive some time on wednesday and fly home on sunday 21:03:40 ^ that's me 21:03:56 but only cause I want to be like "most people" 21:04:00 I'll be arriving sunday and leaving on saturday 21:04:03 * notmyname is different 21:04:15 * mattoliverau is planning on arriving on Friday the week before because I'll mentor at OUI 21:04:20 nice! 21:04:29 * kota_ is same with notmyname 21:04:46 it's quite fun to see you involved in that mattoliverau :-) 21:05:16 rledisez: do you know yet when you/alex/ovh will be there? 21:05:20 thanks, it is quite fun, I get to be loud and try not to scare new contributors off :P 21:05:34 we'll probably do the full week, sunday to sunday 21:05:38 kk 21:05:41 clayg, you are not like most people. sorry. but i can state that with great confidence :P 21:05:56 also, i see it as a good thing :-) 21:05:58 lol 21:06:32 (2) next week there's an openstack deadline for client library releases 21:06:45 mattoliverau: you are super engaging - i bet everyone that sees how excited you about Swift will want to join in! 21:07:02 * clayg 🤗 @timburke 21:07:10 I've been doing the authors/changelog on swiftclient. timburke and I need to figure out one last issue, then that can land, and I'll work on the 3.6.1 tag request 21:07:41 https://review.openstack.org/#/c/639777/2 should land so that the current cycle will have historic py37 coverage 21:07:42 patch 639777 - python-swiftclient - Add py37 check/gate jobs; add py37 to default tox ... - 2 patch sets 21:07:48 I'm just waiting on zuul for that one 21:07:51 :) Well I'm mentoring a new Swift contrib now. Helping him get set up with an SAIO. He found me himself via the First Contact Sig page.. so it actually works. 21:08:05 that's great! 21:08:24 #topic losf 21:08:39 rledisez: kota_: how's losf feature branch this week? I see that there have been some updates 21:08:49 I'll get him to join the IRC channel and introduce him, once he's got it all working. He's based in India. 21:08:56 specifically, I'm interested in what came up about eventlet and grpc versions 21:09:11 oh yeah, do tell 21:09:13 the first draft version landed to losf branch. 21:10:05 we had a problem with grpc version but Alex made sure the newer version was fixed so we turned to use the newer version that fits with UPPER constraint with openstack's one 21:10:33 meaning that new eventlet works with grpc? or new grpc works better? what changed? 21:10:54 1 sec 21:11:32 the blocker seems like a temporary fix, Alex says. 21:11:36 https://review.openstack.org/#/c/639365/ 21:11:37 patch 639365 - swift (feature/losf) - Change grpcio version in requirements.txt to >=1.11.0 - 1 patch set 21:11:40 #link https://review.openstack.org/#/c/639365/ 21:11:41 patch 639365 - swift (feature/losf) - Change grpcio version in requirements.txt to >=1.11.0 - 1 patch set 21:12:33 a75712a71f01c06d7e5868a75cb62b26d775e5df at grpcio has started to work with eventlet. 21:12:46 (wait a bit making a link...) 21:13:23 #link https://github.com/grpc/grpc/commit/a75712a71f01c06d7e5868a75cb62b26d775e5df 21:14:08 time.sleep(5.1) !!! brilliant 21:14:21 yup. 21:14:23 the other links were like just... random probetests + gate slowness madness 21:14:45 anyway, my next step is packaging and making a gate that are using losf backend. 21:15:07 that's a great step! having a lsof gate job is a huge 21:15:07 kota_: 🤯 21:15:11 that is awesome! 21:15:11 to do that, we can make sure whether it works or not in the gate 21:15:17 🤗 21:15:42 the remaining works are organized at #link https://trello.com/b/xhNxrcLX/losf 21:15:57 COOL! 21:16:10 and Alex is also working to add/work the items. 21:16:12 great work 21:16:14 thanks for the update 21:16:34 ( don't know if the bot picks up directives from the middle of lines. if not... 21:16:34 #link https://trello.com/b/xhNxrcLX/losf 21:16:50 oic, thanks notmyname 21:17:17 let's test it... 21:17:24 now on to the next #topic py3 21:17:29 no :-( 21:17:31 #topic py3 21:17:32 Uh-oh. 21:17:42 everyone's favorite! 21:18:17 there have been a bunch of py3 changes landing this week 21:18:44 We made an unusual amount of progress, basically did a month's work in a week. 21:18:49 wow! 21:18:53 zaitcev and timburke have been doing an aweome job here. 21:19:13 any noticeable reason for getting so much done this week? 21:19:37 like... is it something that can be duplicated for next week? :-) 21:19:38 However, it'll take a while to catch up, we have some known-bad places, and the integration phase is a concern. 21:19:46 ok 21:19:48 notmyname, i wasn't trying to re-engineer versioned_Writes to work for s3api? 21:19:52 lol 21:19:56 fair enough 21:20:01 what are the known bad places? 21:20:03 I suppose main reason is timburke got serious. 21:20:45 at some point (maybe in the near future?) it's going to come down to clayg's idea from long ago of just ripping the band-aid off 21:21:21 OUCH! 21:22:38 Yeah, so long as the py2 unit, func and probe tests pass then we just will have to live with maybe finding a few bugs.. but hey. that's life. 21:22:53 what are the known bad places you mentioned zaitcev? 21:24:00 or the concerns around the integration phase? 21:24:04 bulk is something I was unable to port thus far, because it uses a tarball module that does not want to accept utf-8 names 21:24:16 oh, interesting 21:25:06 The integration - that is basically functests and probe tests - is going to hit places that aren't covered by unit tests, especially with international characters in object/container names, ACLs, listing prefixes etc. 21:25:35 how to deal with object metadata is another one. account and container, metadata has to be utf-8 (in part because we serialize it as json). obj allows arbitrary bytes, which just get pickled 21:26:31 timburke: are you still keeping https://gist.github.com/tipabu/833b03a865dba96e9fa2230b82f5d075 up to date? 21:26:41 or is there a better place? 21:26:59 not really. on either question 21:27:13 ok 21:27:25 do we need one? 21:27:47 maybe later? 21:27:50 ok 21:28:14 timburke: zaitcev: what are your next goals with py3? keep working on bulk? or to tackle another area? 21:28:16 amazing 21:28:16 This tracking may be useful once we start to whittling missing parts down one by one. But for now we're still finishing unit tests. IMHO. 21:28:56 so explore how far we can get with brute force - then gather the wagons around the hard parts 21:29:11 notmyname: we have a very good unit test coverage fortunately, so the first goal is to have all unit tests pass, including bulk. That one may yet be soluble using Unicode surrogates and/or appeals to upstream. 21:29:27 s/soluble/solvable/ 21:30:05 Basically what Clay said 21:30:10 ok 21:30:18 i was thinking that obj might be a good next target, then see if we can get some fraction of the functional tests running against a py3 swift 21:30:25 cool 21:30:43 being sure to run the func tests under py2, because i don't trust that they'll test the same things otherwise 21:30:46 We still have s3api 21:30:59 yeah, i think that one may take a bit :-( 21:31:08 timburke: but it's cool that we can do that. It worked for me when testing the sharder 21:31:17 3x py3s3api v3 21:31:22 zaitcev, i'd be happy to take a stab at bulk, though; see how far i can get 21:31:52 timburke: you have a history of simplifying my excesses, so I am hoping for miracle from you again here 21:32:13 mattoliverau, did you ever get more info on the func test failure you saw? 21:33:14 If I were doing py3 alone, _everything_ would've been forced UTF-8 top to bottom :-) 21:33:35 Bytes, bytes as far as eye can see 21:33:58 :-) 21:34:06 not yet, but haven't quited looked yet. I've been looking into some of the 404s I got while sharding a test container I have here.. it sharded fine, but there were some extra 404s trying to get shardranges at times. (in py3). So might have gotten a little distracted. 21:34:38 zaitcev: lol 21:34:44 Well. As long as we didn't break py2, this is probably acceptable for now. 21:34:56 zaitcev, yeah, it's tempting... but i really worry about the burden that would put on middleware developers 21:34:56 yeah. 21:35:24 #topic open discussion 21:35:44 any other topics to bring up this week during the meeting? 21:35:51 ah, just a qustion 21:36:24 perhaps, we may be missing keystone tests in the gate? AFAIK, the devstack gate was the one we had. 21:36:45 and I don't see the gate job in the recent gerrit result... 21:37:06 swift-dsvm-functional should include keystone testing 21:37:07 whoa :\ 21:37:22 (and the ipv6 one) 21:37:31 oh d[ev]s[tack]vm-functional - there you go 21:37:45 i'm not sure when it was dropped tho. 21:37:58 * timburke hides 21:38:06 heh 21:38:32 but we *have* a devstack gate job? 21:38:48 kota_: or you don't see `swift-dsvm-functional[-ipv6]` jobs? 21:39:20 https://github.com/openstack/swift/commit/560db71 *will* come back to bite me some day... 21:39:21 clayg: e.g. https://review.openstack.org/#/c/639365/ doesn't show the swift-dsvm-functional job 21:39:21 yeah and looking at those logs, it's defintely deploying keysone. Well it's marked as required in the early logs anyway. 21:39:22 patch 639365 - swift (feature/losf) - Change grpcio version in requirements.txt to >=1.11.0 - 1 patch set 21:40:05 oic 21:40:19 the job might have a filter on the branch? 21:40:25 at master, the dsvm gate are still working. 21:40:25 kota_: that's probably because of the feature branch 21:40:59 timburke: notmyname: do you guys know if any zuul jobs are "injected" based on the branch/repo - or if EVERYTHING is in the .zuul file now? 21:41:01 gotha, I should go look to the .zuul.yaml or project-config, thx. 21:41:35 clayg: most of it should be in .zuul.yaml (or similar config files) at this point. There are some release jobs we still manage centrally iirc 21:41:45 so if the job isn't in the branches job config that would explain it 21:42:09 clarkb: thanks for the clarification :-) 21:43:16 looks like it's in `.zuul.yaml` on losf same as master? 21:43:42 kota_: so maybe 1) well spotted! 2) we don't know why 😞 21:44:21 we don't change anything of .zuul.yaml at losf but I'll be able to make sure why it happens. 21:45:01 yes, it's curious 21:45:26 i'll see what i can find out... but i'm not sure my search will be successful 21:45:32 kota_: it's *just* those two jobs 21:46:30 what's defined in devstack-minimal? maybe theres a branch filter there or something 21:46:34 kota_: thanks for bring that up 21:46:49 yup 21:47:35 I'll add a follow-up for that question to next week's agenda 21:47:40 anything else to bring up for anyone? 21:47:50 one other topic: somebody on ML asked (twice) about fstab entries, proposing we encourage the use of UUID instead of device names (sda, …). I totally agree that using sda is a bad practise (we had many issues with that in the past at OVH), what are your though on updating the documentation for that? 21:48:13 +1 21:48:13 Umm we never said use /dev/sda, did we 21:48:27 I thought we encouraged labels 21:48:30 labels are good, too 21:48:32 We use "sda" as a device name within Swift, is all. All my systems use -L labes. 21:48:42 device names are terrible because they're not stable on reboot 21:48:51 i gotta admit I didn't check what he's saying 21:49:00 if we're ever encouraging device names, we should absolutely update the docs 21:49:38 anything else? 21:49:46 I name my devices in Swift in a way that does not match the /dev, this way there's no confusion. Like "x1a" etc. 21:49:58 take a look at https://github.com/openstack/swift/blob/35c5f666de0b9a2dab77863086d972a1a8e78fe4/doc/source/deployment_guide.rst#filesystem-considerations for example... 21:50:54 timburke: well I also notice the ubuntu 12.04 mentioned there... ;-) 21:51:01 or 10.04!!!! 21:51:11 lol 21:51:20 quoting his mail " the docs tell to use the disk labels in the disk's /etc/fstab 21:51:20 entries. 21:51:20 eg: 21:51:20 /dev/sda    /srv/node/sda   xfs noatime............. 21:51:21 " 21:51:27 Still... Who's going to edit deployment_guide.rst ? 21:51:57 aw, it's so cute... "Rackspace currently runs Swift on Ubuntu Server 10.04, and the following changes have been found to be useful for our use cases. ..." 21:52:08 rledisez: well it'd be useful to know which docs he's referring to 21:52:19 yeah, all mentions of "we" and rackspace should be updated as well 21:52:49 if you want to reply - or point someone at the thread 21:52:57 # Do not use /etc/fstab to mount Swift drives. If a drive fails mount, 21:52:57 # it's better for Swift to proceed than to fail to the repair prompt. 21:52:57 set +e 21:52:57 mount -L a1 /srv/node/a1 21:52:57 mount -L a2 /srv/node/a2 21:53:02 https://i.imgflip.com/21aqbc.jpg 21:53:12 (this is a recommendation from Joe Arnold's book BTW) 21:53:12 I know there's LOTS of places we use as sda as *an example* 21:53:35 https://github.com/openstack/swift/blob/35c5f666de0b9a2dab77863086d972a1a8e78fe4/doc/source/install/storage-install-ubuntu-debian.rst 21:53:46 we don't want to add an addendum to every example saying "replace sda with the device on your system and also don't use unstable device names" 21:54:06 rledisez, ok, 14.04... we're making progress... ;-) 21:54:20 :) 21:54:21 %s/sda/exampledevicea/g problem solved 21:54:32 it'd be cool if we could think of another string that has a strong context of "example device" 21:54:43 zaitcev: kind of? 21:54:56 ok, at least it's docs in our tree! 21:55:01 @rledisez thanks 21:55:11 clayg, swift-disk-N? idk... 21:55:21 yeah I like that! 21:55:34 we use `dN` for brevity - again we like labels 21:55:51 I like `swift-disk-N` too 21:55:53 Like "a1" in my example from /etc/rc.d/rc.local above 21:56:04 The instructions use /dev/sdb and /dev/sdc, but you can substitute different values for your particular nodes. 21:56:20 rledisez: did you (or can you) respond to the ML post? 21:56:30 /dev/disk/by-label/swift-device-1 21:56:36 i didnot yet, but i can/will 21:56:37 etc 21:57:01 rledisez: thanks. yeah, I think it's a good idea to correct and guide when there's a fair question and arguably bad docs out there 21:57:23 ok 21:57:26 gtg 21:57:35 yeah, we're at full time anyway 21:57:40 zaitcev: that's an interesting idea about sing rc.local to avoid the repair prompt! that joe... he's so smart 21:57:59 i'll create a bug report and answer to the ML (with a link) 21:58:07 rledisez: perfect. thanks 21:58:09 rledisez: like a $%^&*ing CORE 21:58:10 thanks for coming this week 21:58:12 👍 21:58:17 rledisez: kota_: thanks for the losf work. sounds great 21:58:34 zaitcev, timburke; thanks for the great py3 work 21:58:42 #endmeeting