19:02:24 #startmeeting infra 19:02:25 Meeting started Tue Mar 22 19:02:24 2016 UTC and is due to finish in 60 minutes. The chair is fungi. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:02:26 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:02:28 The meeting name has been set to 'infra' 19:02:31 o/ 19:02:32 #link https://wiki.openstack.org/wiki/Meetings/InfraTeamMeeting#Agenda_for_next_meeting 19:02:34 o/ 19:02:41 #topic Announcements 19:02:58 we got our requested summit session allotment 19:03:02 yay 19:03:06 #link https://wiki.openstack.org/wiki/Meetings/InfraTeamMeeting#Agenda_for_next_meeting 19:03:09 and we're sharing friday with QA 19:03:13 yay us! 19:03:15 er, wrong link. fixing 19:03:17 #undo 19:03:18 Removing item from minutes: 19:03:23 #link https://etherpad.openstack.org/p/infra-newton-summit-planning Newton Summit Planning 19:03:27 (I updated the etherpad to reflect this sharing) 19:03:33 i've tweaked that to make it clear what we have 19:03:51 :) 19:04:08 there we go 19:04:31 anyway, reminder to put ideas there so we can firm them up, choose and schedule them 19:04:51 #info Please put Infra team summit session ideas on the Etherpad 19:05:09 #topic Actions from last meeting 19:05:17 #link http://eavesdrop.openstack.org/meetings/infra/2016/infra.2016-03-15-19.03.html 19:05:25 1. 19:05:26 (none) 19:05:33 i'm terrible at pasting things today 19:05:43 we're rocking it again 19:05:45 #topic Specs approval 19:06:13 #link http://specs.openstack.org/openstack-infra/infra-specs/specs/publish-election-repo.html APPROVED: Add elections.openstack.org 19:06:13 o/ 19:06:47 fungi: what happened with the url modification of that spec? 19:06:48 #link https://review.openstack.org/278777 PROPOSED: Add Nodepool Zookeeper spec (jeblair) 19:07:01 jeblair: I think it was a follow up patch 19:07:03 jeblair: that was the final result with the url modification 19:07:17 i technically approved teh spec and teh addendum to the spec 19:07:35 ah. it's perhaps still somewhat misleading. 19:07:35 but there was no final artifact to link to for the interim state 19:07:54 oh, yes the title needs fixing it appears 19:08:11 also a bit in the 1st pgraph 19:08:18 but the porposed change reads as i would expect 19:08:26 if tonyb or jhesketh or tristanC or anyone else proposes that cleanup i'll happily approve as administrivia 19:08:33 So, reading the spec, zookeeper will be a hard dependency now for zuul? 19:08:45 pabelanger: nodepool 19:08:53 oh, right 19:08:57 ah, yes 19:09:11 the name of the file changed but the title of the spec didn't: https://review.openstack.org/#/c/292666/4/specs/publish-election-repo.rst 19:09:12 i believe greghaynes and i have bashed this into shape 19:09:29 i believe greghaynes and i have bashed the nodepool zookeeper spec into shape 19:09:32 I think there is zookeeper packaging issues on centos7, but think ianw was looking into that 19:09:35 so i think this is ready for voting 19:09:44 either way, not a blocker for us 19:09:48 I can update that later today 19:09:50 unless anyone else wants to dive in on specifics first 19:09:53 jhesketh: thanks 19:10:15 yes, it is not on centos, but i'm thinking we need it for tooz/distributed locking/devstack soon 19:10:38 also, fyi, i had hoped to have a follow-on spec for using zookeeper as part of the nodepool-zuulv3 interface, but we were short-staffed friday and that did not go as planned. hope to have it done soon. 19:10:59 ianw: ++ 19:11:30 ianw: I'll look into that soon too. Nodepool RPM is about ready for rawhide and hope to move into epel7 shortly after 19:11:47 (just for the minutes, i have started looking at this in -> https://etherpad.openstack.org/p/zookeeper-epel7) 19:12:56 * ianw waves hello to people googling "zookeeper" "centos" :) 19:13:10 * jeblair wishes them good luck 19:13:18 run a ubuntu container on centos7 19:13:21 problem solved _> 19:13:32 : - ) 19:13:44 just for one java app 19:14:27 yeah, it is worth noting this adds yet another java app into our toolchain 19:14:41 yep. 19:14:44 hopefully it just works and we get to treat it as mostly a black box 19:14:45 but its a very easy one to deploy 19:14:53 i'm told zookeeper is the best at what it does 19:14:55 clarkb: good to know 19:15:10 hopefully we don't need 8 of them 19:15:16 pabelanger: the recommendation is 5 19:15:18 pabelanger: we may want a few of them 19:15:22 for quorum purposes 19:15:31 indeed 19:15:33 3 works, 5 is better, you don't want more than 5 apparently 19:15:47 but we'll be able to share it for multiple services 19:16:02 prime numbers huh? 19:16:03 so if this goes well, and zuul starts using it too, we can manage one centrally 19:16:04 yup. installing and running on ubuntu is VERY easy 19:16:11 https://review.openstack.org/293176 19:16:21 i started on adding it to nodepool's test infrastructure ^ 19:16:34 that'll give you a minimal idea of what it takes to run 19:17:15 that's not terrible at all 19:17:55 nice, already has a python client lib 19:17:56 nah, and most of that is boilerplate that packages handle for the system installation (i had to copy some things in to run it inside the unit test runner) 19:18:07 yeah, it's _super_ easy to use 19:18:27 i wrote a quick test script to validate the ideas i wrote in the spec. it's as easy to use as you would hope. 19:18:41 get() put() lock() etc 19:18:49 and it's a library used in openstack 19:19:06 so it's getting some hammering from that direction too 19:19:25 * jeblair wonders whether we will hammer it more :) 19:19:25 on the servers section, the implication is that we'd run a zookeeper service on the nodepool server, or would it be on separate servers? 19:19:54 given nodepool's reliability requirements not sure we would need to do anything complicated to start 19:20:00 fungi: i was thinking we'd just start with a local zookeeper on nodepool.o.o 19:20:01 fungi: if you want to play with one 'easily' on an ubuntu node, just apt-get install zookeeper, then run '/usr/share/zookeeper/bin/zkServer.sh start' 19:20:06 jeblair: +1 19:20:08 ++ 19:20:17 mordred: there's an init script too, in the zookeeper-init package or something 19:20:20 fungi: and /usr/share/zookeeper/bin/zkCli.sh will then connect to that in a repl 19:20:25 jeblair: oh - really? neat 19:20:25 yeah, that seems like a convenient way to bootstrap our use of it 19:20:45 \o_ 19:20:50 zookeeperd 19:20:53 for the record 19:20:57 is where the init scripts are 19:20:58 fungi: about election.o.o, its likely stalled from election officials since we are quite busy with the on-going elections process 19:21:09 mordred: ah, thanks 19:21:11 btw - I like having init scripts in one package and software in another 19:21:23 tristanC: yeah, no need to worry about that for now. the spec can take as long as it takes to get implemented 19:21:49 mordred: it's a pattern i could get used to 19:22:01 mordred: agreed, makes it more reusable when you don't want to run it as a service but still want the software installed 19:22:30 or just don't start be default 19:22:46 clarkb: hush, you're speaking in redhatese now 19:23:15 (granted, it's one of the only things rh does differently from debian which i actually agree with) 19:23:49 okay, any more questions on "Add Nodepool Zookeeper" or should we put it up for final council voting this week? 19:24:27 I'm good for voting 19:24:40 #info Council voting is open on the "Add Nodepool Zookeeper" spec until 19:00 UTC, Thursday, March 24 19:24:48 yay! thanks! 19:25:01 #link https://review.openstack.org/287373 PROPOSED: Deploy-Stackviz spec (austin81, timothyb89) 19:25:26 you have similarly numbered nicks 19:25:38 huh, so we do :) 19:26:04 it made me double-check to be sure i didn't havea copy-paste error there ;) 19:26:17 Anyone had a chance to review the spec over the last weeks? 19:26:39 it looks like AJaeger and pabelanger were the only ones with input so far 19:27:20 And I'm still not sure what's the best way to set this up is - at image build time or via puppet 19:27:39 you've today added details on puppeting as an alternative 19:28:04 its puppet that would run at image build time though right? 19:28:18 right, it happens during image build regardless 19:28:49 Ah, didn't get that one before. 19:28:52 if it happens at build time regardless, what is the benefit of doing puppet over a dib element? 19:29:18 thanks for asking austin81 ! I just wondered the same... 19:29:45 clarkb: yup 19:30:10 austin81: for the log server ... 19:30:17 is there a single stackviz on the log server? 19:30:32 or does the static site from each run get copied to the run dir on the logs server? 19:30:39 mordred: unless we change server configs, there is one per run dir 19:30:43 cool 19:30:46 similar things we install into our images at build time are zuul, swift-log-publisher and bindep 19:30:59 then I do not see any need to puppet vs. dib personally 19:31:17 bindep is done in a dib element 19:31:26 checking to see whether the other two are 19:32:05 yeah, nodepool-base/install.d/ has 99-install-zuul and 90-venv-swift-logs 19:32:17 fungi: the subunit2sql init tasks are also similar to what we want, in a dib element 19:32:28 so consistency would be to do it the way it's written in the specv 19:32:31 er, spec 19:32:39 i think we want to minimize and eventually stop using puppet for nodepool nodes 19:32:41 timothyb89: does npm have a thing like the virtualenv? 19:32:56 mordred: it largely functions that way by default 19:33:00 the other concern is making sure that we don't pollute the images with a ton of stuff that's globally installed 19:33:02 awesome 19:33:11 then that should be fine 19:33:14 So if the consensus is dib on this... https://review.openstack.org/279317/ https://review.openstack.org/212207/ are the next things that need approval. 19:33:14 mordred: 'npm install' will only touch our own directory 19:33:20 cool 19:33:39 yeah, i don't see any blockers for putting this up for a council vote. anyone object? 19:34:09 I do not object 19:34:53 #info Council voting is open on the "Stackviz Deployment" spec until 19:00 UTC, Thursday, March 24 19:35:03 (that appears to be its actual name in the rst) 19:35:29 o/ 19:35:40 #topic Priority Efforts 19:35:54 i don't see any last-minute additions for this 19:36:01 zaro: added something 19:36:09 #topic Gerrit tuning - git gc (zaro) 19:36:17 oh sorry, yeah that 19:36:18 that's not a priority effort afaik 19:36:27 but adding to the agenda topics 19:36:33 sorry got listed there 19:36:41 #link http://lists.openstack.org/pipermail/openstack-infra/2016-January/003640.html Gerrit tuning - git gc 19:37:07 zaro: you had updates on this? 19:37:12 ohh yeah 19:37:32 just added it to let you guys know that i would like ot share info i've gathered. 19:37:44 please share ;) 19:37:47 it can be now or outside of this meetig 19:37:55 I'm listening 19:38:33 so the link outlines the concern that jeblair had with scheduleing git gc. 19:38:48 here's somet of the things i've found: http://paste.openstack.org/show/491498/ 19:39:17 line 241 shows jgit gc command run, which give the same result as git gc. 19:40:30 line 119 shows files before and after git gc. which seems to reduce file sizes and puts all objects in a single file. i believe the single file is the thing that jeblair had issue with. 19:41:12 the concern is that may make fetch operations slower 19:41:22 iirc 19:41:22 from reading git info i think updating refs (if needed) is still possible using `git-ref-update` or `git-symbolic-ref` 19:41:53 right, the thing i see missing from this research so far is the performance impact on common git remote operations (particularly on packed repos with many refs) 19:41:56 clarkb: yeah, that's the other thing. but i don't see how smaller files would make it slower? 19:42:19 zaro: because it is all in one file that must be operated on for every operation 19:42:32 zaro: it's a question of fewer files making it slower because git may have to seek within the packfile rather than relying on lookups at teh filesystem level 19:42:57 that ^ but you are right the size diff is large so may do the opposite 19:43:20 yep. which is why we were hoping someone would test this 19:43:46 time git fetch ? after git gc ? 19:44:04 so anyway, at least the indication so far is that relying on gerrit's background jgit gc task might be no worse than our cgit gc cron job 19:44:07 eil397: git clone, fetch a specific branch, and so on 19:44:23 if i'm understanding your assertion, zaro 19:44:39 fungi: yeah, that would be my conclusion 19:44:50 we don't run git gc 19:45:04 let me go and test the fetch time on it and see how that works out 19:45:29 oh, we run repack 19:45:34 eil397: zaro and use file:// git:// and http 19:45:47 IIRC the git .pack files have an index and the file is mmap() ed in memory, so it is rather faster than stat() on a myriad of files 19:45:57 find /home/gerrit2/review_site/git/ -type d -name "*.git" -print -exec git --git-dir="{}" repack -afd \; 19:46:04 from puppet-gerrit 19:46:05 Wikimedia runs the git gc on all Gerrit repo once per week or so 19:46:22 hashar: thats another possible concern, now we have to have 500mb of memroy for every nova git op 19:46:48 its already not cheap so not a huge deal 19:47:59 clarkb: i'm not following? what's the concern? 19:48:52 jeblair: if the entire file has to be mapped into memory to fetch a single ref that means the git servers all of a sudden need more memory 19:49:13 clarkb: ah, i don't think a memmapped file takes up that amount of memory; the opposite in fact 19:49:19 but nova and neutron have always been hard on memory so not sure f there will be an appreciable difference 19:49:26 there are ways to optimize that with separate addressing/indexing, but i have no idea if cgit does that 19:49:26 clarkb: it usually means you only need to load the pages you access into memory 19:49:27 clarkb: na the pack file has an index. So you map the index, then lookup the part of files that contains what you need an map that solely that part 19:49:46 sounds like it does 19:50:03 ya looks like 660mb ish for a current git process 19:50:04 all based on X years memory really. Would have to dig again in git pack source code 19:50:05 resident 19:51:15 okay, anything else on this topic? we wanted to see a comparison to the actual git repack we're doing in cron now, yes? 19:51:19 I've heard about way to accelarate clone by using git bundle. not sure. will it be good for infra. just fyi 19:51:25 and also tests on impact to remote git operations? 19:51:29 hashar: ah ok, not sure why git needs so much memory today then 19:51:35 https://www.kernel.org/cloning-linux-from-a-bundle.html 19:51:37 hashar: possibly this will be cheaper than current situation 19:52:24 fungi: got it. will will 19:52:25 we're at 8 minutes, still 2 topics on the agenda, at least one of which may need to get pushed out to next week 19:53:00 #topic IRC Bots (anteaya) 19:53:06 thanks 19:53:09 #link http://lists.openstack.org/pipermail/openstack-dev/2016-March/089509.html 19:53:14 I'm here 19:53:21 so this email thread is indicative of a trend 19:53:27 cdent: thanks for being here 19:53:34 cdent wrote an irc bot 19:53:40 there are also other irc bots 19:53:51 as well, I think I may have narrowed the topic too much 19:54:03 as tehre are also gerrit bots folks are running 19:54:17 notmyname has the patchbot that is used in some repos 19:54:22 so I thought we might be able to disuss some of the thoughts folks have 19:54:29 AJaeger: yes that is one of the other irc bots 19:54:51 as a for instance, for gerrit bots, I don't feel a bot having +2 and +A on a repo is a good idea 19:55:15 also for meeting channels jeblair had asked that folks add bots out our infra config files if they want bots 19:55:26 so sorry to already not follow my own topic 19:55:32 does anyone else have thoughts? 19:55:41 we don't have a lot of control over whether people run irc bots in the channels we manage, though we do generally frown on unsanctioned bots echoing in channels shared by multiple teams 19:55:58 I think the main concern with other bots is that when people start depending on them 19:56:05 they then come and ask infra for help when they break 19:56:08 or in channels used by teams who don't want those bots echoing in the channels they inhabit 19:56:09 I personally set up a smartfilter for anything I don't want to see and move on ... 19:56:12 mordred: yeah 19:56:15 tons of people depended on a bot that soren ran for a while 19:56:20 then soren stopped caring 19:56:22 scale bot maintenance beyond infra team? 19:56:46 hashar: well, we have subteams in infra for the purposes of scaling tasks and stuff 19:56:56 so there is no reason there could not be a bot subteam 19:57:12 it's mostly 1. noise factor, and 2. assuming maintenance for services on which a large portion of the community depends 19:57:17 yah 19:57:32 it's also possible that we need to do better advertisement of the features of the bots we already run 19:57:36 can (2) be solved by listing bot owners in its whois data? 19:58:23 angdraug: using the launchpad bot as an example, we all knew who ran it, but when they lost interest it was still difficult to contac them and get changes made 19:58:40 yeah, results in a brittle env 19:58:47 ttx: nods 19:58:52 In the specific case of purplerbot, I'm happy to see it run on infra 19:58:58 I've packaged it and put it on pypi 19:58:59 for instance: http://eavesdrop.openstack.org/irclogs/%23openstack-nova/latest.log.html#t2016-03-22T19:44:30 is the per-line url link from the channel logs produced by the bot we run, and http://p.anticdent.org/logs/openstack-nova?dated=2016-03-22%2019:44:30#l8A is the link to the same thing from cdent's bot 19:59:08 dead irc server, irony of ironies :) 19:59:10 you end up depending on something, and since you don't want overlapping functions, that featureset never ends up in the canonical bot 19:59:11 anteaya: so we're at 1 minute remaining. did you have a specific action or decision you were looking to come out of this? 19:59:20 mordred: the log in purplerbot is ancillary to its real purpose 19:59:35 fungi: I just wanted to see if folks wanted to discuss 19:59:40 looks like they do 19:59:41 also, i have looked into errbot, but the way forward is not completely clear; happy to follow up with others if they are interested 19:59:45 we can continue later, thank you 19:59:49 Wikimedia is a wide range of irc bots; Most are hosted on a shared tenant for people to act on them as needed and most are documented on a wiki with basic restart/maintenance procedure. With bot code in Gerrit/Github 19:59:56 had a problem last week, someone launched a broken bot on #fuel-dev, had to ban it... 20:00:00 igorbelikov: looks like we'll hit your topic at the beginning of our general topics section next week. sorry we ran out of time for the full agenda 20:00:12 okay, we're out of time everyone 20:00:15 thanks! 20:00:16 so if JohnDoe bot dies, I can head to the wiki page, copy paste the command to restart it and hopefully it is back ;-} Even if I have no root on the infra 20:00:18 thankyou 20:00:20 #endmeeting