15:02:35 #startmeeting rolekit (2015-12-15) 15:02:35 Meeting started Tue Dec 15 15:02:35 2015 UTC. The chair is sgallagh. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:02:35 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:02:35 The meeting name has been set to 'rolekit_(2015-12-15)' 15:02:35 #meetingname rolekitweekly 15:02:35 #chair sgallagh twoerner nilsph 15:02:35 #topic init process 15:02:35 The meeting name has been set to 'rolekitweekly' 15:02:35 Current chairs: nilsph sgallagh twoerner 15:02:51 .hello twoerner 15:02:52 twoerner: twoerner 'Thomas Woerner' 15:03:24 .hello sgallagh 15:03:25 sgallagh: sgallagh 'Stephen Gallagher' 15:03:29 nils: ping 15:03:30 sgallagh: Ping with data, please: https://fedoraproject.org/wiki/No_naked_pings 15:03:38 ... I deserved that 15:03:40 .hello nphilipp 15:03:41 nils: nphilipp 'Nils Philippsen' 15:03:54 OK, all here. 15:03:59 #topic Status Update 15:04:21 I've put a lot of time into the Domain Controller Container role this last week. 15:04:39 I've made a slight refocusing of it after last week's Server SIG meeting. 15:05:33 Upstream FreeIPA doesn't feel that it's sufficiently ready to be the default in Fedora Server, so I'm currently building it as an experimental role rather than replacing the RPM-based implementation 15:06:07 It's coming along well; I expect to have it out for review before the end of the week, barring unforseen bugs. 15:06:28 #info sgallagh has been working on the Containerized Domain Controller. 15:06:36 nils: What have you been up to? 15:07:44 I've looked into documenting implementing a role a little better and kinda found myself wanting to redesign some things before I document them, but first I'd want your input on that :) 15:08:11 #topic Nils' plans for redesigning roles 15:08:14 Go on :) 15:08:48 From the first time I've encountered it, I didn't like the way settings/defaults are defined on the role, i.e. the _DEFAULTS dict which you have to manually copy and extend on derived classes of RoleBase 15:09:42 There are two aspects here: 15:09:45 1) copying and extending manually (which could just be done in a metaclass) 15:10:32 2) that it is concentrated in one class member (_DEFAULTS) which e.g. doesn't easily let you document a setting (not in a pydoc-consumable way at least) 15:10:56 OK 15:11:13 How do you propose to improve upon it? 15:11:13 then there are minor warts like that you have to specify ports and services on firewall, even if the role only defines one of both 15:11:36 nils: Ignore the firewall piece. twoerner is redesigning that anyway. 15:11:47 heh, it was minor anyway :) 15:12:25 anyhow, I'd address 1) by a metaclass which does the copying and extending 15:13:16 nils: Any chance that could also fix the part where we have to manually copy the defaults into the values dict in deploy()? 15:13:57 /me notes that this gets tricky when dealing with how to save the options back to the JSON later. 15:13:59 I'd need to look at deploy() to make sure. 15:14:13 particularly with regards to being able to suppress some entries (like passwords) 15:14:27 let me run my speech and address that then :) 15:14:52 For 2) I'd like to copy a pattern which I've seen in other frameworks, where you specify parameters/settings by declaring objects of e.g. a Param type. 15:14:56 E.g.: 15:14:57 nils: maybe we can talk about the issues with ports and services tomorrow 15:15:04 class FooRole(RoleBase): 15:15:46 some_setting = Param(default=5) 15:15:57 password = Param(sensitive=True) 15:16:38 and we'd have something that converts all the settings/parameters defined on the class into a (JSON) dict 15:17:02 and the scrubbing function would then unset all parameters that have the sensitive flag set on it 15:17:48 This would give us a way to set arbitrary metadata for each param (default, help, sensitive, maybe even type constraints) and "do stuff" with it 15:18:31 nils: As far as the type constraint stuff, maybe we could refactor the type-checking stuff we do into that as well. 15:18:34 twoerner: ports/services -- it's just something I noticed that you have to set both, but if you redesign this anyway.... 15:18:44 sgallagh: of course, that's why I mentioned it 15:19:13 nils: I'm generally in favor of this plan. I'm not a fan of how we do it today in any case. 15:19:23 twoerner: Any reservations? 15:20:15 Of course I can still document the status quo, but if I can get around that I won't lament it :) 15:20:46 nils: Well, the original task was "get the role infrastructure in shape to allow third-party roles" 15:20:58 And people who have worked with frameworks that use a similar pattern (e.g. sqlalchemy, toscawidgets) would instantly feel "at home" 15:21:08 We reduced it to "document it" because you initially said it didn't need much work. If you are revising that statement, I trust you :) 15:21:21 ah ok, then my idea is even on topic for it :) 15:22:02 I guess I initially misunderstood a great deal about that task, but I'm progressing 15:22:09 or so I think 15:22:18 sgallagh: the only thing that comes into my mind is that it needs to make sure that we still are able to provide information on the role settings in DBusRole 15:22:31 I don't see why not 15:23:01 nils: No problem. If we terminate this task in a more maintainable state, I'll call that a victory :) 15:23:47 twoerner: you know the code better than I do, do you see a stumbling block regarding role setting in DBusRole? 15:26:51 nils: not a stumbling block.. but you will need to adapt RoleBase and DBusRole 15:27:02 yeah I guess so 15:29:39 OK, so anything else here? 15:29:48 nope 15:29:58 #info nils is looking at reworking how default settings works in roles to make it more approachable 15:29:59 I do not think so 15:30:02 no, I said all I had in mind 15:30:11 #topic twoerner's magical mystery tour of firewalls 15:30:15 haha 15:30:28 * twoerner thinks about leaving.. :-) 15:30:43 http://thedailyorbit.com/wp-content/uploads/2013/11/MysteryMen.jpg 15:30:51 that's how I picture us now 15:32:52 nils: Just... don't try to turn invisible 15:32:57 hahaha 15:33:00 twoerner: So how is it going? 15:33:07 sgallagh: pull my finger :P 15:33:29 How did we get here from a Beatles reference...? 15:33:39 damn quick 15:33:44 ohh yes 15:33:47 too quick 15:34:25 I only progressed a bit on the firewall pieces for rolekit 15:35:12 the automatic port reshuffle is not planned anymore, right? 15:35:22 twoerner: "automatic port reshuffle"? 15:35:37 (That sounds like an awesome Electronica song...) 15:35:39 to move ports to a higher port range 15:36:53 Oh, you mean by simple offset? 15:36:59 I have to admit that I was working mostly on firewalld again 15:37:07 yes, by simple offset 15:38:36 Yeah, I don't think that's ever going to be a sane approach 15:38:42 I hope to have time to concentrate on the rolekit firewall stuff in the end of the week, when the new firewalld version is out 15:38:46 ok 15:39:06 I have done some nice improvements 15:39:29 like for example to be able to add lots of rules (20000) in 1 second 15:40:14 Nifty 15:40:40 but this required also some selinux adaptions 15:40:44 OK, so there's not much to report here. That's fine. 15:40:53 #topic Open Floor 15:40:54 twoerner: when are you going to fly past netfilter processing the rules? ;) 15:40:55 yes, not much, I am sorry 15:41:19 Anything for open floor? Otherwise I'll close the meeting. I need a few minutes to prep for the Server SIG meeting :) 15:41:20 with nftables.. 15:42:08 nothing from me 15:42:22 Alright then 15:42:30 Talk to you soon 15:42:35 #endmeeting