[08:33:53] Is anyone online who might be able to check a toolsadmin membership request? At a hackathon and would super appreciate getting access for someone before the end of the day! [08:34:45] I can probably do it... [08:34:46] I think [08:34:49] And he left [08:35:38] Think that was my old connection, wifi is a bit spotty. One sec :) [08:37:28] names are hard :P [08:38:56] :D The request should be in; seanwiseman7 [08:39:44] Actually I'm not seeing it in membership requests, have I forgotten how toolforge works? [08:40:27] Oh he didn't request membership yet [08:40:37] Ok now it's submitted :D [08:41:19] I'm trying to remember where these are [08:43:20] Samwalton: I've approved it.. [08:44:31] Samwalton: looks like it should be done [08:44:51] Thank you! [09:24:24] hey, I'm around in case you need me :-P [09:33:39] arturo, (or anyone else with an answer), we'd like to use Docker on Toolforge, but appear to be missing docker-compose. Is there any documentation on how we can use docker? [09:35:04] samwalton: you would like to bring your own containers? [09:35:33] if that's the case, we don't support that... yet :-P [09:36:05] We've got the docker-compose file to create the container [09:36:40] samwalton: some docs: https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Admin/Kubernetes#Docker_Images [09:41:29] Thanks! [13:59:54] !log tools depooling a bunch of things before rebooting labvirt1001 for T194258: tools-exec-1401 tools-exec-1407 tools-exec-1408 tools-exec-1430 tools-exec-1431 tools-exec-1432 tools-exec-1435 tools-exec-1438 tools-exec-1439 tools-exec-1441 tools-webgrid-lighttpd-1402 tools-webgrid-lighttpd-1407 [13:59:56] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/SAL [14:09:39] andrewbogott: godspeed, I have an apt at 10 fyi [14:34:09] !log tools repooling labvirt1001 tools instances [14:34:11] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/SAL [14:37:11] !log wikilabels staged wikilabels-wmflabs-deploy:d382f3f [14:37:12] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Wikilabels/SAL [14:38:50] !log wikilabels staged wikilabels-wmflabs-deploy:39da6a1 [14:38:50] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Wikilabels/SAL [14:40:26] !log wikilabels deployed wikilabels-wmflabs-deploy:39da6a1 [14:40:27] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Wikilabels/SAL [16:25:08] !log services deleting instances pdfservice, swproxy, zotero-test citoif-test citoid-jessie-test and sca1 as per T194276 [16:25:10] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Services/SAL [16:25:10] T194276: Review all VMs in the 'services' WMCS project - https://phabricator.wikimedia.org/T194276 [19:42:34] What's the distinction between 'profile' and 'role' in the puppet repo? modules/profile/files/labs/db/views/maintain-meta_p.py vs modules/role/files/labs/db/maintain-dbusers.py feels a bit inconsistent [19:43:09] valhallasw`cloud: its a transition thing. Let me find the perfect world explanation on wikitech [19:43:16] :D [19:43:35] https://wikitech.wikimedia.org/wiki/Puppet_coding#Organization [19:44:40] in the perfect world version: profiles configure a useful service, and roles aggregate profiles such that each physical/virtual machine has a single role applied to it (e.g. MediaWiki content server) [19:45:46] But we used to apply 1-N roles to a server and a large number or roles have not be refactored into profiles yet [19:46:41] *nod* [19:46:54] valhallasw`cloud: for that specific example, half migrated based on recent updates I think [19:47:39] also we just like to make it hard to find and update code for fun [19:47:44] ;-) [19:47:46] its like a hide and seek game [19:48:20] Ok, so role::labs::db::replica should include 1...N profile::labs::db profiles, among which profile::labs::db::views which sets up the replica views [19:48:38] that sounds right, yes [19:48:58] modulo "labs" which I think we are going to start changing to "wmcs" [19:49:24] because change! [19:50:12] nothing that a little bit of shift-shift or ctrl-shifrt-F doesn't solve [19:50:18] so someday we should have role::wmcs::db::replica and that would include all the profiles or just plain modules that make a Wiki Replica server do its job [19:51:22] Right, that makes sense [19:52:10] Other question -- I'm planning to write a few tests for maintain-meta_p.py, but there isn't really a clear place to put those. I suppose the scripts really shouldn't live in ops/puppet to begin with, but moving things out also would cause a bunch of headaches [19:52:46] my current idea is to just add tests + test support files in a subdirectory, so that they can be run manually (although maybe not automatically) [19:53:05] it's also a bit of a mess with python2/python3 scripts mixed :/ [19:53:25] hmm... bstorm_ was making some script python testable, but I don't know if she found a good place to put the tests [19:53:55] I gave up on that one because of how it is stored in puppet [19:54:05] "soon" it should be easier to kill off the py2 stuff. I think that the debian repo has py3 openstack client packages [19:54:40] in this case it only does some db stuff, so it should be OK to migrate it [19:54:51] valhallasw`cloud: in theory you could make pydoc tests and then do some magic check to run them I guess [19:54:51] but it also has no tests, which makes me not want to touch it without first writing tests :-p [19:55:05] mmm, interesting idea [19:55:24] like sniff for --test in __main__ [19:55:49] yeah, or just make py.test figure it out [19:56:46] It would be nice to move most of our scripts out of the puppet repo, but I call not it on being the one to invent a bunch of new debs to deploy them [19:57:03] I haven't messed with that one much, but the first thing I tried to do was encapsulate what is in the other two scripts for the views in at least functions so that they could theoretically be tested in the future. That's also why the index script uses underscores (any python test will typically complain with dashes in names). [19:57:12] debs or eggs? [19:57:46] the 3 blessed ways to deploy things are: puppet, debs, and scap3 repos [19:57:52] ahh [19:58:45] puppet is easy, but messy and in need of root +2. Debs are .. well, debs and not fun in my personal opinion. scap3 is pretty well suited for deploying a web app, but a little goofy for anything else [19:59:32] how's the infra for building debs these days? I remember I messed around with pbuilder and friends back in the day, but that was before we had the magic of docker [19:59:59] we have a cowbuilder server in the tools project that is not too horrible to use [20:00:11] (I assume the whole versioning is still a bit of a pain, with a million files to edit) [20:00:25] we really could use a small script to make publishing the debs to the apt repo easier [20:00:52] or a trusted jenkins server where we could just push a button :) [20:01:24] hmm... I wonder if our friends in releng have that trusted jenkins box these days... [20:01:32] you can let puppet deploy with git::clone from a repo where the repo doesn't need +2 from root [20:01:39] as method 3a [20:01:55] so then you just need that merged once but not for every script change in the future [20:02:30] that's something we do for content of static HTML sites [20:02:58] scap3 is nicer than the puppet git clone I think. Only a bit more setup and lot more flexibility [20:03:08] but of course opinions vary [20:04:31] I have a situation right now where I'm building something as a tool, but part of it will eventually need to be deployed outside of the toolforge space. I'm considering copying the needed files into Puppet but that also makes me feel dirty [20:05:25] also, thanks for being nerd sniped into looking at that script valhallasw`cloud :) [20:05:33] *grin* [20:05:41] Its been on my list of things for *way* too long [21:38:26] bd808: https://gerrit.wikimedia.org/r/#/c/432698/ . That doesn't do anything yet, except for stop me from breaking anything :-p [21:39:44] Anyway, enough coding for today, I'm off to bed. G'nite all! [21:41:13] 21:38:27 modules/profile/files/labs/db/views/test/test-maintain-meta_p.py:45:101: E501 line too long (530 > 100 characters) [21:41:38] ok, maybe I can find a better way to store the expected queries than a big text block in a python file :-p