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