13:00:23 <sgallagh> #startmeeting rolekit (2015-08-25) 13:00:23 <zodbot> Meeting started Tue Aug 25 13:00:23 2015 UTC. The chair is sgallagh. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:00:23 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 13:00:23 <sgallagh> #meetingname rolekitweekly 13:00:23 <sgallagh> #chair sgallagh twoerner nilsph 13:00:23 <sgallagh> #topic init process 13:00:23 <zodbot> The meeting name has been set to 'rolekitweekly' 13:00:23 <zodbot> Current chairs: nilsph sgallagh twoerner 13:00:40 <sgallagh> Hello, folks. Who do we have today? 13:00:59 <nilsph> hi 13:01:06 <twoerner> hi 13:01:52 <sgallagh> OK, the good news is that we have no new issues to triage this week. 13:02:05 <sgallagh> So I think we can just do a status update on current tasks. 13:02:27 <sgallagh> #topic gdbus porting efforts 13:02:43 <sgallagh> twoerner: Mind providing an update here? I know you were working on this yesterday at least. 13:03:52 <twoerner> ok.. I have a daemon using gdbus and I am experimenting with decorators to generate introspetion data easily 13:04:55 <nilsph> twoerner: is that code public somewhere? 13:05:24 <twoerner> but Gio doe snot provide an API to do this directly - it seems I have to create XML and to import this with Gio.DBusNodeInfo.new_for_xml 13:05:34 <nilsph> I mean, it touched "making gdbus palatable to people coming from dbus-python" and I'd like to see how you (want to) use it 13:05:38 <twoerner> nilsph: no.. this is not public.. only here on my machine so far 13:05:41 <nilsph> ok 13:06:14 <sgallagh> You have to create the XML manually? 13:06:22 <sgallagh> That doesn't sound right to me... 13:06:41 <twoerner> yes.. that is ugly 13:06:45 <nilsph> that sounds like dbus to me :) 13:06:57 <nilsph> but yeah, ultimately this isn't something the developer should have to do 13:07:20 <sgallagh> Right, so if you can do the hard work in a decorator, that will make life much easier on the developers. 13:08:48 <sgallagh> s/developers/consumers/ 13:08:48 <nilsph> probs in the metaclass but yeah 13:09:00 <sgallagh> nilsph: Sorry, can't parse that. 13:09:05 <sgallagh> "Probs in the metaclass" 13:09:08 <nilsph> heh 13:09:09 <nilsph> sorry 13:09:29 <nilsph> "probably do the hard work in the metaclass rather than the decorator" 13:09:39 * nilsph ← lazy 13:10:10 <twoerner> sgallagh: yes, the goal is to be able to define properties in a simply way also in roles 13:10:16 <nilsph> but it doesn't really matter where the hard work is done as long as it's not repeated everytime you write something for dbus 13:10:28 <sgallagh> Right 13:11:22 <twoerner> this is possible with using get_property and set_property 13:11:32 <twoerner> so there is only the need to have a nice decorator for it 13:11:46 <twoerner> and also the ability to check values in a simple way.. 13:11:53 <nilsph> you mean like analogous to @property? 13:12:03 <twoerner> yes 13:12:15 <sgallagh> twoerner: Would traitlets be of use here? 13:12:58 <nilsph> what is a traitlet? 13:13:41 <twoerner> sgallagh: yes, might be, but I have to have a closer look 13:13:46 <sgallagh> http://traitlets.readthedocs.org/en/latest/ 13:14:35 <nilsph> what benefits do traitlets have over mere properties? 13:14:58 <sgallagh> nilsph: The onChange callbacks could be used to trigger DBUS signals fairly easily 13:15:04 <nilsph> I mean, we don't have type checking beyond what dbus does in normal methods 13:15:29 <nilsph> mmh 13:15:49 <nilsph> you mean if there's server-side code that changes such an attribute? 13:16:05 <sgallagh> It's just a thought. I don't know much about them; zbsyszek mentioned them during the hackfest and I've been looking into them 13:16:22 <sgallagh> nilsph: For example, yes. 13:16:36 <sgallagh> Like a redeploy() might change a theoretical backup set. 13:16:59 <nilsph> from a first glance, I don't like the syntax of their "dynamic defaults" :) 13:17:22 <sgallagh> We don't have to use them :) 13:17:26 <twoerner> this might be good, as the server has to emit signals manually 13:17:43 <sgallagh> Though it wouldn't be a terrible thing; since we do have dynamic defaults in the Domain Controller Role 13:17:49 <sgallagh> (Detecting the hostname, etc.) 13:19:07 <nilsph> but the rest of it looks a lot like how e.g. SQLAlchemy handles DB columns 13:20:18 <nilsph> I'd like a syntax of `something = Unicode(default=<callable>)` more than having specially-named methods 13:22:51 <sgallagh> OK, so we don't need to design it in this meeting (though we can come back to it after the meeting is over). 13:23:09 <sgallagh> #info twoerner is making progress on gdbus. 13:23:25 <sgallagh> #info We need to write decorators/metaclasses to handle introspection data 13:23:44 <sgallagh> #info Also investigate traitlets as an option for managing properties on DBUS objects 13:23:54 <sgallagh> nilsph: What have you been working on this week? 13:24:53 <nilsph> nothing spectacular :) 13:25:27 <nilsph> changed (most) URLs over to github (issue #34, review #191) 13:25:48 <sgallagh> nilsph: You haven't published that review 13:25:53 <nilsph> haven't I 13:25:57 <nilsph> mmmh 13:25:59 <sgallagh> It's not visible on RB 13:26:00 <nilsph> disappoint 13:26:13 <nilsph> righto 13:26:17 <nilsph> now it's public 13:26:30 <nilsph> don't know what I was thinking, probably not much 13:26:43 <nilsph> some review interactions 13:26:44 <sgallagh> No worries. Happens to the best of us. Also me. 13:27:03 <nilsph> some python-slip stuff and other work not related to rolekit 13:27:13 <sgallagh> ok 13:28:33 <sgallagh> #topic nilsph update 13:28:54 <sgallagh> #info nilsph sent a few minor cleanup patches to Review Board 13:29:06 <sgallagh> #topic sgallagh update 13:29:21 <sgallagh> #info Updated the kickstart patch with review comments; awaiting review 13:29:42 <nilsph> sgallagh: is that the config parser thing? 13:29:50 <sgallagh> #info Working on nulecule app 13:30:08 <sgallagh> nilsph: The config parser is a prerequisite for the kickstart patch 13:30:14 <nilsph> sgallagh: ahh 13:30:17 <twoerner> sgallagh: btw.. rb179 is not applying cleanly for me 13:30:29 <twoerner> patching file src/rolekit/server/io/rolesettings.py 13:30:29 <twoerner> Hunk #1 FAILED at 27. 13:30:29 <twoerner> Hunk #2 FAILED at 80. 13:30:29 <twoerner> 2 out of 2 hunks FAILED -- saving rejects to file src/rolekit/server/io/rolesettings.py.rej 13:30:36 <sgallagh> twoerner: 178->191->179 13:30:41 <sgallagh> Whoops 13:30:44 <sgallagh> twoerner: 178->193->179 13:30:58 <twoerner> ohh... 13:31:04 <twoerner> reading helps :-= 13:31:06 <twoerner> :-)= 13:31:08 <sgallagh> :) 13:31:50 <nilsph> sgallagh: not sure how to review the config parser thing tbh, it "looks okay" to me but ideally I would test it differently than you did 13:32:31 <sgallagh> nilsph: I'd start by diffing it against the RawConfigParser implementation of those functions 13:32:35 <sgallagh> It really doesn't add much code. 13:32:40 <nilsph> okay 13:32:43 <sgallagh> I can't display that diff in RB though 13:32:55 <nilsph> pity it can't be done as a subclass rather than replacing the code wholesale 13:33:07 <sgallagh> It's not a perfect implementation; systemd supports multi-line statements with a backslash at the EOL 13:33:10 <nilsph> not enough hooks for it I suppose 13:33:43 <sgallagh> nilsph: Well, zbzsyzek wrote another implementation with different hooks, but it has different flaws 13:34:01 <sgallagh> This implementation is fine for our purposes, but isn't good enough to go upstream yet, which is why we're carrying it 13:34:47 <nilsph> okie 13:35:23 <nilsph> sgallagh: good if I ACK this now (after reviewing the diff to RawConfigParser) and we deal with problems as they arise? 13:36:30 <sgallagh> Works for me. 13:36:48 <sgallagh> As I said, the plan is for this to eventually go upstream to python-systemd anyway. 13:36:52 <sgallagh> So we'll be the guinea pigs 13:40:13 <sgallagh> Other than that, I'm working on some nulecule-related stuff, mostly targeted at F24 at this point. 13:40:24 <sgallagh> It's not realistic to shove it into F23 Beta at this point. 13:40:44 <sgallagh> So I'll move the milestone. It was F23 Beta/nice-to-have, so I'll make it F24 Alpha 13:42:31 <sgallagh> nilsph: I submitted a patch to just remove 'make archive' to "solve" #37 13:42:52 <sgallagh> If you want to take over adding a real automatic release process, please do 13:42:59 <nilsph> okay 13:43:01 <sgallagh> (I know you mentioned you had something similar for another project) 13:43:15 <nilsph> yeah 13:43:22 <nilsph> but as for the removal, ship it 13:43:27 <sgallagh> Thanks 13:43:35 <sgallagh> OK, that's all I have for updates 13:43:57 <sgallagh> #info deferring nulecule-related work to deliver in Fedora 24 Alpha. Won't be stable in time for F23 Beta. 13:44:01 <sgallagh> #topic Open Floor 13:44:14 <sgallagh> Anything for open floor? 13:45:09 <sgallagh> Going once 13:46:14 <sgallagh> twoerner: Will you be able to get to #33 by next week? 13:47:04 <twoerner> I want to do it as soon as I am finished with the reviews 13:47:43 <sgallagh> OK, great. Thanks. 13:49:58 <twoerner> sgallagh: shouldn't there be a way to clean up a pendingrole? 13:50:25 <sgallagh> twoerner: What do you mean? 13:51:12 <twoerner> with every deploy --next-boot call there will be a new pendingrole - but here is no way to remove one of them 13:51:50 <twoerner> but then we would also need to be able to list them.. 13:52:04 <twoerner> ok.. maybe this is too much 13:52:32 <sgallagh> twoerner: They're auto-removed once they run. 13:53:00 <sgallagh> But yeah, we should probably have a way to remove them if they fail to deploy, though 13:53:54 <sgallagh> OK, let's take this outside the meeting. 13:54:00 <sgallagh> #endmeeting