18:01:31 <ahf> #startmeeting gitlab migration meeting 18:01:31 <MeetBot> Meeting started Wed Apr 15 18:01:31 2020 UTC. The chair is ahf. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:01:31 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 18:01:40 <ahf> sorry, i ended up in a discussion in another room 18:01:51 <ahf> gaba is missing, she had to run somewhere 18:01:59 <ahf> let me just find the pad and stuff 18:02:31 <ahf> https://pad.riseup.net/p/gitlab-migration-problems is the pad 18:02:52 <ahf> so friday was not my most active day, since i spend it with family in the distance since i incremented my birth counter 18:03:27 <ahf> i did look a bit more at the wiki stuff and stole some parts from tracboat (again), but the list of tickets of course being the big problem with migration there 18:03:36 <ahf> i think last week a lot of progress was made on the irc bot though? 18:04:26 <anarcat> what's the list of tickets prblem sorry? 18:04:32 <anarcat> yes, progress on the bot: it's up and running! :) 18:04:44 <ahf> the list is on the pad 18:04:53 <anarcat> if you do foo/bar#1234 in a zwiebelbot tor channel, it will poke at gitlab.tpo/foo/bar/issues/1234 18:04:57 <anarcat> heh 18:05:10 <anarcat> i guess i just found a bug :p 18:05:29 <ahf> hm, that is neat 18:05:40 <ahf> can it be done to not need foo/bar ? 18:05:45 <ahf> or is it just that format one should use? 18:05:46 <anarcat> #info zwiebelbot has been patched to support gitlab, but some issues remain: private or non-existent issues are not handled 18:06:03 <anarcat> ahf: #foo will work for the legacy tickets, but it can't possibly work for all projects 18:06:28 <ahf> so we can make #xyz work to be like legacy/legacy/xyz ? 18:06:37 <anarcat> yes, eventually 18:06:46 <anarcat> for now that still points at trac, but we'll make the switch after the migration 18:07:06 <ahf> sweet 18:07:08 <ahf> that is really nice 18:07:43 <ahf> ggus: was mentioned by pili to talk about cypherpunks 18:07:47 <ggus> yes 18:07:48 <anarcat> i'm still confused as to what "list of tickets" means 18:07:57 <pili> yes thank you ahf and ggus 18:07:57 <ahf> anarcat: my todo list is on the pad 18:08:03 <ahf> it's not on trac if that is what you are asking 18:08:03 * pili jumps back to her other meeting 18:08:05 <anarcat> ahf: yes, i see the pad 18:08:18 <ahf> there is an "ISSUES NOT RESOLVED" 18:08:28 <anarcat> oh you're saying that the problem with the migration is the remaining not-resolved-issues? 18:08:30 <anarcat> got it 18:08:36 <ahf> yeah, formatting issues sorry 18:08:37 <arma2> anarcat: right, i found that bug earlier because prop#300 18:08:39 <ahf> it is all formatting things 18:08:42 <ggus> next week we will release community portal -community.tpo and we would like to collect feedback (ie bug report) on gitlab. do you htink it's possible to have an account like cypherpunks? 18:08:51 <arma2> (ok there is no gitlab issue 300 yet) 18:09:00 <ahf> ggus: i think there is people who thinks it is a bad idea 18:09:04 <ahf> partially myself including 18:09:15 <ahf> on gitlab we cannot restrict an account very much 18:09:28 <ahf> so for example the first troll could just login and change the pw 18:09:40 <anarcat> arma2: not sure i follow, you're saying the gitlab redirector overlaps with prop patterns? 18:09:42 <ahf> or delete the old comments from the other user 18:10:00 <anarcat> ggus: i understood that we were using RT for that now? 18:10:10 <anarcat> didn't we create queues for that already? or is that a different process? 18:10:21 <anarcat> in any case, i agree with ahf that gitlab is not the right place for now 18:10:29 <ggus> anarcat: different things. we created for training@ 18:10:35 <ahf> ggus: realistically i think it will be too early to experiment with that 18:10:45 <ahf> gitlab recently announced that they are open sourcing more private components 18:10:52 <ahf> so there will be a user support system 18:10:54 <ggus> ahf: ok, do you think it migh make sense to point to trac? 18:10:56 <ahf> where people can submit things anonymously 18:11:08 <ahf> ggus: i think a form that you guys an email might be the best? 18:11:12 <ahf> i don't know much about trac 18:11:15 <ahf> except the api :-/ 18:12:01 <anarcat> ggus: trac could work, but i'd suggest we discuss this outside this meeting and just say "not gitlab" for now :) 18:12:16 <ggus> we discussed three options: a) cypherpunk account on gitlab; b) cypherpunk account on trac.tpo ; c) a feedback survey on survey.tpo 18:12:35 <anarcat> survey.tpo sounds like what you need :) 18:12:41 <anarcat> but in any case it's not a) 18:12:53 <arma2> anarcat: (i will tell you about the bug post-meeting. no need to clutter things now.) 18:12:53 <ggus> antonela: pili: ^ 18:12:58 <anarcat> ahf: can we set an agenda for this meeting? i feel we're a bit all over the place :) 18:13:01 <anarcat> ahf: thanks 18:13:06 <anarcat> er 18:13:07 <anarcat> arma2: thanks 18:14:00 <ahf> anarcat: i think we are at it. i think the next steps now would be to talk about next steps in migration, but i will need gaba there 18:14:07 <ahf> and i don't have much of an update due to friday 18:14:10 <ahf> so i think we can just call it 18:14:37 <antonela> ggus: oki 18:15:04 <ahf> should we call it and aim for same time next week? 18:15:16 <anarcat> ahf: so i think we need to talk about 1) status update (what we're doing now) 2) next steps in migration 3) more specifically, next steps in infra plan 18:15:31 <anarcat> so we'd be done with the stauts update and can talk about the next steps 18:15:50 <ahf> (2) is "continue removing formatting issues" and "testing wiki migration" 18:15:57 <ahf> (3) i am not sure if there is anything 18:15:58 <ahf> ? 18:16:05 <anarcat> i had a question about the pad actually 18:16:07 <ahf> as far as i know the service seems to be running stable and so on right now? 18:16:10 <anarcat> lin94 you say *not possible ASFAIK* 18:16:17 <anarcat> what does that refer to? 18:16:34 <ahf> ah 18:16:37 <anarcat> the image stuff? 18:16:51 <anarcat> oh wait did you just update the status there? :) 18:16:52 <ahf> it is a note saying that i am not sure we can convert the inline Image() tags from trac to something sensible with attachments in GL 18:16:59 <anarcat> right 18:17:01 <ahf> no? 18:17:05 <anarcat> ok 18:17:13 <anarcat> so markdown supports images and we can definitely put images in gitlab comments 18:17:25 <anarcat> so we should be able to translate between those two, no? 18:18:37 <ahf> hm, that one should be updated after friday actually, because now i do the attachments at the same time as i do the ticket 18:18:44 <ahf> like i fetch attachments first, then post ticket to gitlab 18:18:44 <anarcat> awesome 18:18:54 <anarcat> so attachements and images should work... 18:18:58 <anarcat> i have test tickets for those if you like 18:19:10 <ahf> yeah 18:19:13 <ahf> there is in the pad 18:19:16 <anarcat> let me know if you want me to dig some out, not sure if i can find them quickly, but i definitely used that feature 18:19:29 <ahf> #30936 18:19:33 <ahf> is one of them 18:19:44 <anarcat> okay 18:19:58 <anarcat> seems like you got it covered 18:20:03 <anarcat> so i guess we can move on to point 3) 18:20:06 <anarcat> which i would like to talk about :) 18:20:14 <anarcat> the service is running stable now 18:20:16 <anarcat> but we don't have users 18:20:21 <anarcat> and i think it will not scale to many users 18:20:45 <ahf> i have only hosted small (few users) gitlabs before, so i have not much clue on that 18:20:48 <anarcat> this is gitlab right now 18:20:49 <anarcat> Instance Hypervisor OS Primary_node Status Memory 18:20:54 <anarcat> gitlab-02.torproject.org kvm debootstrap+buster fsn-node-03.torproject.org running 12.0G 18:20:55 <anarcat> gah 18:21:23 <anarcat> Instance ConfigVCPUs ConfigMaxMem Disk_sizes 18:21:23 <anarcat> gitlab-02.torproject.org 2 12.0G 30720,2048,20480 18:21:45 <ahf> it's memory, disk, swap? 18:21:57 <anarcat> it has as much memory as cupani, vineale and troodi (git-rw, gitweb and trac) together, but only two CPUs (vs 10 total for the other three) 18:22:21 <anarcat> Disk_sizes is basically / (root fs), swap, /srv 18:22:34 <ahf> /srv contains the repos? 18:22:39 <anarcat> i am guessing yeah 18:22:51 <anarcat> this is the legacy infra: 18:22:52 <anarcat> Instance ConfigVCPUs ConfigMaxMem Disk_sizes 18:22:52 <anarcat> cupani.torproject.org 2 2.0G 20480,4096,40960 18:22:52 <anarcat> troodi.torproject.org 4 4.0G 20480,8192,51200 18:22:52 <anarcat> vineale.torproject.org 4 8.0G 20480,4096,40960 18:23:13 <anarcat> cupani is: 18:23:14 <anarcat> Filesystem Size Used Avail Use% Mounted on 18:23:14 <anarcat> /dev/mapper/vg_cupani-srv 39G 31G 5.9G 84% /srv 18:23:21 <ahf> and your concern here is that it is now using a lot or it is now using a lot and in the future it might need even more? 18:23:25 <anarcat> so we already have a problem there that /srv is not big enough to have a copy of cupani 18:23:29 <anarcat> so we'll need to scale that up 18:23:42 <anarcat> my concern is that we haven't looked at this problem at all 18:23:50 <ahf> is all of that git repos? 18:23:57 <ahf> ah, the browser tree is of course yuge 18:24:00 <anarcat> yep 18:24:03 <ahf> makes sense 18:24:22 <anarcat> i'd be surprised, actually, if gitlab stays at 30GB 18:24:31 <anarcat> i expect it to explode in disk usage over time 18:24:41 <ahf> yeah because people will be much more just creating repos there 18:24:44 <ahf> and throw stuff into it 18:24:49 <ahf> today there is a bit of a process to get a repo 18:24:51 <anarcat> especially if we start CI, artifacts storage and containers registries 18:24:56 <anarcat> yep 18:25:03 <anarcat> but yeah, just git will eat a lot of I/O 18:25:19 <anarcat> both in terms of disk usage but also in terms of actual I/O in the cluster 18:25:23 <anarcat> that's one thing i'm worried about 18:25:26 <anarcat> i'm also worried about CPU usage 18:25:54 <anarcat> but the point is more that this is all an analysis that Someone(tm) needs to take care of 18:26:04 <anarcat> so far i've been kind of assuming that Someone Else(tm) would take care of it 18:26:21 <anarcat> but right now it certainly feels that if i don't do it, no one will and everyone kind of assumes we'll just wing it :p 18:26:32 <ahf> hm 18:26:42 <ahf> CI is not gonna be on that one for sure 18:26:52 <ahf> artifact storage and container storage i don't even have on my mind yet 18:27:09 <ahf> the CI is a bit of a security nightmare in my world so i want that off everything else 18:27:29 <anarcat> right 18:27:30 <ahf> i think you are right to think the someone else thing 18:27:46 <ahf> i think that is fine right now, you are already contributing a lot in these conversations 18:28:11 <anarcat> okay :) 18:28:20 <anarcat> well i just want to add that to our launch checklist i guess 18:28:22 <anarcat> we need to 18:28:24 <ahf> so 18:28:31 <ahf> you know we have the gift cards to digital ocean? 18:28:37 <ahf> or not gift cards, but a sponsorship 18:28:44 <ahf> that i haven't sorted out, but that dgoulet got us setup with 18:28:47 <anarcat> 1. have someone talk with other gitlab providers (riseup, debian, gnome) and see what kind of traffic they're seeing and hardware they're using 18:29:00 <ahf> i was hopeing to use that for CI, but since we don't have CI right now other than jenkins, CI is not on my priority list right now 18:29:02 <ahf> but is on nice to have 18:29:11 <anarcat> 2. plan extra hardware and related finances to make sure we can handle the load after launch 18:29:16 <anarcat> 3. deploy that 18:29:34 <anarcat> 2 and 3, by the way, might involve splitting the service into multiple servers (say run gitaly elsewhere) 18:29:42 <anarcat> and yes 18:29:47 <ahf> is micah the riseup gitlab person? 18:29:58 <anarcat> i want to make it really crystal clear to everyone that we don't do CI just yet, that's another launch 18:30:16 <ahf> yes! 18:30:17 <ahf> agreed 18:30:22 <anarcat> as much as i'd like to retire jenkins, i don't think we should do it as we retire trac :) 18:30:29 <anarcat> one retirement at a time :) 18:30:40 <ahf> yep 18:30:41 <ahf> agreed 18:30:41 <anarcat> i am not sure about gitlab 18:30:43 <ahf> we are in on that 18:30:45 <anarcat> but i can ask them 18:30:53 <anarcat> point is: who's bottomlining that side? 18:31:20 <ahf> bottomlining? 18:31:53 <anarcat> uh 18:31:59 <anarcat> "making sure this happens"? 18:32:20 <anarcat> a "bottomliner" makes sure things are taken care of, even if they don't necessarily do the work themselves 18:32:27 <anarcat> coordinating i guess is a good approximation 18:32:37 <ahf> are you up for talking with them about this? 18:32:43 <ahf> i think you have a better overview of the concerns there 18:32:49 <ahf> hiro knows some scaling issues from oniongit i guess 18:33:16 <anarcat> i guess i can bounce that problem around with hiro and see which lap it falls on at the end :p 18:33:33 <anarcat> i am also wondering if we have any sort of budget for this launch in terms of hardware provisionning 18:33:49 <anarcat> i would love to be able to throw hardware at this problem if we need to 18:34:00 <anarcat> as opposed to spending days of staff work trying to fine-tune gitlab's performance 18:34:07 <ahf> so it is good you are a bit more balanced on this because i'm a bit of a yes hat person in all of this and it might be there are some performance issues that is worth thinking into it 18:34:11 <ahf> that i am not seeing 18:34:20 <ahf> i have no clue on budget here 18:34:25 <anarcat> that's because you're not dealing with trac crap right now :) 18:34:31 <anarcat> you would definitely be worried if you would 18:34:33 <ahf> i think once we are migrated, we can get rid of some of the resources from the other services 18:34:40 <ahf> yep! 18:34:41 <ahf> for sure 18:36:23 <ahf> crawling is an issue with trac, no? 18:36:26 <anarcat> yes 18:36:29 <anarcat> it will be worse with gitlab 18:36:31 <anarcat> oh 18:36:33 <ahf> i would be 100% sure that gitlab probably have that issue too 18:36:34 <anarcat> and monitoring 18:36:50 <ahf> if i google torproject stuff now i already see a lot of things on gitlab.torproject.org 18:36:50 <anarcat> we need monitoring, particularly hooking gitlab into prometheus and grafana 18:36:52 <anarcat> we have nothing right now 18:36:53 <ahf> like individual commits and such 18:37:07 <ahf> we should probably disable robots.txt because every call to many of the sites are probably expensive git operations 18:37:36 <anarcat> i'll open tickets 18:37:54 <ahf> awesome 18:38:55 <anarcat> https://trac.torproject.org/projects/tor/ticket/33921 18:39:40 <yanmaani> Can't you just stick it behind caching? Or are these idiosyncratic operations? 18:39:49 <ahf> awesome 18:40:04 <ahf> yanmaani: maybe putting varnish in front could be a solution, but i don't know 18:40:11 <ahf> maybe just blocking crawling in the beginning is fine 18:40:24 <anarcat> we already have nginx in front of it, and yes we could setup caching there 18:40:26 <yanmaani> Do Things That Don't Scaleā¢ 18:40:40 <anarcat> but as i said, that falls in the "let's spend a week tuning gitlab" solution :p 18:40:49 <yanmaani> (not sarcasm) 18:40:49 <anarcat> as opposed to "throw hardware at the problem" solution 18:41:00 <anarcat> https://trac.torproject.org/projects/tor/ticket/33922 18:41:08 <anarcat> alright, we can move the discussion to async 18:41:14 <anarcat> i'm happy with the meeting, and would move on :) 18:42:02 <ahf> oki 18:42:05 <ahf> let's close it down folks 18:42:10 <ahf> meeting in 1 week at same time 18:42:21 <anarcat> thanks ahf 18:42:23 <ahf> thanks folks, i will talk with gaba 18:42:25 <ahf> #endmeeting