Wikimedia Release Engineering Team/Quarterly review, April 2014/Notes

From mediawiki.org

The following are notes from the Quarterly Review meeting with the Wikimedia Foundation's Release and QA team, April 30, 2014, 11:00 am-12:30pm PDT

Present: Greg Grossmeier, Tilman Bayer (taking minutes), Chris Steipp, Dan Garry, James Forrester, Rob Lanphier, Quim Gil, Erik Möller, Terry Chay

Participating remotely: Bryan Davis, Mark Bergsma, Chris McMahon, Tomasz Finc, Željko Filipin, Arthur Richards, Antoine Musso

Please keep in mind that these minutes are mostly a rough transcript of what was said at the meeting, rather than a source of authoritative information. Consider referring to the presentation slides, blog posts, press releases and other official material

Presentation slides from the meeting

Agenda

Greg:
welcome

last quarter: What we said[edit]

still processing pain points from session we had
refactored Scap, now in Python
matrix of deployment requirements per tool - useful to see differences between tools
e.g. can see that "single tool to rule them all" won't happen

Beta Cluster:
last q, planned migration to eqiad - was a much bigger task than anticipated
set up db slaves in beta
and use beta to test Scap
Scap is now the only thing that deploys code on beta cluster
Erik: Awesome ;) how is it deployed, in batches, or every time?
Bryan: job every 10min will update core + all extensions, takes about 1min to check out from git
then triggers a 2nd Jenkins job that runs Scap
Currently every Puppet run updates Scap to latest master
In the future we will migrate deploying Scap itself to deploy with Trebuchet so we can cherry-pick things from Gerrit
Chris M: on browser testing:
wanted to be able to use API for test runs
made that happen (Firefox), create article, create user
Bug 62509 - investigate updating test2 Jenkins builds weekly to pull by branch
Work with Mobile took priority
Erik: so we will eliminate all dependencies on Cloudbees?
Chris: yes, working on that currently
had a lot of false failures simply because of Internet connection problems, don't own either endpoint, so can't debug this
will also get 5x increase in speed
and many diagnostic tools we don't want to build ourselves, screencasts (e.g. currently trying to debug VE stuff without actually seeing what happens on the screen)
Erik: yes, matches what I heard from VE team
Chris M: don't want to decommission Cloudbees completely yet though
Greg: last q planned 2 hires, Release Engineer and Automation Engineer, getting close
shows diff from Goals page ;) (slide) - things changed a lot in 6 months

next quarter[edit]

deployment tooling:
big one: integrate HHVM - lot of work for Bryan
stretch goal: integrate Scap and Trebuchet

Beta cluster:
completed transition to Scap
HHVM support
stretch goal: Swift cluster (media storage, thumbnails) into beta cluster. Depends on new hire or support from Ops
Mark: Ops may be able to work on this. We are also looking at including Swift in Labs, could reuse that
Erik: Thought about previsioning mechanism for virtual machines, eg. for Vagrant testing
Greg: Vagrant support in general is on
Erik: also to test multiple branches. Beta labs can't be the only part of testing infrastructure. new engineer could work on that?
RobLa: yes
Chris: yes, within expertise of new hires

(Greg:)
MediaWiki release (mostly my own work)
support release of MW 1.23 with Markus and Mark
begin second RFP around mid May

Chris St: do we have browser tests for MW 1.23, since it's kind of LTS?
Chris M: not really
James: VE hopefully will keep working with 1.23, other extensions maybe too

QA
ACTION: create a plan for browser testing of MediaWiki 1.23

  • use tags for builds corresponding to release versions
  • retire Cloudbees
  • integrate WMF Jenkins with new Saucelabs account (5x faster)
  • Use API - extensively used for MobileFrontend, but also e.g. VE, Flow.
  • Work with Matt on browser tests. had some browser tests for GS, but they became less useful. Growth team has fast iterations, longer term tests less useful. New era now where we can target any dev environment

New hires (cf. above)

Dependencies
Ops: Swift (should be fine per Mark's remarks), Icinga - have instance, but still needs to be set up for Beta labs
Mark: Actually, Ops is moving away from Icinga (new tool: Shinken). I will look into that on our side.
Greg: and I'll talk to Antoine
ACTION: Greg get firm requirements from Antoine, circle back to Mark who'll have an idea of Ops' timelime for production Shinken.

Questions/discussion[edit]

James: right now, HipHop uses the vast majority of testing time/resources... and still fails
could that be done after the build, for now? ("by the way, this didn't pass HipHop")
Greg: ok, action item. Some repositories may still need this
ACTION: figure out how to keep HHVM unit tests from delaying +2 for standard production commits
Erik: VE team figured out how to run browser tests locally some weeks ago. Wondering about this kind of knowledge gap in other teams. Chris, are there other teams you want me to talk to about this?
Chris M: worked out some things with Mobile (Jon), two week deep dive. With VE, I learned things that enabled me to run things more efficiently, find bugs. So these 1:1 conversations are very helpful. Talked with Flow. Not yet with Growth team beyond some basic conversations with Matt.
Erik: Growth might not need this level of browser testing for their short-term experiments - but for their stuff that goes into production, yes
What about Language Engineering?
ChrisM: Zeljko?
Zeljko: talked to various members of the team about testing, productive conversation
Erik: working on browser tests for content translation?
Zeljko: yes
Erik: I'm most worried about that one, lot of complexity (uses VE + some). I'll look into other opportunities for collaboration
Quim: about syncing between your deployment newsletter and Tech News, working out?
Greg: yes, frequently PMing with Odder
Wondering about coverage in the Signpost - Tech News not that well read everywhere
involve DCE (director of community engagement)
Any feedback from VE and Mobile?
James: really happy about move from Cloudbees. loss of Jeff was sad of course, but:
CI worked well for us, Antoine was super helpful. We are happy with the level of support
Regarding Beta Features, not the same level of testing there
Greg: add objective: move conversation forward on ...[fill this out]
Erik: Arthur, do you want ot comment on team practices, org wide?
Arthur: mobile web team pushed forward on testing, I paired with ChrisM, got a lot of pain points resolved during 2 weeks
might be a challenge on a wider scale because different teams have different testing priorities
QA did a good job changing culture with e.g. browser tests, but more to be done re e.g. unit testing
some standards and best practices might be needed, but don't have anything concrete right now
Erik: not a fan of global strict enforcement of standards, but should raise awareness among code reviewers
would welcome your ideas about e.g. cross team embedding
Arthur: getting a good sense of what works from current collaboration with e.g. Flow
code review is more the enforcement aspect, but need culture change before that

Greg: Other feedback?
ChrisM: want to highlight Zeljko's work, he's also the contact point for Wikidata
Tomasz: support for apps?
ChrisM: no plan right now, should be possible with Saucelabs though
Erik, Greg: thanks everyone