16:00:22 #startmeeting Server SIG Weekly Meeting (2015-11-17) 16:00:22 Meeting started Tue Nov 17 16:00:22 2015 UTC. The chair is sgallagh. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:22 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:22 #meetingname ServerSIG 16:00:22 The meeting name has been set to 'serversig' 16:00:22 #chair sgallagh mizmo nirik stefw adamw simo danofsatx mhayden jds2001 16:00:22 #topic roll call 16:00:22 Current chairs: adamw danofsatx jds2001 mhayden mizmo nirik sgallagh simo stefw 16:00:25 .hello sgallagh 16:00:26 sgallagh: sgallagh 'Stephen Gallagher' 16:00:36 .hello jstanley 16:00:36 morning 16:00:36 jds2001: jstanley 'Jon Stanley' 16:00:38 .hello adamwill 16:00:40 adamw: adamwill 'Adam Williamson' 16:00:52 .hello kevin 16:00:53 nirik: kevin 'Kevin Fenzi' 16:02:03 .hello stefw 16:02:04 stefw: stefw 'Stef Walter' 16:02:10 .hello duffy 16:02:11 mizmo-wfh: duffy 'Máirín Duffy' 16:02:51 #topic Agenda 16:03:07 Sorry for not sending out the agenda before the meeting. 16:03:14 The only topic I have is: 16:03:30 #info Agenda Item: Reducing the size of the default install 16:03:49 (See the thread I started on devel@ for an overview) 16:04:26 Anyone else have topics they would like to see discussed today? 16:04:27 .hello simo 16:04:28 simo: simo 'Simo Sorce' 16:05:48 OK, then let's get started. 16:05:57 #topic Reducing the size of the default install 16:06:27 #info "Size" is defined both as disk space and software attack surface 16:06:46 I think this is a good idea, but will just take work... not sure how much/what else we can do here. 16:07:04 I spent most of yesterday digging into what were some of the trouble spots 16:07:39 Initially, I wanted to see what the diff between minimal and Server was, to see if we can largely eliminate the need for them to be separate concepts 16:07:42 sgallagh: saw your mail. the glibc locale archive has always stuck out like a sore thumb 16:08:01 why is the locale archive so huge ? 16:08:03 While doing so, it also became apparent that the minimal install is also overlarge 16:08:29 sgallagh: compared to what? 16:08:57 I'd hazard a guess it has something to do with unicode, but I'm basing that on the fact that libicu is another extremely large package 16:09:42 jds2001: Good question. I don't have a good reference point, but "almost 800MB" doesn't say "minimal" to me. 16:09:56 yup 16:10:10 sgallagh: what would be "minimal" ? 16:10:27 400M? 80M? .. ? 16:10:34 simo: In my ideal world, it would be little more than the early boot process plus init 16:10:41 sgallagh, do you have any data on which package "groups" are leaves, and have dependencies on unique things nothing else depends on? 16:10:48 sgallagh: why, when you were young, a whole operating system could fit onto a floppy disk! and also, there were floppy disks. and all this was fields. 16:10:49 With Server becoming then the minimal useful set 16:11:16 stefw: Not yet; I'm trying to figure out how to actually get that data 16:11:24 Working with the RPM database is... non-trivial 16:11:55 adamw: When I was young, several operating systems would fit on a single floppy disk 16:11:56 sgallagh, i dont know that minimal and server could be the same, i do think theres different use cases there 16:12:12 mizmo-wfh: Perhaps I misspoke 16:12:19 sgallagh: what do you expect to be able to do with a minimal install ? 16:12:39 I meant that "minimal" should really just be "Base WG output" and the core building block for Editions and Spins and not expected to be useful on its own 16:12:50 And Server should be the minimal *useful* ste. 16:12:53 *set 16:12:59 ah okay 16:13:00 simo: Build a spin. 16:13:04 two different types of minimal :) 16:13:05 what counts as useful? 16:13:39 that still doesn't work for me 16:13:52 Yeah, words are hard 16:13:54 same problem as last week: we want Cockpit in Server, right? but that doesn't mean it's part of the 'minimal useful set' 16:13:56 sgallagh: so minimal would be unusable ? 16:13:58 i think it's not just words 16:13:59 what is useful to me is different that what's useful to you :) 16:14:10 if you install it you get soemthing broken ? 16:14:11 jds2001: Sure. 16:14:13 minimal should boot and be able to log in 16:14:15 that's it 16:14:19 anything else is installed on top of it 16:14:23 i think that while the concept behind the current 'minimal' install is very vague and hard to nail down, it's actually something people want 16:14:26 Let's start with a reminder of the Server Edition goal: 16:14:31 stefw: so let me try to be more proactive rather than inquisitive 16:14:46 It should provide a defined platform that is useful to the Personas we defined during the PRD process 16:14:52 should it be: kernel, boot, init, shell, rpm, dnf, and basic editor ? 16:14:59 should it have networking support ? 16:15:02 It is not expected to be the pre-Fedora.next build-your-own-OS 16:15:08 we have this very fuzzed shared concept of 'all the bits that people kinda expect to be there' and that's what minimal is 16:15:15 simo, minimal should be accessible over the network, yes 16:15:32 so add in there network stack 16:15:38 adamw: That's kind of why I want us to consider dropping the "minimal" environment group entirely 16:15:58 should it have things like cron, ssh, name-your-own ? 16:15:59 stefw: Actually, I disagree :) 16:16:07 sgallagh: wait, which bit is the reason? 16:16:17 sgallagh: there are folks out there that could care less about cockpit, realmd, rolekit, ... 16:16:27 adamw: Nearly all of this conversation, but I was replying to your last statement before that 16:16:40 but in my mind, those things are minimally useful to what we've defined the server product to be. 16:16:43 jds2001, wouldn't they go with a minimal version instead of server tho? 16:16:46 jds2001: I do not think cockpit, realmd, rolekit belonmd in minimal 16:16:51 but they belong to server 16:16:54 exactly 16:17:15 jds2001: So, the thing we have to get away with (in my mind) is the idea that it is our responsibility to continue to solve every situation that Fedora used to solve. 16:17:28 sgallagh: it seem to me minimal should be functional enough that you can install other stuff 16:17:33 We still have kickstart installs and spins for people who want to just roll entirely their own set of packages. 16:17:40 so I would say ssh, editor and network stack are needed 16:18:01 bu not other daemon, not even cron (although that is being swallowed by the ever powerful systemd anyway 16:18:23 Let's take a step back; we pretty much decided last week that the "minimal install" group is not something we feel the Server WG should decide upon, right? 16:18:35 sgallagh: yes and no 16:18:48 IIRC Base WG didn't want to do minimal 16:19:01 and we need to define what minimal is if we want to build Server on top of it 16:19:05 at least to some degree 16:19:22 simo: If Base WG isn't doing their job, then we have to work around them. 16:19:48 For now, I'm comfortable with us just deciding what makes sense for Server and then retrofitting if Base ever provides something useful 16:19:57 what does the Base WG *do*, if not define the base? 16:20:03 ^^ serious question 16:20:20 jds2001: That *is* their charter. Their follow-through has been lacking. 16:20:33 I think it's mostly due to their getting caught up in this same circular argument. 16:20:38 (That we were just having) 16:20:44 is the problem you want to solve here in fact more '@fedora-server has to be built on @base' than 'we need to fix the 'minimal' install'? 16:21:11 Mostly because no one can agree on whether Base is 1) installable or just a set of requirements and 2) self-hosted 16:21:48 adamw: The problem I want to solve here is really only the contents of the Server default install 16:22:17 Unfortunately, I phrased that in terms of my comparisons with the "minimal" install, which I'm increasingly seeing as a distraction., 16:23:13 Since the minimal install really isn't what anyone would call minimal and isn't really directly relevant to us anyway. 16:23:23 sgallagh: sort of. We have to solve @base bloat, and as a follow-on, @fedora-server bloat. 16:23:35 (Except to decide whether to drop the minimal env group so it doesn't show up in anaconda as an installable option) 16:24:18 jds2001: I was actually looking at it in reverse, initially 16:24:31 Reduce the delta from "minimal" to Server first, then move down the stack 16:24:42 Because right now, it's a perception problem 16:24:55 server gets the brunt of the perception prob 16:25:01 People don't choose Server because the delta from "minimal" (even if that really isn't minimal) is large 16:25:53 sgallagh: that makes sense too 16:25:54 If we start from the base definition, we probably won't impact the *diff* between them significantly and the perception problem will remain 16:26:55 I have two points that I think we can address on that front, one I want to direct at simo and the other at stefw 16:27:06 right, i think the smart thing to do is work on the low-hanging fruit first: stuff that can be done without controversy 16:27:22 stuff in Server itself, and then stuff that's pure 'bloat' - unnecessary dependencies and maybe really old crap 16:27:37 adamw++ 16:27:37 sgallagh: Karma for adamwill changed to 5 (for the f23 release cycle): https://badges.fedoraproject.org/tags/cookie/any 16:28:00 once that's trimmed down, *then* you can get into the more awkward stuff which involves the questions of the multiple personalities of @core 16:28:02 er, @base . 16:28:05 er, whichever it's called. 16:28:07 The first and most obvious question I have is for simo: What is the status of Python 3 support in Samba and FreeIPA? 16:28:32 Because freeipa-client and samba-common-tools are currently the only packages we explicitly require in the default install that pulls in the Python 2 stack 16:28:45 Killing off the whole py2 stack would be a big win 16:28:55 sgallagh: well, except you still need it for ansible :/ 16:29:04 but for non-ansible folks it's good. 16:29:07 ... 16:29:49 adamw: I could see a *strong* argument for making that an Optional component (included on the DVD, but not installed by default) and creating an @ansible-agents group 16:30:04 that's probably useful throughout the distro, yeah 16:30:17 that might be handy... well, agents doesn't sound right... but sure. 16:30:56 hell, we could knock that out in like 15 minutes. 16:31:01 "legacy python2 support" or something. 16:31:02 nirik: Well, I was trying to cover the case where we also might include ansible modules in that group 16:31:23 nirik: No, I was thinking *specifically* about a group for ansible use-cases. 16:31:38 "Legacy python 2" is more complicated (IMHO) 16:31:54 well, really you just want python2 and python-dnf 16:32:10 nirik: Today, sure. 16:32:11 sgallagh: are you interpreting legacy python2 to be all modules or something? 16:32:18 then people can install whatever they like. 16:32:22 * jds2001 just sees it as core python2 runtime 16:32:24 jds2001: I'm explicitly trying *not* to interpret it 16:32:52 nirik: I'd rather have something in Anaconda that can read "Support for managing the system via ansible" 16:32:53 yeah, i like the idea of a purpose-based group better. 16:33:08 If under the hood, that's just python-dnf, that's irrelevant to the user 16:34:03 * nirik doesn't much care what it's called. 16:34:38 sgallagh: python 3 support is moving, but it is a hard road 16:34:42 I prefer the purpose-based groups because it will also leave us an easier path to changing out the pieces if that becomes necessary 16:34:50 sgallagh: as you have seen the dependencies are quite a lot 16:34:55 simo: Yeah, it's enormous. 16:35:08 doesn't rolekit install the packages you need? 16:35:13 So that leads me to the other option for getting rid of Python 2 16:35:13 purpose-based groups++ (fwiw :) ) 16:35:16 why would freeipa be in the default install? 16:35:23 stefw: We ship with the freeipa-client installed by default 16:35:26 stefw: so you can join a domain 16:35:30 As well as samba tools 16:35:35 realmd (like rolekit) installs the packages you need 16:35:44 including freeipa-client 16:35:45 jds2001, stefw: That's actually where I was going 16:36:16 sgallagh: with easier roles, we dont really need a ton of stuff installed by default 16:36:33 We originally decided that it was best to include the domain-client components in the default install to address cases where someone might want to join a domain during install/first-boot without having external network access 16:36:35 sgallagh: what's the status of mere mortals like me being able to make roles? 16:36:49 jds2001: ETA 2 months 16:37:14 sgallagh: they can be on the DVD but not installed by default 16:37:21 they would still be accessible w/o network 16:37:23 Right, that was the suggestion I was just about to make 16:37:32 but this is a installed vs DVD thing 16:37:32 However, we still have samba to contend with 16:37:40 doesn;t really do anything to reduce the DVD image size 16:37:47 but it may change the installed size 16:37:49 simo: I don't care much about the DVD size 16:37:59 sgallagh: why do you need samba by default ? 16:38:00 (Provided it remains under 4GB, of course) 16:38:07 simo: That was my next question :) 16:38:23 probably a dependency coming from sssd ? 16:38:44 simo: Well, some of the libs are, but we can avoid that by having sssd installed by realmd 16:38:49 Rather than by default. 16:39:08 But I *think* we opted to have the samba client installed by default for convenience. 16:39:18 I no longer remember the justification, however 16:39:29 sgallagh: we are going toward a sssd managing local accounts eventually 16:39:30 so default 16:39:48 but we can split packaging so that "network" modules can be installed on demand I guess 16:40:05 simo: I'm aware, but as that day is not yet here and is unlikely to beat Python 3 support in, I'm disregarding it for the purposes of this discussion 16:40:39 anyway we can simply change packaging to not drag in samba if it is a big problem 16:40:40 simo: And I doubt we can actually split packaging like that anyway. 16:40:53 (or to drag in a much smaller package with just libs or something 16:40:55 http://paste.fedoraproject.org/291483/78446144 , anyone? 16:41:29 sgallagh: our stuff is (was ?) mostly DSOs, I built it explicitly with the idea we can split it into packages (among other reasons) 16:41:34 adamw: Ack from me. 16:42:00 adamw++ 16:42:02 jds2001: Karma for adamwill changed to 6 (for the f23 release cycle): https://badges.fedoraproject.org/tags/cookie/any 16:42:05 sorry to ask, but whay does ansible need python2 ? 16:42:19 it's not yet ported to python3 16:42:20 simo: Right, I mostly meant that the SSSD core uses a bunch of samba-derived libraries. But we can probably make sure the default install ignores the Python stuff 16:42:22 adamw: sure. 16:42:27 simo, and it expects python on the target host 16:42:58 adamw: Do you have commit privs on comps? (I would expect so, but if not I'll commit it) 16:42:59 sgallagh: tdb, ldb, talloc, tevent are separate libs, they do not come out of the samba package since long time 16:43:29 simo: I suppose the stuff that's risky would be the stuff from the sssd-ad and sssd-ipa subpackages. 16:43:39 well, it's not just that it's 'not ported yet', it's that ansible is kinda inherently forced to be conservative - as long as it's reasonably commonly being used to manage py2-only nodes, it needs to be py2 16:43:42 sgallagh: yes. 16:43:48 stefw: so maybe we can expresse our need to get them to support python3 so we can support ansible by default ? 16:44:00 stefw: Can realmd properly determine the domain type before the samba packages are present? 16:44:05 yup 16:44:07 ok 16:44:19 simo: This is a long-running topic. 16:44:27 ansible folks are working on their 2.0 release, after that they will look at python3 plans... I'm sure it will happen, just not overnight. 16:44:32 They don't want to bother as long as their primary customer base is on RHEL 6 and 7 16:44:38 adamw: dunno about ansible but I have a lot of python code that works on 2 and 3 at the same time 16:44:40 So... probably years yet 16:45:01 simo: just read the thread 'ansible in Fedora 23+' on devel@ 16:45:04 covers most of it 16:45:08 sgallagh: you can get a supported py3 stack for both of those os's :) 16:45:10 I trust your tl;dr :) 16:45:28 jds2001: But not out of the gate, which is problematic if you want to use ansible to install software :) 16:45:43 * nirik thinks it may be less than years, but estimating things is always difficult. 16:46:07 ansible could run dnf install python-dnf itself 16:46:17 but not my place to solve their problem 16:46:25 it can sure. 16:46:31 * danofsatx is here, late 16:46:31 with it's raw mode. 16:47:01 then problem solved and we need no 'legacy' group 16:47:04 let's move on :) 16:47:08 yes lets 16:47:12 sgallagh: it is still not clear to me what you want to attack 16:47:14 OK, so right now I've seen two proposals, so let's tally those? 16:47:29 sgallagh: cl;early you need to make the hard job of looking at packages and propose something to drop 16:47:34 Proposal 1) Create an ansible-support group 16:47:41 and then be screamed at when you remove the editor of choice of someone 16:47:50 (and if you remove vim I will unfriend you ) 16:47:57 simo: I'm used to getting yelled at 16:48:26 tbh given ansible can install the packages it needs I am not sure we really need a group for ansible 16:48:28 well, the group is handy on server so you could add it to your kickstart or select it on install... 16:48:42 nirik: ok 16:48:43 Proposal 2) Remove samba and domain-client from the default install, leave it as optional on the DVD 16:48:59 Goal of both being to eliminate Python 2 from the default set 16:49:18 potentially dumb question, are these proposals mutually exclusive? 16:49:26 sgallagh: are those the only 2 packages requiring python2 a t this point ? 16:49:47 what is there besides vim (1.0M) and emacs (3.0M)? 16:50:02 simo: Yes. We converted everything else fromthe default install 16:50:05 nano, pico, ed, etc... 16:50:06 nevermind, I think I'm lost 16:50:10 danofsatx: We are *not* having the editor discussion 16:50:24 I see that now. please disregard. 16:50:37 mizmo-wfh: Sorry, Proposal 1 should note that it is optional, not installed by default 16:50:40 sgallagh: ok then +-0 to 1) and +1 to 2) 16:51:09 +1 to both, as a practical matter 16:51:34 * nirik reads 'ansible support group' and thinks 'hi, it's been 15minutes since I last used ansible' 16:51:41 anyhow, +1 to both here. 16:51:44 /me cracks up 16:51:55 12 steps for ansible users 16:52:26 step one: admit you have a python2. 16:52:41 * adamw just pushed the comps commit for 1), so i guess that counts as a +1? :) 16:52:57 i kind of think proposal 1 breaks one of the most compelling features of ansible unless i misunderstand? 16:53:10 (where the compelling feature is it just works on any client?) 16:53:42 mizmo-wfh: That was never actually true 16:53:45 naughty nirik ... 16:53:46 mizmo: you're kinda misunderstanding. it works on any client where sufficient bits of python2 are present 16:53:48 It was marketing fluff 16:54:01 adamw, yeh but thats the thing so the sufficient bits of python 2 aren't going to be present now 16:54:06 And actually, it *still* works in raw mode without python 2 16:54:07 right? 16:54:10 mizmo: this has usually been a safe assumption, but now fedora is actually getting to the point where various commonly-used package subsets are python3 only, it's no longer a reasonable assumption for fedora 16:54:11 It's just not tremendously useful 16:54:21 mizmo: that was already happening 16:54:30 sgallagh, and raw mode can be used to install this optional support group? 16:54:33 has happened on f23 cloud 16:54:35 mizmo: It's already the case for Fedora Cloud 16:54:36 mizmo-wfh: yes 16:54:42 mizmo-wfh: Yes 16:54:42 oh okay, +1 to proposal 1 from me then 16:54:43 also core and workstation i think? 16:54:51 thanks for the explanation (im not super familiar with ansible) 16:54:56 adamw: Unclear about workstation and core isn't a thing :) 16:54:59 mizmo: the 1) change is literally just adding the group to comps, it's not taking python2 out of anywhere it hasn't already been taken out of 16:55:21 sgallagh: i havent went thourgh the entire dep chain yet 16:55:25 removing samba and domain-client means out of the box you can't join samba groups? 16:55:28 er domains 16:55:29 well, we were going to also add that to the dvd as a optional/not checked? 16:55:32 mizmo-wfh: It's something RHT is going to have to figure out for RHEL 8 as well, since it seems likely that they won't want to ship both stacks there if they can help it 16:55:37 mizmo-wfh, yes you still can, via realmd 16:55:42 sgallagh: but dnf remove python on rawhide is.....interesting. 16:55:57 mizmo-wfh: We're leaving in realmd, which can auto-install the necessary software 16:55:59 stefw, whats the downside of removing samba and domain-client 16:56:07 nirik: oh yeah, i'll add that to spin-kickstarts. 16:56:08 (Provided it has access to a mirror) 16:56:26 adamw: Thanks 16:56:29 mizmo-wfh, the downside is that you have to use something (like realmd) to install them 16:56:38 realmd makes that really easy (detecting which software is necessary for a given domain) 16:56:39 * danofsatx wonders if those could be set up as roles for rolekit 16:56:50 danofsatx: If what could? 16:57:02 samba, domain-client 16:57:09 * stefw will turn into a pumpkin in 3 minutes 16:57:10 or would rolekit be overkill 16:57:37 mizmo-wfh: The primary downside is that if you don't have external network access, then you would need to make sure to explicitly add the "domain client" packages during install (either via kickstart or anaconda) 16:57:49 We're keeping them on the DVD for this purpose. 16:58:05 sgallagh, seems reasonable to me then, +1 to proposal 2 as well :) thanks for the explanations 16:58:08 So it won't save us space on the disk, but plenty of space in the default install 16:58:30 now that I think I have the idea of what we're talking about, I'm +1 to both proposals 16:58:39 danofsatx: That would be overkill considering we already have exactly that capability in realmd 16:58:48 Which is staying in the default install 16:59:27 /me tries to add up the counts 17:00:49 I'm +1 to both, for the record. 17:01:00 Someone else want to chime in? I've got +4 on both proposals 17:01:02 Unless I miscounted 17:01:10 simo did 0 on 1 and +1 on 2 17:01:11 +1 from me on both proposals 17:01:16 so you shouldn't have the same number for both 17:01:43 mizmo-wfh: adamw didn't vote on 2 17:01:57 oh sorry 17:01:58 * adamw reads 17:02:10 simo - / 1; jds2001 1 / 1; nirik 1 / 1; adamw 1 / ?; mizmo 1/1; sgallagh 1/1; stefw 1/1; danofsatx 1/1 17:02:19 thats what i see in scrollback? 17:02:27 OK, I must have missed some 17:02:28 fyi - for folks looking for Fedora Release we're in #fedora-meeting 17:02:30 i guess +1 to 2), sure 17:02:38 acarter: We're closing out in 30s or so 17:02:43 If you need this channel 17:02:52 +7 for proposal 1 17:03:01 +8 for proposal 2 17:03:07 one 0 for proposal 1 17:03:54 passed 17:03:56 both 17:03:57 #agreed Create an optional ansible-support comps group (+7, 1, -0) 17:03:57 #agreed Remove samba and domain-client from the default install, leave it as optional on the DVD (+8, 0, -0) 17:04:06 #topic Open Floor 17:04:14 If there's nothing for Open Floor, I'll close the meeting in 30s 17:04:19 sgallagh: are we going to create a working group like for rolekit to work on this slimming work ? 17:05:05 simo: There are folks working on this already, not all in Server WG 17:05:24 danofsatx and I are from the Server side, pbrobinson was looking into dep reduction from the rel-eng side. 17:05:25 ok 17:05:33 Any and all help is welcome and encouraged, of course 17:05:38 that's enough for me 17:05:52 fedora weight watchers 17:05:57 counting up those points / packages 17:05:57 lol 17:05:59 mizmo++ 17:06:08 choosing lower calorie alternatives 17:06:09 hehe 17:06:14 sgallagh: not from rel-eng side, from own interest side 17:06:30 pbrobinson: Either way, immensely appreciated 17:07:05 OK, anything else? 17:07:12 sgallagh: biggest reduction IMO would be removal of non core bits like perl from freeipa, I've filed bugs to split things out but that team just constantly ignores even with tested patches 17:07:49 I just wanted to note that my presence has been scarce lately. 17:07:51 simo: Could you check on that? You're most closely involved with that team. 17:08:10 I recently became unemployed, so my schedule is all out of whack while I search for a new job. 17:08:55 danofsatx: What I'm hearing is that you have plenty of time to work on Fedora, now ;-) 17:09:52 OK, on that note, I'm going to close out the meeting this week. 17:10:01 Thanks everyone for participating in the discussion 17:11:08 #endmeeting