20:02:11 <sgallagh> #startmeeting Server SIG Weekly Meeting (2017-08-01)
20:02:11 <zodbot> Meeting started Tue Aug  1 20:02:11 2017 UTC.  The chair is sgallagh. Information about MeetBot at http://wiki.debian.org/MeetBot.
20:02:11 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
20:02:11 <zodbot> The meeting name has been set to 'server_sig_weekly_meeting_(2017-08-01)'
20:02:17 <sgallagh> #chair nirik sgallagh mhayden dperpeet smooge jds2001 vvaldez adamw mjwolf
20:02:17 <zodbot> Current chairs: adamw dperpeet jds2001 mhayden mjwolf nirik sgallagh smooge vvaldez
20:02:22 <sgallagh> #topic roll call
20:02:22 <nirik> morning everyone
20:02:27 <sgallagh> .hello sgallagh
20:02:29 <dperpeet> .hello dperpeet
20:02:30 <mjwolf> .hello mjwolf
20:02:39 <langdon> .hello langdon
20:02:40 <zodbot> sgallagh: sgallagh 'Stephen Gallagher' <sgallagh@redhat.com>
20:03:01 <zodbot> dperpeet: dperpeet 'None' <dperpeet@redhat.com>
20:03:04 <zodbot> mjwolf: Something blew up, please try again
20:03:07 <zodbot> langdon: Something blew up, please try again
20:03:23 <langdon> we killed zodbot!
20:03:35 <sgallagh> #meetingname serversig
20:03:35 <zodbot> The meeting name has been set to 'serversig'
20:03:51 <sgallagh> #chair langdon
20:03:51 <zodbot> Current chairs: adamw dperpeet jds2001 langdon mhayden mjwolf nirik sgallagh smooge vvaldez
20:03:59 <langdon> uhoh
20:04:35 <langdon> .hello langdon
20:04:36 <zodbot> langdon: langdon 'Langdon White' <langdon@redhat.com>
20:04:37 <sgallagh> To be clear, that was a "langdon may issue Meetbot" chair and not a Steve Ballmer chair :)
20:04:44 <mjwolf> .hello mjwolf
20:04:44 <langdon> ha
20:04:45 <zodbot> mjwolf: mjwolf 'Michael Wolf' <mjwolf@us.ibm.com>
20:05:01 <langdon> i didn't fix zodbot.. but he seems to be feeling better
20:05:39 <dperpeet> I have a minor update on the cockpit starter kit
20:05:45 <sgallagh> #topic Agenda
20:05:55 <sgallagh> #info Agenda Item: Cockpit Starter Kit
20:06:08 <sgallagh> #info Agenda Item: Modularity
20:07:04 <jds2001> .hello jstanley
20:07:05 <zodbot> jds2001: jstanley 'Jon Stanley' <jonstanley@gmail.com>
20:07:27 <jds2001> sorry, have plumber here, will probably be in and out.
20:07:46 <sgallagh> jds2001: Stay dry!
20:07:54 <sgallagh> OK, let's get started
20:07:58 <sgallagh> #topic Cockpit Starter Kit
20:08:04 <sgallagh> dperpeet: You have the conch shell
20:08:09 <dperpeet> thank you :)
20:08:24 <dperpeet> so last week I gave a brief intro to the starter kit for Cockpit plugins
20:08:29 <dperpeet> #link https://github.com/cockpit-project/subscription-manager
20:08:34 <dperpeet> I'll rename that soon :)
20:08:38 <sgallagh> ack
20:08:47 <dperpeet> one thing I wanted to run by this group was our decision to change the license
20:08:52 <adamw> .hello adamwill
20:08:53 <dperpeet> Cockpit is licensed under LGPL
20:08:54 <zodbot> adamw: adamwill 'Adam Williamson' <awilliam@redhat.com>
20:09:17 <dperpeet> but after feedback received over time, we thought we should probably change the starter kit to MIT
20:09:22 <dperpeet> (not counting included stuff of course)
20:09:29 <dperpeet> any thoughts / objections?
20:09:32 <sgallagh> sorry, define "included stuff"?
20:09:43 <sgallagh> And where do you draw the line between cockpit and starter kit?
20:09:44 <dperpeet> e.g. pulling in react
20:09:50 <dperpeet> we don't control npm modules
20:10:06 <dperpeet> starter kit can interface with cockpit once running
20:10:11 <dperpeet> as every plugin can
20:10:18 <dperpeet> but they're separate source files
20:10:41 <sgallagh> So is starter kit a templating framework?
20:10:57 <sgallagh> Or just a documented set of interfaces?
20:11:01 <dperpeet> barebones plugin
20:11:29 <sgallagh> OK, so intended to be forked?
20:11:29 <dperpeet> you can "make rpm" and get an rpm you can install on a fedora server
20:11:32 <dperpeet> yup
20:11:33 <sgallagh> Basically a copylib?
20:12:01 <langdon> brb
20:12:09 <sgallagh> And thus you don't want to restrict people to releasing their forked plugins as LGPL
20:12:19 <dperpeet> I'm not familiar with the term copylib, but if you want to develop a plugin you can fork the repo and rename the package
20:12:22 <dperpeet> yes
20:12:46 <dperpeet> it seems I didn't make the clear enough last week, I apologize
20:12:55 <sgallagh> dperpeet: A copylib is essentially a code library that is designed to be copied into your source tree rather than linked against.
20:13:03 <dperpeet> a
20:13:04 <dperpeet> ah
20:13:15 <dperpeet> yes, then that sounds like a good fit
20:13:36 <sgallagh> ok
20:13:51 <dperpeet> I'm fine with the lack of objection :)
20:13:58 <dperpeet> to changing the license
20:14:02 <sgallagh> dperpeet: Is the intent to allow closed-source plugins?
20:14:10 * nirik is fine with it...
20:14:13 <dperpeet> whatever people want to do
20:14:19 <dperpeet> :)
20:15:30 * jds2001 doesnt like the idea of closed source plugins, but at the same time I'm not in a position to dictate that to anyone. Since we want cockpit to be as broad as possible in functionality, and closed source plugins may enable that, I'm +1 here.
20:15:44 <sgallagh> I guess I'm not opposed, but I do as a rule prefer licenses that at least require public source code
20:16:13 <sgallagh> But I can see the value in not limiting the audience here.
20:16:16 <dperpeet> Cockpit itself won't change its license of course
20:16:42 * langdon back
20:16:44 <sgallagh> Sure, but I like it better when I can send a PR to fix a bug rather than waiting 18 months for someone else to fix it :)
20:17:23 <jds2001> sgallagh: agreed, but I don't want to limit functionality because of an ideological bent against propietary things.
20:17:34 * jds2001 lives in both worlds :)
20:17:47 <sgallagh> Yeah, unfortunately I live in the real world too.
20:18:00 <dperpeet> and the starter code is trivial
20:18:02 <sgallagh> I'm fine with it. Just wanted to make sure that was the intent behind the change
20:18:34 <dperpeet> the convenience stuff pulled in optionally from cockpit is still LGPL
20:18:56 <dperpeet> ok, thanks for the feedback
20:19:07 <dperpeet> I'll take this to the team
20:19:10 <sgallagh> dperpeet: so if they use any of your helper functions, they'd be bound by LGPL?
20:19:34 <dperpeet> e.g. our convenience react components
20:19:49 * sgallagh wonders if there's a library boundary defined for JavaScript
20:20:01 <sgallagh> Especially considering minification
20:20:11 <dperpeet> sounds like a legal challenge either way :)
20:20:35 <sgallagh> Well, I'm actually wondering if you may need to lighten the license on more of Cockpit
20:20:57 <sgallagh> Or get a lawyer to state what usages constitute derivative works
20:21:24 <dperpeet> right... but to be honest at this point I don't see a need to re-license any part of Cockpit
20:21:43 <dperpeet> but I didn't want to hijack too much of today's meeting time either
20:22:33 <sgallagh> dperpeet: No, it's a good place to bring that up.
20:22:53 <dperpeet> licensing is always a bit tricky
20:22:54 <sgallagh> Sorry if I'm being overly pedantic... but there's really no way to discuss licensing without being pedantic -_-
20:22:59 <dperpeet> yeah
20:23:07 <dperpeet> and it's a good question
20:23:50 <dperpeet> but without good cause, I don't see a need to re-license any part of Cockpit
20:24:27 <sgallagh> #info dperpeet raised a point of relicensing the Cockpit Starter Kit to MIT to avoid limiting plugins
20:24:31 <dperpeet> a plugin will only interface with the cockpit API at runtime
20:24:46 <sgallagh> #info Discussion occurred over whether this was desired or sufficient to achieve that goal
20:25:05 <sgallagh> #info generally, it was agreed to be acceptable if the details are worked out
20:25:57 <sgallagh> Fair assessment?
20:26:08 <dperpeet> +1
20:26:35 <sgallagh> OK, let's move on.
20:26:40 <sgallagh> #topic Modularity
20:27:07 <sgallagh> Last week, we had a discussion on this that ended with a request that everyone review the preview that langdon provided so we could discuss it this week.
20:27:13 <sgallagh> I assume everyone did so?
20:27:14 <sgallagh> :)
20:27:29 <langdon> i did :)
20:28:16 * sgallagh waits for the barrage of feedback that is sure to be coming any second now.
20:28:19 * jds2001 did his homework about 30 minutes ago, in the midst of another, more boring, meeting :D
20:28:55 <jds2001> i even submitted the form, and my feedback has become slightly stronger since :)
20:29:08 <jds2001> dnf install @httpd will install 8 packages for me.
20:29:26 <jds2001> dnf groupinstall httpd barfs, unsurprisingly.
20:29:37 <langdon> ha
20:29:45 <jds2001> that's the problem with overloading old constructs :)
20:29:48 * langdon notes there are some kinks
20:29:51 * nirik did look at it
20:29:59 <sgallagh> Yes, modularity is *quite* kinky.
20:30:02 <langdon> yeah.. i am not a fan of the @ method.. but, i had pressure
20:30:14 * langdon titters
20:31:19 <sgallagh> I'm slightly in favor of the `dnf install httpd` approach, provided that the default profile is close enough to what would have happened in present day.
20:31:49 <sgallagh> Because anything we can do to minimize a migration (including changing scripts) will improve our chances at success
20:31:52 * nirik prefers the explicit module one.
20:32:05 * jds2001 is with nirik here :)
20:32:15 <sgallagh> I'd like to actually not display that information to an end-user.
20:32:17 <jds2001> but I can see sgallagh's point
20:32:20 <sgallagh> Why do they care?
20:32:35 <langdon> well.. we have had a lot of feedback on preferring "dnf module install httpd" .. which i think is people attempting to "opt in" vs it just being "normal" .. i need to write an email to devel that its like shipping old fedora-core with extras disabled by default.. (closest analogue i can come up with)
20:32:50 <sgallagh> All they care about is that httpd is installed on their system (and the trappings of having that in the RPM DB)
20:33:10 <jds2001> also, there's no useful help for 'dnf module' so I'm not quite certain what I can do......
20:33:20 * sgallagh nods
20:33:21 <langdon> like if you "dnf install httpd" and "http" == httpd-module .. at present it results in the same exact rpms as the httpd-metapackage
20:33:37 <sgallagh> Right, I think that's the optimal outcome.
20:33:43 * langdon notes we should just add help to the website.. which didn't occur to him til just now
20:33:44 <nirik> well, I can't speak for "them" but I would prefer to know what I am installing... it might matter... and anyone using a command line might run into cases where it's different and cause more confusion
20:33:55 <sgallagh> It should pick the default module stream and the default profile for that stream and just do that.
20:34:15 <langdon> nirik, but you still see the list of rpms installing.. you just "enabled a virtual repo" as well
20:34:17 <nirik> perhaps if it noted what it was doing it would hep...
20:34:18 <sgallagh> nirik: Can you cite an example?
20:34:32 <nirik> "installing httpd from module httpd-2.4"
20:34:39 <sgallagh> That's fair.
20:34:40 <langdon> nirik, +1
20:34:52 <sgallagh> And of course after the fact it's still visible via `dnf list modules`
20:35:12 <sgallagh> That part at least is a backwards-compatible addition
20:35:26 <nirik> I'm sure lots of things will adjust as people use them and provide feedback.
20:35:33 <sgallagh> Existing commands return the same results as non-modular
20:35:45 <sgallagh> And we have extra commands that can give you extra metadata for modular pieces.
20:35:54 <langdon> i also think if we had been clearer that "dnf install httpd" is really a short form of "dnf module enable httpd; dnf looks up default stream; enables httpd-24 virtual repo; installs now available httpd metapackage"
20:35:57 <nirik> dnf list modules shows me nothing
20:36:00 <langdon> that would also help
20:36:21 <sgallagh> nirik: I may have the wrong syntax; I'm going from memory.
20:36:26 <sgallagh> langdon: What's the right syntax?
20:36:30 <langdon> nirik, file that please.. it seems logical.. but it didn't occur to me til just now.. correct syntax for that is "dnf module list" or "dnf list"
20:36:34 <jds2001> dnf module list
20:36:34 <nirik> I wanted to list the modules and couldnt figure it out. ;)
20:36:53 <jds2001> but it doesn't tell me much about what's currently enabled, just the things that are available.
20:36:55 <nirik> ah, yep.
20:37:07 <langdon> jds2001, it does, i believe
20:37:10 <nirik> and displays oddly... the description runs off and looks bad
20:37:11 <langdon> there is a column..
20:37:32 <langdon> nirik, yeah.. we have already filed the "umm seriously why is min width huge"
20:38:02 <nirik> cool
20:38:48 <langdon> jds2001, yeah "installed" and "Stream" columns
20:39:09 <langdon> it is just not very interesting because all the branches are called "f26" .. cause we didn't have arbitrary branching yet
20:39:42 <jds2001> well, i certainly see hte stream column
20:39:44 <langdon> "installed" = "install profile selected" or "blank == not installed"
20:39:48 <jds2001> but the installed is blank.
20:40:01 <sgallagh> langdon: We also need to have a conversation about multiple profiles.
20:40:10 <sgallagh> Because I see cases like samba being important there
20:40:15 <jds2001> also, there seems to be no difference after i did 'dnf moudle enable systemtools-f26'
20:40:19 <langdon> there is a bug that .. "missing default == default" .. so you should see "default" for things like base-runtime
20:40:50 * langdon tests
20:41:00 <jds2001> Name                             Stream      Version            Repo               Installed                                                                               Info
20:41:04 <jds2001> base-runtime                     f26         20170717213106     fedora-modular                                      The base application runtime and hardware abstraction layer
20:41:22 <jds2001> tis all that i see.
20:41:24 <langdon> ahh interesting.. cause it isn't installed.. so it is still blank.. even if it is enabled
20:41:30 <langdon> trying "dnf install systemtools"
20:41:38 <langdon> and then dnf module list
20:42:03 * langdon notes this is why you have others try stuff, you get to close to it"
20:43:13 * langdon should have tried to get the dnf guys here
20:43:21 <jds2001> ahh thats a bit better
20:43:57 <jds2001> also, there seemed to be no change if i did 'dnf module enable systemtools' so i couldnt tell that i had it enabled, but nothing installed from it.
20:44:00 <sgallagh> langdon: So about multiple profiles: I'm guessing that may require some rework of the config files for the enabled modules.
20:44:40 <langdon> jds2001, yeah.. that is an oversight.. its a bug.. but more like an RFE cause we didn't think of it
20:45:22 <jds2001> bug, missing feature, what's the difference? :D
20:45:45 <langdon> sgallagh, i believe the plan is to list "more than one profile" in that row in the config.. or multiple of the same value.. we have been going back and forth on "do multiple profiles layer or replace?"
20:45:48 <sgallagh> Bugs are unintentionally *present* features.
20:45:54 <langdon> +1
20:46:07 <sgallagh> langdon: They have to layer. The Samba case is pretty obvious.
20:46:33 <sgallagh> I would want there to be a profile for client operations, for file-sharing operations and probably for winbind and even domain controller operations.
20:46:43 <langdon> i think we are about 90% in agreement on that.. just explaining "yes we thought of it" but "we didn't implement a final choice yet"
20:46:54 <langdon> however.. i *think* it will layer if you have them available now
20:46:57 <sgallagh> And *most* systems would have a combination of some subset of those
20:47:13 <sgallagh> langdon: Right now it will sort of layer them, but only report the first one.
20:47:14 <sgallagh> IIRC
20:47:23 <langdon> yeah.. but in the mariadb case, you often want one or the other (client vs server)
20:47:25 <sgallagh> Might be only the last one installed.
20:47:41 <sgallagh> Is server a superset in that case?
20:47:44 <jds2001> langdon: why would you want the server without a local client to use it?
20:47:47 <langdon> sgallagh, no
20:47:49 <sgallagh> Because plenty of systems have a local connection
20:48:25 <langdon> well.. its arguable either way you want to set it up.. but the use case is valid even if the exact example is a matter of discussion
20:49:12 <langdon> but.. i tihnk the strong feeling in the team is "layer" .. and make the "switch" be a special case.. e.g. dnf remove mariabd/client; dnf install mariadb/server or whatever
20:49:56 * sgallagh nods
20:50:42 <jds2001> how do i see profiles?
20:50:43 <langdon> more comments?
20:50:52 <langdon> jds2001, like the available for a module?
20:50:56 <jds2001> yeah
20:51:08 <langdon> dnf module info <module-name> and it is buried in there
20:51:21 <langdon> need to work on the formatting of the yaml
20:52:06 <smooge> my apologies
20:52:07 <langdon> look for the stuff below "profiles:"
20:52:17 <jds2001> thats not terribly user friendly.....
20:52:24 <langdon> jds2001, uhh.. no
20:52:33 <jds2001> but whatever.....it's fine for now
20:52:36 <langdon> thats not even sys-admin friendly
20:53:09 <langdon> wasn't at the core of what we wanted to show/get feedback on.. so it was de-prioritized
20:53:26 <jds2001> makes sense, like I said, fine for now :)
20:54:59 <nirik> hopefully it will be friendly by f27
20:55:22 <langdon> yes.. it needs to get way better
20:57:16 * langdon has another meeting in three minutes
20:57:52 <sgallagh> OK, any remaining questions for langdon today?
20:58:34 <jds2001> how often does this get iterated?
20:58:40 <langdon> thanks for all the feedback folks
20:59:33 <langdon> jds2001, we technically don't have a schedule for that.. BUT.. i am expecting to see nightlies of f27-modular next week; and sometime next week have an established schedule to try to do rebuilds of the docker container (we won't be able to modify the qcow at all)
21:00:08 <langdon> so.. hopefully, nightlies for boltron-rawhide ;)  and ~weekly for boltron
21:00:32 <jds2001> makes sense.....
21:01:27 <langdon> ok.. im off.. kinda still here.. but ya know
21:01:35 <sgallagh> Thanks again, langdon
21:01:41 <sgallagh> #topic Open Floor
21:01:58 <sgallagh> Anything for Open Floor this week?
21:02:53 <sgallagh> I'll take that as a "no"
21:03:05 <sgallagh> Thank you for coming, folks. And your feedback is highly appreciated.
21:03:08 <sgallagh> #endmeeting