14:04:58 <mvollmer> #startmeeting meeting 14:04:58 <zodbot> Meeting started Mon Mar 6 14:04:58 2017 UTC. The chair is mvollmer. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:04:58 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 14:04:58 <zodbot> The meeting name has been set to 'meeting' 14:05:03 <garrett> .hello garrett 14:05:04 <zodbot> garrett: garrett 'Garrett LeSage' <garrett@lesage.us> 14:05:06 <pitti> .hello martinpitt 14:05:06 <dperpeet> .hello dperpeet 14:05:07 <mvollmer> .hello mvo 14:05:07 <zodbot> pitti: martinpitt 'Martin Pitt' <martin@piware.de> 14:05:10 <zodbot> dperpeet: dperpeet 'None' <dperpeet@redhat.com> 14:05:13 <zodbot> mvollmer: mvo 'Marius Vollmer' <marius.vollmer@gmail.com> 14:05:21 <andreasn> .hello andreasn 14:05:22 <mvollmer> #topic Agenda 14:05:22 <zodbot> andreasn: andreasn 'Andreas Nilsson' <anilsson@redhat.com> 14:05:38 <pitti> how do I add topics ? hash-topic or dot-topic? 14:05:40 <dperpeet> * Outreachy 14:05:48 <pitti> * container/ws: backwards compatibility for moving ssh known_hosts 14:05:51 <pitti> * update container/ws during testsuite-prepare? 14:06:06 <mvollmer> error: inconsistent whitespace 14:06:14 * pitti collects $1000 for formatting skills 14:06:16 * mvollmer dumped core 14:06:36 <dperpeet> well, pitti obviously wants to propose those as future outreachy projects 14:06:42 <pitti> sorry, my fingers are not able to type an enumeration without spaces, they only speak markdown 14:07:58 <mvollmer> okay, let's start 14:08:04 <mvollmer> #topic Outreachy 14:08:44 <dperpeet> The Outreachy project phase is ending this week 14:09:11 <dperpeet> bhakti wants to tell us a bit about the results and current state of her work on firewall support in cockpit, I believe 14:09:51 <bhakti> Yep. Last week we did usability testing on the prototypes and had a lot of valuable feedback. 14:10:35 <bhakti> I have added all the results from the testing and a few screenshots of the UI on the firewall wiki page here: https://github.com/cockpit-project/cockpit/wiki/Feature:-Firewall 14:11:46 <bhakti> There are a few more changes that needs to be made in the UI implementation 14:12:33 <dperpeet> bhakti, thanks for that 14:12:38 <bhakti> But the usability testing has helped a lot to provide an insight into the changes that need to be included in the firewall. 14:13:04 <dperpeet> compared to the goals at the beginning, how would you say the project actually was? 14:14:20 <bhakti> the initial user stories that had been decided upon helped to keep a track on the key features in the project. 14:15:47 <dperpeet> would you say this is ready for a rough implementation? 14:16:01 <dperpeet> or does this need more design before trying it out? 14:16:16 <bhakti> A rough implementation,yes. 14:16:35 <dperpeet> that sounds good 14:16:57 <dperpeet> thanks! 14:17:14 <bhakti> The current design satisfies the user stories as we saw from the usability testing. 14:17:42 <bhakti> And the feedback has been included in the design too. 14:17:55 <dperpeet> for everyone who's interested in more details about the project progress, bhakti kept a blog at https://bhaktibhikne14.wordpress.com/ 14:18:41 * pitti queues for later reading, thanks 14:18:44 <bhakti> Thank You! :) 14:19:20 <dperpeet> end of topic from me, unless you have more to add bhakti 14:20:23 <bhakti> Yes! I would like to thank everyone in the community for helping and supporting me throughout the project! 14:20:41 <andreasn> thank you for all the work! 14:21:04 <bhakti> It's been a pleasure to work on Cockpit! :) 14:21:32 <dperpeet> thanks for working on this, bhakti, and now you're part of the community with the work you've done :) 14:21:44 <Son_Goku> hey folks 14:22:03 <Son_Goku> oops, you're in a meeting 14:22:08 <Son_Goku> I'll be back later 14:22:08 <mvollmer> Son_Goku, yeah 14:22:13 <dperpeet> Son_Goku, hi - you're welcome to add a topic 14:22:15 <dperpeet> if you have one 14:22:27 <Son_Goku> dperpeet: I just wanted to find out about new udisks release 14:22:32 <mvollmer> bhakti, thanks! 14:22:37 <Son_Goku> Mageia 6 is getting close to release, and I'd like to pull that in before we release 14:22:48 <bhakti> Thank You! 14:23:00 <bhakti> mvollmer: :) 14:23:16 <Son_Goku> though, bhakti, congrats on the firewall thing :) 14:23:27 <bhakti> Son_Goku: Thank you! :) 14:23:27 <mvollmer> Son_Goku, I add that to the agenda, right? 14:23:35 <Son_Goku> mvollmer: you can if you want 14:23:42 <Son_Goku> I think it's important :) 14:23:56 <mvollmer> okay, let's see 14:24:09 <mvollmer> no bigg difference whether it is on the agenda or off, I guess 14:24:25 <mvollmer> #topic container/ws: backwards compatibility for moving ssh known_hosts 14:24:34 <pitti> some context for that: 14:24:38 <pitti> we want to move /var/lib/cockpit/known_hosts to the "official" /etc/ssh/ssh_known_hosts 14:24:47 <pitti> i. e. machines.js will then write /etc/ssh/ssh_known_hosts only 14:24:58 <pitti> but on atomic, it might be that we have an older cockpit-ws container which still only looks at /var/ 14:25:04 <pitti> in principle, AFAIUI, there is no dashboard on Atomic, so there is no user-visible "multi-machines" feature there; or am I missing anything? 14:25:25 <pitti> two of our test cases fail on this issue (https://github.com/cockpit-project/cockpit/pull/6025) as they prod the "machines" URLs directly and thus sneak around the dashboard not being present 14:25:39 <pitti> so I was wondering: is this an user-visible backwards compat break and we need to somehow detect this in the web UI, or only a CI issue? 14:25:45 <dperpeet> pitti, the dashboard was removed on Atomic, yes 14:26:30 <pitti> (this underlines the importance of settling down the on-disk format before this becomes more widely deployed in long-term releases..) 14:26:39 <mvollmer> pitti, so the issue is that container/ws will never ever find the keys, right? 14:26:50 <mvollmer> it's not just that the user has to add them a second time 14:27:05 <pitti> right, as currently it only looks at /var/lib/cockpit/known_hosts 14:27:20 <pitti> so you'd need to update the container to fix this if you update the host 14:27:34 <pitti> *if* this is an user-visible feature (which I'm not sure about, see above) 14:27:40 <mvollmer> would it work currently? 14:27:57 <pitti> well no, as you don't have any UI to add remote machines on atomic 14:27:58 <mvollmer> or is container/ws looking at the 'wrong' /var, maybe? inside the container? 14:28:16 <pitti> mvollmer: no, /var is bind-mounted to the host, /etc/ssh is not -- that's the very change I need to land 14:28:17 <mvollmer> if we would add the UI, would it work now? 14:28:19 <pitti> (if I do that, it works) 14:28:25 <pitti> mvollmer: yes, it would 14:28:30 <mvollmer> right, thanks 14:28:52 <mvollmer> can we bind mound /etc/ssh to /var/lib/cockpit/? :-D 14:29:03 <pitti> eww :) 14:29:14 <mvollmer> anyway, I think it would be nice not to break this, if reasonably possible 14:29:18 <pitti> mvollmer: not without updating the container 14:29:39 <pitti> as these bind mounts happen inside the /container/atomic-run script which is stored in teh container, not the host 14:29:44 <mvollmer> or machines.js writing two files? 14:29:46 * pitti took a few hours this morning to dissect that 14:30:15 <dperpeet> I think it's important not to break containers 14:30:18 <pitti> well, before we talk about teh "how": is this an actual problem? 14:30:20 <dperpeet> people will continue using the container 14:30:29 <dperpeet> and use the newer one for older versions of cockpit also 14:31:01 <mvollmer> but is there a reason not to update the container? 14:31:10 <mvollmer> only ignorance, right? 14:31:31 <pitti> we need to update the container to keep our tests passing (as I said, the tests hack around the absence of the dashboard) 14:31:42 <dperpeet> the new container should keep working with old versions of cokcpit 14:31:49 <pitti> but that aside, I was wondering if that is just a CI issue or a real-life backwards compat issue 14:32:00 <pitti> yes, that's not a problem at all that way around 14:32:01 <mvollmer> updating = bind mount /etc/ssh and newer version of cockpit-ws, right? 14:32:12 <pitti> new ws/ssh work fine with old cockpit setups 14:32:27 <pitti> just that old ws/ssh doesn't work with new cockpit packages on the host 14:32:59 <pitti> mvollmer: yes; the "newer version of cockpit-*.rpm" is done by testsuite-prepare, but not the bind mount (but that's my second topic) 14:33:09 <dperpeet> ok, can we detect that from the container and give a sane error message? 14:33:10 <mvollmer> right 14:33:15 <dperpeet> or use the version info we have? 14:33:27 <pitti> we can't detect anything from the container if it doesn't get updated to a new version 14:33:37 <pitti> and once it does get updated, there's no breakage to detect any more :) 14:34:10 <pitti> we coudl hack machines.json to detect if the remote ws is running in a container (somehow) 14:34:20 <pitti> and fall back to writing /var/lib/cockpit/known_hosts 14:34:26 <pitti> but that'd be a really ugly hack 14:35:01 <pitti> the problem is that the bridge (which writes known_hosts to the atomic host) is running on the host, thus writes the host's file system 14:35:10 <pitti> but -ws and -ssh are in the container, so they rely on the bind mounts 14:35:13 <mvollmer> but, the existing container doesn't do dashboards, so it wont run into that problem 14:35:25 <pitti> mvollmer: right; and that's exactly what I was seeking confirmation of 14:35:27 <mvollmer> no wait, this is not up to the container 14:35:34 <mvollmer> or is it? 14:35:51 <pitti> if there is no dashboard, then multi-machines isn't a feature on Atomic and there's no compat break 14:36:14 <mvollmer> right, and how would we add the dashboard? 14:36:27 <pitti> our test images don't have a dashboard, but I'm not sure if that's generally so on atomic or just the way we configured it in our test images 14:36:32 <mvollmer> that doesn't need any change to container/ws, right? 14:36:43 <pitti> I don't know 14:36:45 <mvollmer> just adding a package to atomic host 14:37:19 <mvollmer> would it suck to let machines.js write both files? 14:37:25 <dperpeet> pitti, just fyi: you can use the container even if not on Atomic 14:37:26 <pitti> IMHO yes 14:37:33 <dperpeet> and people do 14:37:33 <pitti> as there is no defined time/point when to stop doing so 14:37:47 <mvollmer> we can do it forever... 14:38:14 <pitti> I mean, if the docker images don't update automatically, then supposedly they will run old code forever (potentially) and thus we have to support ancient ws/ssh forever 14:38:23 <mvollmer> yeah 14:38:28 <mvollmer> *shrug* 14:38:30 <dperpeet> I think it can be expected to update containers 14:38:33 <dperpeet> that's what they're for 14:38:42 <dperpeet> but the new container should be able to connect to an older cockpit 14:38:50 <pitti> new containers are fine 14:39:12 <pitti> there's code to search /etc/ssh/known_hosts, fall back to /var (and soon also look into $HOME and machines.d/*.json) 14:39:40 <pitti> the difficulty is updating cockpit on the host, but keeping an old container, as there is no dependency relation between those 14:39:53 <mvollmer> so, we need a general mechanism to tell people: there is a new container, go get it 14:40:03 <mvollmer> right? 14:40:20 <pitti> yeah (which is a much wider-scale problem, and a general source of brokenness and insecurity of containers :) ) 14:40:29 <dperpeet> mvollmer, if possible, but I don't think it is a must - containers can be expected to be updated 14:40:43 <petervo> pitti, how about a capability system-sshkeys 14:40:49 <petervo> or something 14:40:58 <petervo> that machines js can check for 14:41:05 <petervo> to decide where to write 14:41:46 <pitti> petervo: that would go towards the direction of "detect whether the remote ws is running in a container"? what kind of capability to you mean? 14:42:03 <petervo> well it's not just about the container 14:42:26 <petervo> there are various ways cockpit-ws could be old 14:42:35 <petervo> but yes that's the most common case 14:42:48 <petervo> capabilities are a cockpit feature 14:43:33 <petervo> https://github.com/cockpit-project/cockpit/blob/master/src/ws/cockpitwebservice.c#L1644 14:43:39 <pitti> petervo: so machines.js can somehow talk to the runing ws? 14:44:20 <petervo> there's an init message that gets sent when the socket is setup 14:44:38 <pitti> petervo: ah nice; if ws exports those and we can query those in js, we could implement that 14:44:53 <petervo> i think there should be a way we can find out what they are 14:45:12 <pitti> so that means our CI tests would detect that "backwards compat" fallback path, and not test the code path with writing /etc/ssh on Atomic 14:45:23 <pitti> but as soon as we release a new container, they would test the new code path 14:45:35 <pitti> and the new code path is tested on all non-atomic targets, so that shoudl be fine 14:46:14 <pitti> so I take it from the discussion above that having a dashboard on atomic is a supported use case, we just don't cover it in our CI 14:47:22 <dperpeet> pitti, or use a container with non-atomic 14:47:52 <pitti> well, that seems a bit far-fetched, but sure 14:48:03 <petervo> pitti, at the moment the dashboard isn't support on atomic 14:48:16 <petervo> but it used to be 14:48:36 <petervo> and will be again at some point 14:49:18 <pitti> petervo: so should I look into the capability checking and fall back to writing the old file? 14:49:34 <petervo> that would be my suggestion 14:49:38 <pitti> ack, thanks 14:49:50 <pitti> so my second topic is kind of moot now 14:50:06 <pitti> and we're running out of time, so let's skip it 14:50:08 <mvollmer> petervo, thanks, that was excellent! 14:50:44 <petervo> i thought we used to update cockpit/ws durning test suite prepare 14:50:58 <pitti> we only install the rpms 14:51:11 <pitti> we don't update /containers/ scripts 14:51:44 <petervo> and installing the rpms is not enough? 14:51:57 <pitti> but I suppose it's useful to let our CI run against the old container until we release 234, to test the fallback path 14:52:10 <pitti> no, need to change atomic-{install,run} for the new bind mount 14:52:31 <pitti> these scripts aren't packaged (and they don't need to be) 14:53:21 <petervo> oh i see, i think that's probably ok 14:54:54 <pitti> (end of topic from my POV) 14:55:55 <mvollmer> #topic Any other business 14:56:32 <dperpeet> mvollmer, the udisks topic? 14:56:34 <mvollmer> Son_Goku, do you want to bring up Mageia 6? 14:56:39 <pitti> Son_Goku: I'm waiting for a new udisks release myself too (but not nearly as pressuring as for you); there was supposed to be a new one "soon'O 14:56:50 <Son_Goku> pitti: we're about to put out Mageia 6 sta2 14:57:10 <Son_Goku> and I'm having arguments with people over whether upgrading from udisks 2.1.8 to udisks 2.6.4 will be "safe" 14:57:23 <Son_Goku> because we want to release Mageia 6 in the upcoming weeks 14:57:34 <Son_Goku> (Mageia 6 is horribly overdue...) 14:57:36 <pitti> it's backwards compatible, yes 14:58:04 <Son_Goku> in terms of API and ABI, or is there something I should be aware of? 14:58:05 <pitti> but nevertheless a lot of changes of course, so don't do this right before a release (just for good practice, not because we know about regressions) 14:58:19 * Son_Goku shrugs 14:58:28 <Son_Goku> I'll probably wind up sticking it in a COPR repo and testing myself 14:58:43 <Son_Goku> it may wait until Mageia 7, but the situation is a complete mess to begin with 14:58:54 <pitti> the integration tests are fairly good, though 14:59:00 <Son_Goku> it's quite likely it might wind up being a post-release upgrade at some point, but I'd like to get a handle on this 14:59:14 <pitti> and it's been tested for backwards compat in Fedora (as "storaged") 14:59:21 <Son_Goku> yes, I'm aware of that :) 14:59:29 <Son_Goku> the problem is that from the outside looking in, no one has a clue about the upgrade path and how well of a drop-in it is 14:59:47 <pitti> if you don't pacakge the new plugins (lvm etc.), it pretty well looks exactly the same 15:00:07 <pitti> so it's "just a new upstream version" from that angle 15:00:13 <Son_Goku> right 15:00:50 <Son_Goku> so what's left on making udisks 2.6.4? 15:00:59 <pitti> I'm not sure 15:01:10 <pitti> (not working on it on a day to day basis) 15:03:42 <Son_Goku> hmm 15:03:44 <Son_Goku> basically, I don't want to be put in the bad situation of doing an ugly upgrade post-release 15:04:36 <Son_Goku> maybe with the 2.6.4 release, could some upgrader notes be put together for people coming from 2.1.8? 15:05:50 <Son_Goku> the version jump makes it seem scarier than it might actually be 15:06:06 <pitti> yeah, there's a whole fork and re-merging in between, but from end to end it's not that scary ;) 15:06:15 <Son_Goku> I know the internals have changed quite a bit, but I don't know if that affects ABI 15:06:15 <mvollmer> Son_Goku, pitti, what about wrapping up the meeting? 15:06:17 <pitti> so the net result is essentially "add some new plugins for LVM" 15:06:20 <pitti> +1 15:06:26 <mvollmer> yeah 15:06:28 <Son_Goku> I'm okay with ending the meeting 15:06:38 <Son_Goku> my bit isn't particularly meeting relevant :) 15:06:40 <mvollmer> sorry, I didn't understand that this is about udisks... :) 15:06:46 <mvollmer> #endmeeting