rolekitweekly
LOGS
15:02:35 <sgallagh> #startmeeting rolekit (2015-12-15)
15:02:35 <zodbot> 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 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
15:02:35 <zodbot> The meeting name has been set to 'rolekit_(2015-12-15)'
15:02:35 <sgallagh> #meetingname rolekitweekly
15:02:35 <sgallagh> #chair sgallagh twoerner nilsph
15:02:35 <sgallagh> #topic init process
15:02:35 <zodbot> The meeting name has been set to 'rolekitweekly'
15:02:35 <zodbot> Current chairs: nilsph sgallagh twoerner
15:02:51 <twoerner> .hello twoerner
15:02:52 <zodbot> twoerner: twoerner 'Thomas Woerner' <twoerner@redhat.com>
15:03:24 <sgallagh> .hello sgallagh
15:03:25 <zodbot> sgallagh: sgallagh 'Stephen Gallagher' <sgallagh@redhat.com>
15:03:29 <sgallagh> nils: ping
15:03:30 <zodbot> sgallagh: Ping with data, please: https://fedoraproject.org/wiki/No_naked_pings
15:03:38 <sgallagh> ... I deserved that
15:03:40 <nils> .hello nphilipp
15:03:41 <zodbot> nils: nphilipp 'Nils Philippsen' <nphilipp@redhat.com>
15:03:54 <sgallagh> OK, all here.
15:03:59 <sgallagh> #topic Status Update
15:04:21 <sgallagh> I've put a lot of time into the Domain Controller Container role this last week.
15:04:39 <sgallagh> I've made a slight refocusing of it after last week's Server SIG meeting.
15:05:33 <sgallagh> 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 <sgallagh> 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 <sgallagh> #info sgallagh has been working on the Containerized Domain Controller.
15:06:36 <sgallagh> nils: What have you been up to?
15:07:44 <nils> 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 <sgallagh> #topic Nils' plans for redesigning roles
15:08:14 <sgallagh> Go on :)
15:08:48 <nils> 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 <nils> There are two aspects here:
15:09:45 <nils> 1) copying and extending manually (which could just be done in a metaclass)
15:10:32 <nils> 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 <sgallagh> OK
15:11:13 <sgallagh> How do you propose to improve upon it?
15:11:13 <nils> 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 <sgallagh> nils: Ignore the firewall piece. twoerner is redesigning that anyway.
15:11:47 <nils> heh, it was minor anyway :)
15:12:25 <nils> anyhow, I'd address 1) by a metaclass which does the copying and extending
15:13:16 <sgallagh> 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 <sgallagh> /me notes that this gets tricky when dealing with how to save the options back to the JSON later.
15:13:59 <nils> I'd need to look at deploy() to make sure.
15:14:13 <sgallagh> particularly with regards to being able to suppress some entries (like passwords)
15:14:27 <nils> let me run my speech and address that then :)
15:14:52 <nils> 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 <nils> E.g.:
15:14:57 <twoerner> nils: maybe we can talk about the issues with ports and services tomorrow
15:15:04 <nils> class FooRole(RoleBase):
15:15:46 <nils> some_setting = Param(default=5)
15:15:57 <nils> password = Param(sensitive=True)
15:16:38 <nils> and we'd have something that converts all the settings/parameters defined on the class into a (JSON) dict
15:17:02 <nils> and the scrubbing function would then unset all parameters that have the sensitive flag set on it
15:17:48 <nils> 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 <sgallagh> 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 <nils> twoerner: ports/services -- it's just something I noticed that you have to set both, but if you redesign this anyway....
15:18:44 <nils> sgallagh: of course, that's why I mentioned it
15:19:13 <sgallagh> 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 <sgallagh> twoerner: Any reservations?
15:20:15 <nils> Of course I can still document the status quo, but if I can get around that I won't lament it :)
15:20:46 <sgallagh> nils: Well, the original task was "get the role infrastructure in shape to allow third-party roles"
15:20:58 <nils> And people who have worked with frameworks that use a similar pattern (e.g. sqlalchemy, toscawidgets) would instantly feel "at home"
15:21:08 <sgallagh> 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 <nils> ah ok, then my idea is even on topic for it :)
15:22:02 <nils> I guess I initially misunderstood a great deal about that task, but I'm progressing
15:22:09 <nils> or so I think
15:22:18 <twoerner> 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 <nils> I don't see why not
15:23:01 <sgallagh> nils: No problem. If we terminate this task in a more maintainable state, I'll call that a victory :)
15:23:47 <nils> twoerner: you know the code better than I do, do you see a stumbling block regarding role setting in DBusRole?
15:26:51 <twoerner> nils: not a stumbling block.. but you will need to adapt RoleBase and DBusRole
15:27:02 <nils> yeah I guess so
15:29:39 <sgallagh> OK, so anything else here?
15:29:48 <twoerner> nope
15:29:58 <sgallagh> #info nils is looking at reworking how default settings works in roles to make it more approachable
15:29:59 <twoerner> I do not think so
15:30:02 <nils> no, I said all I had in mind
15:30:11 <sgallagh> #topic twoerner's magical mystery tour of firewalls
15:30:15 <nils> haha
15:30:28 * twoerner thinks about leaving.. :-)
15:30:43 <nils> http://thedailyorbit.com/wp-content/uploads/2013/11/MysteryMen.jpg
15:30:51 <nils> that's how I picture us now
15:32:52 <sgallagh> nils: Just... don't try to turn invisible
15:32:57 <nils> hahaha
15:33:00 <sgallagh> twoerner: So how is it going?
15:33:07 <nils> sgallagh: pull my finger :P
15:33:29 <sgallagh> How did we get here from a Beatles reference...?
15:33:39 <nils> damn quick
15:33:44 <twoerner> ohh yes
15:33:47 <twoerner> too quick
15:34:25 <twoerner> I only progressed a bit on the firewall pieces for rolekit
15:35:12 <twoerner> the automatic port reshuffle is not planned anymore, right?
15:35:22 <sgallagh> twoerner: "automatic port reshuffle"?
15:35:37 <sgallagh> (That sounds like an awesome Electronica song...)
15:35:39 <twoerner> to move ports to a higher port range
15:36:53 <sgallagh> Oh, you mean by simple offset?
15:36:59 <twoerner> I have to admit that I was working mostly on firewalld again
15:37:07 <twoerner> yes, by simple offset
15:38:36 <sgallagh> Yeah, I don't think that's ever going to be a sane approach
15:38:42 <twoerner> 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 <sgallagh> ok
15:39:06 <twoerner> I have done some nice improvements
15:39:29 <twoerner> like for example to be able to add lots of rules (20000) in 1 second
15:40:14 <sgallagh> Nifty
15:40:40 <twoerner> but this required also some selinux adaptions
15:40:44 <sgallagh> OK, so there's not much to report here. That's fine.
15:40:53 <sgallagh> #topic Open Floor
15:40:54 <nils> twoerner: when are you going to fly past netfilter processing the rules? ;)
15:40:55 <twoerner> yes, not much, I am sorry
15:41:19 <sgallagh> 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 <twoerner> with nftables..
15:42:08 <nils> nothing from me
15:42:22 <sgallagh> Alright then
15:42:30 <sgallagh> Talk to you soon
15:42:35 <sgallagh> #endmeeting