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