14:02:52 #startmeeting Cockpit 14:02:52 Meeting started Mon Nov 23 14:02:52 2015 UTC. The chair is mvollmer. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:02:52 Useful Commands: #action #agreed #halp #info #idea #link #topic. 14:02:52 The meeting name has been set to 'cockpit' 14:02:53 :) 14:03:00 .hello dperpeet 14:03:01 dperpeet: dperpeet 'None' 14:03:04 .hello mvo 14:03:08 mvollmer: mvo 'Marius Vollmer' 14:03:11 .hello andreasn 14:03:12 andreasn: andreasn 'Andreas Nilsson' 14:03:18 .hello stefw 14:03:19 stefw: stefw 'Stef Walter' 14:03:36 #topic Agenda 14:03:49 * avocado / selenium testing 14:04:03 * Debian 14:05:50 Ready? 14:05:57 * sos-report maybe 14:06:10 but yeah, ready 14:06:12 yes 14:06:19 #topic avocado / selenium testing 14:06:26 jscotka has done some work to get browser testing via selenium into Cockpit https://github.com/cockpit-project/cockpit/pull/3190 14:06:50 we can also use this opportunity to merge the avocado tree https://github.com/cockpit-project/cockpit/tree/master/test-avocado into test 14:07:05 now, avocado tests are designed a bit differently 14:07:15 since they ultimately should run on bare-metal also, they need cleanup 14:07:32 Selenium as in http://docs.seleniumhq.org/ ? 14:07:35 that means, they could all run as one big test in the old style 14:07:45 andreasn, yes, correct 14:07:51 I've added possibility to use selenium server and instruction how to use docker in selenium 14:08:06 but - if we run all the avocado tests in one go, we get that as one single entry result in our test logs 14:08:16 all tests passed - or they failed, no count 14:08:38 if we want to stick to our clean-slate premise, we can autogenerate tests 14:08:41 http://stackoverflow.com/questions/32899/how-to-generate-dynamic-parametrized-unit-tests-in-python/32939#32939 14:08:51 to get all the avocado tests in their own instance 14:08:55 the question is, is this necessary? 14:09:01 or should we hack/parse the result somehow 14:09:11 and just run it in a single vm instance 14:09:26 so, avocado run test_a test_b test_c 14:09:42 or separate vms with "avocado run test_a", "avocado run test_b" et cetera 14:10:03 I think the cleanest solution is to start a vm for each test, as we do for the others 14:10:21 and in the bare metal case, call them all together 14:10:29 with a different starting mechanism 14:10:50 what do you think? 14:11:06 whatever is easier, I'd say. 14:11:12 dperpeet, we could run them as one go for now 14:11:18 yeah 14:11:19 perfect. I vote for that. 14:11:19 but once avocado has TAP output, it would be easy to integrate it 14:11:44 the advantage of that is less borderline black magic code (generating tests via source) 14:11:51 and less divergence between bare metal and vms 14:12:04 stefw, I hope so, maybe I can simulate now it via xunit XSLT trasformation to TAP 14:12:24 I have another note on this 14:12:41 to reduce testing deps on the host and version issues, I run avocado locally inside the test vm 14:12:51 and copy the test files across for that 14:12:59 that way, avocado doesn't have to be on the host 14:13:22 any objections to that? 14:13:36 it is clean solution in case you would like to avoid changing hosts and check versions of avocado 14:13:55 yes, avocado is version sensitive (host vs guest) 14:14:15 we won't be able to run any tests that way that tinker with connection speed 14:14:24 i think that's fine 14:14:26 but I don't think that's a priority right now 14:14:34 the goal for jscotka is to run avocado on the machine 14:14:35 and avocado tests aren't meant to replace the old ones anymore, I guess 14:14:41 correct 14:14:47 the goal is to have separate tests that do not require a virtual machine 14:14:52 and test certain aspects of cockpit 14:14:57 but run them in a vm for us anyway 14:15:02 yes, we run them in a vm 14:15:09 but the tests themselves don't require a virtual machine 14:15:17 yes, then we're on the same page 14:15:21 testing on certain architecturs requires this 14:15:45 architectures where virtualization is either extremely slow, or non-existant 14:15:56 but it's nice we can run the same tests 14:15:59 in an x86_64 vm 14:16:04 and make sure they don't regress, etc 14:16:08 also helps to keep them updated 14:16:21 ok, that's it on this topic from me 14:17:11 next? 14:17:31 #topic Debian 14:17:46 I am reworing how we build packages a bit 14:17:55 with an eye towards debian 14:18:16 #info https://github.com/cockpit-project/cockpit/pull/3197 14:18:27 #info https://github.com/cockpit-project/cockpit/pull/3202 14:18:51 With the first PR, we just copy a tarball into the VM, and then make a srpm out of it inside the VM 14:19:10 building and installing is done in a single vm instance 14:19:23 but needs to be done in separate ones for atomic, so that is broken right now 14:19:29 or, incomplete 14:19:33 why? 14:19:51 for atomic we build on a different os than we install into, no? 14:19:56 ah right, makes sense 14:19:59 so, we need two VMs 14:20:11 mvollmer, can we install without rebuilding with the changes you made? 14:20:12 i thought you meant srpm runs in a different vm from building the packages 14:20:14 nothing dramatic, but it needs extra code and extra testing 14:20:47 dperpeet, there will be options, but not right now 14:21:05 I am thinking --build-only, --install-only, or something like that 14:21:19 but right now, you need to rebuild 14:21:40 ok 14:21:42 dperpeet, is that important for you? 14:21:46 that is important when working on tests 14:21:52 okay 14:21:56 the code that's being tested remains constant 14:21:59 I'll make sure we get that feature 14:22:10 thanks! 14:22:20 the seconds spent on building add up after a while :) 14:22:32 i usually only re-run testsuite-prepare when the code has changed 14:22:52 the tests themselves don't make any changes to the images, so they stay clean. 14:23:27 anyway, on to Debian 14:23:37 the basics are in place 14:23:40 image creation 14:23:45 building with pbuilder 14:24:01 the Debian people are given great hints on github 14:24:10 "are giving" 14:24:12 sorry 14:24:23 one thing came up 14:24:57 should we use "make dist" instead of "git archive" to create the source tarball? 14:25:04 the latter is much faster 14:25:06 and that's why we use it 14:25:12 for work in progress stuff 14:25:16 yeah 14:25:21 'make dist' and 'make distcheck' are used to produce official tarballs 14:25:24 which we actually build releases from 14:25:30 the test packages don't need that 14:25:58 i have to talk more with mbiebl, but right now it sounds as if they expect us to test exactly what they'll ship. 14:26:13 like, the binaries that fall out of our CI will be uploaded into Debian. 14:26:14 that sounds great, fedora isn't set up for that 14:26:20 so it would be a step forward 14:26:27 but lets not get ahead of ourselves :) 14:26:30 but then we need to use "make dist", no? 14:26:32 but yes, doing promotion right would be awesome 14:26:38 mvollmer, we probably would need to do a full make distcheck 14:26:40 get versions right 14:26:41 etc... 14:26:44 yep 14:26:53 but maybe I read to much into the comments 14:26:55 so it would be an alternate mode of running tihs 14:26:58 can we tie that to "thorough"? 14:27:10 distros usually have requirements on *where* stuff is built= 14:27:11 https://github.com/cockpit-project/cockpit/pull/3202#issuecomment-158940304 14:27:37 he seems to apply the criteria for official Debian builds to our CI builds. 14:27:40 mvollmer, the actual debian file needs to have two modes 14:27:42 like the spec file 14:27:48 one where we build from git 14:27:52 and the other where we build from a tarball 14:27:57 er, debian files 14:28:04 look at the spec file 14:28:08 yep 14:28:24 I have a follow-up topic here 14:28:37 but we can sort that out as we make progress 14:28:54 in any case, cooperation is happening and is very close 14:29:25 they are fixing the failing unit tests 14:29:43 open issue for me: how to install build deps 14:29:50 it's a pain on debian 14:29:53 always was 14:30:18 pbuilder can do it, maybe it can expose it somehow 14:30:22 create a developer package with the package dependencies? 14:30:42 yes, mk-build-deps 14:31:28 * mvollmer remembers when he had a tool that made a local apt repo for the source package so that one can use apt-get builddeps 14:31:44 maybe I can find that code... 14:32:07 so, good progress all around 14:32:22 nice work! 14:32:57 thanks! 14:33:09 dperpeet, follow up topic now? 14:33:24 yes, building twice in a row discussion 14:33:55 #topic Building twice in a row 14:34:01 since we're working on the building process right now, it might be a good time to discuss what to do regarding https://github.com/cockpit-project/cockpit/issues/3165 - question posed by stefw 14:35:01 i was thinking about that a bit more, and perhaps we should have files that we conditionally clean, based on the presence of a .git directory 14:35:34 But to summarize the basic issue is that we distribute generated sources (along with the originals) in the tarball 14:35:45 so currently when doing a tarball build, 'make clean' removes those generated sources 14:35:59 and then the build all of a sudden requires a lot more dependencies to regenerate those sources 14:37:23 should we have a cleanall command for devs 14:37:44 yeah, a separate mode might work 14:37:47 and have clean be move conservative about what it removes 14:37:58 yes, that's another idea, although i'm not super happy about plumbing a whole new command through 14:38:04 or rather a whole new make target 14:38:16 there is also --enable-maintainer-mode that we could use to change the behavior of 'make clean' 14:38:36 that might work better 14:39:16 our targets and build dependencies are convoluted enough as it is 14:39:24 yup 14:39:48 I think piggy-backing on maintainer-mode would work 14:39:59 i think the standard is "make maintainer-clean" 14:40:15 to clean generated and distributed files 14:40:31 or dist-clean 14:40:32 but yeah 14:40:36 that's really annoying 14:40:39 since you have to autogen again 14:43:28 so the issue is that "make clean" cleans too much, right? 14:43:40 in certain cases yes 14:43:45 i think we can just make it clcean less in those cases 14:43:55 yes 14:44:27 how to clean those files is a less urgent issue, I'd say 14:44:37 the ones that "make clean" doesn't clean anymore 14:44:43 after we have fixed it 14:44:46 ok 14:46:32 next topic? 14:46:37 yep 14:46:45 #topic sosreport 14:47:01 it's waiting for the external channels 14:47:23 1 tests failed - http://files.cockpit-project.org/logs/master-8ceec5d9-fedora-23/log.html 14:47:26 I was thinking of start making mockups for the additional things that people were asking for 14:47:44 that could then go in as a kind of phase 2 work 14:47:53 at some point 14:47:57 what have people been asking for, just to make sure? :-) 14:48:06 plugins 14:48:37 that feels like it's the main one 14:48:51 but I might have forgotten something 14:48:55 okay 14:49:05 case number 14:49:29 and ticket number 14:49:36 right 14:49:41 and name? 14:50:00 yes 14:50:22 ok, I'll start sketching those out then 14:51:43 cool 14:51:51 I think that was it on that 14:51:56 the implementation for plugins might need a proper API in sosreport 14:52:06 ah, right 14:52:12 because now it's only flags? 14:52:50 yeah, scraping stdout for the plugins list might be hairy 14:53:02 ugh, yes 14:53:20 so, put those last and make them optional in the design 14:53:57 but how about the ticket number and stuff, is that the same? 14:54:05 or does that have an api? 14:54:18 no, those are easy, just additional command line arguments 14:54:23 ah, ok 14:54:32 the user will have to know them and type them in 14:55:07 plugins would be selected all by default I think, and then allow to uncheck under some expander (or something) I think 14:55:33 ohh sorry, wait a second 14:55:40 "profiles", not plugins 14:55:45 let's do profiles 14:56:01 almost the same thing, but there are less of them. 14:56:08 ah, I see 14:56:15 I'll have to read up a bit on that again 14:56:29 because I think I totally missed the concept of profiles last time I looked at it 14:56:48 but yeah, that sounds good 14:57:44 hmm, I think F23 might not have profiles... is that possible? 14:57:50 let's check off-line 14:58:06 yep 14:58:17 EOT I think 14:58:57 yep 14:59:11 (sosreport on my f2 is newer than on f23...) 14:59:23 odd 14:59:25 #topic Any other business 15:00:48 talk deadlines for Devconf is coming up fairly soon I think 15:00:57 like early next week 15:01:48 nothing else apart from that 15:02:50 can I help with the talks? 15:03:47 I think that makes sense once we know what's accepted 15:03:58 okay 15:04:06 yeah, the proposal doesn't have to be a full talk, right? 15:04:13 only a title and synopsis 15:04:49 yes, pretty much 15:06:20 alright! 15:06:25 thanks everyone! 15:06:28 thanks! 15:06:29 #endmeeting cockpit